[pim] Re: New I-D: draft-karstens-pim-multicast-application-ports

Toerless Eckert <tte@cs.fau.de> Mon, 22 July 2024 01:32 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: pim@ietfa.amsl.com
Delivered-To: pim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 134CBC18DB84 for <pim@ietfa.amsl.com>; Sun, 21 Jul 2024 18:32:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.656
X-Spam-Level:
X-Spam-Status: No, score=-1.656 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZPTbuY7iq0GW for <pim@ietfa.amsl.com>; Sun, 21 Jul 2024 18:32:03 -0700 (PDT)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [131.188.34.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 23C45C1840EC for <pim@ietf.org>; Sun, 21 Jul 2024 18:32:02 -0700 (PDT)
Received: from faui48e.informatik.uni-erlangen.de (faui48e.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:51]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTPS id 4WS2nW03qKznkQf; Mon, 22 Jul 2024 03:31:59 +0200 (CEST)
Received: by faui48e.informatik.uni-erlangen.de (Postfix, from userid 10463) id 4WS2nV6N9FzkwlM; Mon, 22 Jul 2024 03:31:58 +0200 (CEST)
Date: Mon, 22 Jul 2024 03:31:58 +0200
From: Toerless Eckert <tte@cs.fau.de>
To: "Karstens, Nate" <Nate.Karstens@garmin.com>
Message-ID: <Zp22jmIK_x5axc7w@faui48e.informatik.uni-erlangen.de>
References: <CH3PR04MB8794BC93BD235037DA7D4E1D9CDB2@CH3PR04MB8794.namprd04.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CH3PR04MB8794BC93BD235037DA7D4E1D9CDB2@CH3PR04MB8794.namprd04.prod.outlook.com>
Message-ID-Hash: ETB5HQINLZKF2QRDE2ITNAIOOIMJLBWZ
X-Message-ID-Hash: ETB5HQINLZKF2QRDE2ITNAIOOIMJLBWZ
X-MailFrom: eckert@i4.informatik.uni-erlangen.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-pim.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "pim@ietf.org" <pim@ietf.org>, Stuart Cheshire <cheshire@apple.com>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [pim] Re: New I-D: draft-karstens-pim-multicast-application-ports
List-Id: Protocol Independent Multicast <pim.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/pim/eyD_2v1t0bUObYA4lcth59gA1Ck>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pim>
List-Help: <mailto:pim-request@ietf.org?subject=help>
List-Owner: <mailto:pim-owner@ietf.org>
List-Post: <mailto:pim@ietf.org>
List-Subscribe: <mailto:pim-join@ietf.org>
List-Unsubscribe: <mailto:pim-leave@ietf.org>

Nice idea. Not sure how important and crucial it is. Some thoughts:

I am worried if multicast applications may not run into 49150/49151 being pre-bound
by some unicast app - without SO_REUSE*.

COuld we not find two other ports that are not at risk of this use collisions ?

It would be good to validate the a actual behavior of different relevant OS stacks.
For example, the drafts says "SO_REUSEADDR and/or SO_REUSEPORT". Sounds like nob ody
knows exactly whats required and/or OS implementations differing correctly or incorrectly
versus POSIX. Or POSIX being unspecific.

Early on, the kernel/socket API libraries did not filter messages. It would really be nice
to know how well kernel level filtering because of different multicast addrs now works.
Because if we start to reuse the same port, we will have in high-speed application potentially
create a lot more unnecessary punting of packets to use-level and filtering there - which
would render the benefits of this scheme questionable. a lot more
There 

I would suggest to not imply that ports may not be known anymore. We have built enough
signalling where the port-numbrer is signalled, and while we could technically avoid that
and assume the 49150/49151 default, i'd rather take that step only after a lot more deplopyment
experience.

But most importantly: I am primarily worried about the filtering when using SSM.
I would fear that filtering of (S1,G) does not happen if another process susbscribes to
(S2,G). If thats the case, then the filtering by port number which does very work well
in the kernel may be the saving grace to avoid unnecessary punting and dropping at process
level.

Cheers
    Toerless

On Tue, Jul 09, 2024 at 07:25:50AM +0000, Karstens, Nate wrote:
> Hello, pim,
> 
> I wanted to make everyone aware of a new Internet Draft, available here:
> 
> https://datatracker.ietf.org/doc/draft-karstens-pim-multicast-application-ports/
> 
> This document covers the related presentation at IETF 118 (see https://www.youtube.com/embed/QDiHD9I64T4?start=3338&end=3530)
> 
> Abstract:
> 
> This document discusses the drawbacks of the current practice of assigning a UDP port to each multicast application. Such assignments are redundant because the multicast address already uniquely identifies the data. The document proposes assigning two UDP ports specifically for use with multicast applications and lists requirements for using these ports.
> 
> Chairs - can we please have some time to discuss this during the pim session at IETF 120?
> 
> Any feedback would be greatly appreciated!
> 
> Thanks,
> 
> Nate Karstens
> Garmin International
> National Marine Electronics Association

-- 
---
tte@cs.fau.de