Ballot for draft-ietf-intarea-multicast-application-port

Discuss

Gunter Van de Velde
Ketan Talaulikar

Yes

Éric Vyncke

No Objection

Andy Newton
Charles Eckel
Christopher Inacio
Deb Cooley
Gorry Fairhurst
Jim Guichard
Mahesh Jethanandani

No Record

Mike Bishop
Mohamed Boucadair
Roman Danyliw
Tommy Jensen

Summary: Has 2 DISCUSSes. Needs 2 more YES or NO OBJECTION positions to pass.

Gunter Van de Velde
Discuss
Discuss (2026-08-04) Sent
Hi Authors, WG,

# Gunter Van de Velde, RTG AD, comments for draft-ietf-intarea-multicast-application-port-08

# line numbers, if any are used, are rendered from the idnits tool found at https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-intarea-multicast-application-port-08.txt

# Thank you to the authors and the working group for this document. The idea is useful, and the document is generally easy to read. I do, however, have a few concerns about the host behavior and the way applications are identified.

DISCUSS#1. Sections 2, 4, and 7: SSM demultiplexing is incomplete

Section 2 correctly says that an SSM application is identified by the combination of the source address and destination multicast address. In RFC 4607 terminology, this is an SSM channel identified by (S,G).

However, Section 4 only requires an application to discard datagrams that do not have the expected destination multicast address. It does not require checking the source address. Section 7 has the same problem in its firewall guidance: it only recommends matching the destination multicast address.

This means that traffic from a different source using the same SSM group and shared port could be delivered to, or accepted by, the wrong application. This conflicts with the SSM service model in RFC 4607, where delivery is based on the source address, destination address, and receiving interface.

Please update the requirements so that:

* ASM applications filter on the destination multicast group and, where relevant, its scope or receiving interface.
* SSM applications filter on the full (S,G) channel and, where relevant, the receiving interface.
* The firewall guidance applies the same distinction.

RFC 3678 should also be referenced. Its protocol-independent API represents an SSM subscription using `group_source_req`, containing `gsr_interface`, `gsr_group`, and `gsr_source`.

DISCUSS#2. Sections 3 and 4: the required socket behavior is not sufficiently portable or precisely defined

The document requires hosts and applications to use `SO_REUSEADDR` “and/or” `SO_REUSEPORT` however i wonder if precise enough for this document.

* It is not clear whether either option is sufficient or whether the choice is platform-dependent.
* I seem to recall that cited POSIX specification (POSIX.1-2017 or current POSIX.1-2024) defines `SO_REUSEADDR`, but not `SO_REUSEPORT`.
* These options have different semantics on Linux, BSD/macOS, and Windows.
* Windows also has `SO_REUSE_MULTICASTPORT`, which is specifically intended for sharing a multicast-only port.
* Enabling one of these options does not, by itself, guarantee that another application can bind the port or that datagrams will be delivered to the correct application.

Possibly the POSIX, Linux, BSD/macOS, and Windows mechanisms could be described as informative implementation examples. If the document remains to mandate particular APIs or socket options, it needs to specify the choices and expected behavior per API more precisely.

DISCUSS#3. Sections 1 and 2: multicast addresses are not inherently unique application identifiers

The central premise is that the multicast address uniquely identifies the application. That can be true only when the address has been allocated or selected in a way that avoids collisions within the relevant multicast scope.

For example, few items to consider documenting:

* how an application obtains its multicast address;
* how two ASM applications avoid choosing the same group;
* which IPv4 and IPv6 multicast ranges may be used;
* whether the port may be used with link-local, interface-local, administratively scoped, or global multicast;
* how the multicast scope or zone is included in the application identity.

This is especially important for IPv6 scoped multicast. The same multicast address can be meaningful in more than one scope zone, so the address alone is not always sufficient to identify an application on a multi-homed host. The receiving interface or zone may also be needed.

The document should state the address-allocation and collision-avoidance assumptions under which the shared port can be used. It should also explain what happens if two applications select the same ASM group. Relevant references include RFC 2365, RFC 3307, RFC 4007, RFC 4291, RFC 5771, RFC 6308, and RFC 7346.

Without this, the document moves the uniqueness requirement from the UDP port space into the multicast address space without specifying how uniqueness is maintained.

Kind Regards,
Gunter Van de Velde
Routing AD
Ketan Talaulikar
Discuss
Discuss (2026-07-30) Sent
Thanks to the authors and the WG for the work on this document.

I have one point that I would like to discuss, and it is in the IANA
Considerations section rather than in the mechanism.

<discuss-1> Section 8

304	   IANA is requested to update its "Application for Service Names and
305	   User Port Numbers" [IANA-APP] to reference this document and ask the
306	   applicant if the Multicast Application Port may be used.

Is this guidance to the Designated Experts who perform Expert
Review of port applications, or is it a change to the public web form? I
believe the former is right. The substance of the ask - whether a given
applicant should be using the shared port instead of consuming a new
assignment - seems like a review judgment and not a data field. An applicant
self-assessing against a multicast identification model they may never have
encountered will produce an answer of limited value, whereas the port experts
are positioned to apply it. Form content is also IANA's operational matter, and
an RFC that specifies form wording couples a published standard to a web page
that IANA may reasonably wish to change.

I am raising this as a discussion rather than prescribing the fix, because it
needs a conversation with IANA and the port Designated Experts before the text
can be settled. Two options:

(a) Preferred - recast the request as guidance to the Designated Experts:
state that an applicant requesting a port for a multicast application
should be asked why the Multicast Application Port is not suitable, and
that the Designated Experts retain full discretion. Revision -04 carried
exactly such a reservation at the end of its Section 6, stating that the
document does not prohibit future port assignments for multicast
applications and that the review team retains case-by-case discretion.
That sentence is absent from -08 - was its removal deliberate? If the
outcome is expert guidance, restoring something close to it is likely part
of the fix, and the form-change request would then be dropped.

(b) If the form route is retained, specify exactly what should appear on the
form, and explain why the form rather than expert guidance is the right
vehicle. Also, is this something that can be specified or is it something in
IANA's remit?

Whether the guidance in (a) belongs in this document or in BCP 165 connects to
my comment below on the absence of RFC 6335 from the references. The two are
one question about how this document means to reach the port assignment
process, so please read them together.
Comment (2026-07-30) Sent
Please find below some comments on this document inline in the idnits output of
v08. Lookout for the <EoRv08> tag at the end to ensure you are seeing the full
review.


89	   and [RFC7605], Section 5).  With Any-Source Multicast (ASM; see
90	   [RFC1112] and [RFC4607]), the use of a port number to multiplex
91	   applications is unnecessary because the destination multicast address
92	   already provides a unique identifier for the application.  The same
93	   applies to Source-Specific Multicast (SSM; see [RFC4607]) because of
94	   uniqueness when both source unicast address and destination multicast
95	   address are taken together.

<major> This is the premise the document rests on, and I agree with it as
stated. What the document never states is which multicast address ranges and
scopes the Multicast Application Port is intended for. I am raising the
following as scoping considerations for the authors and the WG rather than as a
defect with a prescribed fix.

Should the document say anything about the IPv4 Local Network Control Block,
224.0.0.0/24, and the equivalent IPv6 interface-local and link-local scopes?
Traffic to those addresses is processed by router control planes rather than
forwarded, so a general purpose application port used in that range has a
different cost profile from one used in scoped or global space.

More generally, was the WG polled on whether use of the port should be
scoped to particular ranges, or is leaving it unscoped deliberate?

116	   An application sending multicast messages using the Multicast
117	   Application Port as the destination port MAY also send unicast
118	   messages using a different destination port.  One possible benefit of

<major-editorial> A BCP 14 keyword in the Introduction, where nothing is in
fact being specified - the sentence is descriptive. Perhaps s/MAY/may, or move
the statement into Section 2 if it is intended to be normative. My preference
is the former.

152	   Hosts SHALL require applications using this port to use it non-
153	   exclusively.  In practice, this means hosts using POSIX-like socket
154	   APIs would require applications to set the SO_REUSEADDR and/or
155	   SO_REUSEPORT socket options before binding the socket [POSIX].  This
156	   ensures that applications developed on a conformant host will also
157	   work on a non-conformant host.

<minor> "conformant host" and "non-conformant host" are first used here and are
never defined, and there is no Terminology section. The two terms then carry
the entire normative structure of Section 4 and part of Section 7, so a reader
has to infer that "conformant" means "meets the requirements of Section 3".

Please define both explicitly. A one-line definition at the head of this
section or of Section 4 would do, or a short Terminology subsection alongside
Section 1.1 - and if you add one, "wildcard address" belongs there too, per my
next comment.

159	   Hosts SHALL prevent use of the port with the wildcard address (see
160	   [RFC3493], Section 3.8) by having the socket bind operation return an
161	   error code.

163	   Hosts SHALL prevent applications from sending non-multicast packets
164	   using the Multicast Application Port as either a source or
165	   destination port by having the send operation return an error code.

<major> Two problems with the wildcard requirement in the first of these
paragraphs.

First, Section 3.8 of RFC 3493 is titled "IPv6 Wildcard Address" and defines
in6addr_any and IN6ADDR_ANY_INIT. It mentions the IPv4 constant INADDR_ANY only
in passing and does not define it. Since Section 1 states at line 109 that the
port can be used with both IPv6 and IPv4, this normative requirement is scoped
to both address families while the cited text covers only one.

Second, and more substantively, I believe the apposite text is Section 5.2 of
RFC 3493 rather than Section 3.8. Section 5.2 notes that to receive multicast
datagrams a process must join the group and bind the UDP port, and that some
processes also bind the group address to the socket in order to prevent other
datagrams sent to that port from being delivered. That is precisely the
mechanism this section is mandating, and RFC 3493 characterises it as an
optional practice rather than as the norm. Making the wildcard bind fail
therefore converts an optional convention into mandatory host behaviour, and it
is a behavioural change for existing applications that the document should
state.

Suggestions: cite Section 5.2 of RFC 3493 as the mechanism; cover both address
families by naming INADDR_ANY and in6addr_any, or by defining "wildcard
address" in terminology per my previous comment; and add a sentence
acknowledging that applications will need to bind the group address rather than
the wildcard, which is not today's common practice.

<minor> Both of these paragraphs require a host to signal refusal by returning
"an error code" without stating which one. Two conformant hosts could return
different errors, and an application then cannot distinguish "this host
enforces the port rules" from an unrelated failure.

Either name the expected values - for example EADDRNOTAVAIL for the bind case
and EACCES or EINVAL for the send case - or state explicitly that the specific
error is implementation-defined. The latter is acceptable, is this possible to
address?

181	   Applications running on a non-conformant host SHALL discard all
182	   datagrams received on the Multicast Application Port that do not have
183	   the multicast address used by the application.

<minor> Section 2 establishes that applications are identified
"by the destination multicast address (ASM) or by the combination of source
unicast address and destination multicast address (SSM)". This normative filter
drops the source address, so for SSM it is incomplete against the document's
own identification model. The firewall guidance in Section 7 has the same gap -
see my comment there.

Suggestion: extend the filter to read to the effect of "that do not have the
multicast address used by the application, and, for SSM, that are not from the
source address used by the application".

267	   Firewall rules referencing ports are typically intended to match
268	   specific applications for filtering and QoS.  Because applications
269	   using the Multicast Application Port are identified by both port and
270	   destination multicast address, rules referencing the Multicast
271	   Application Port SHOULD also consider the destination multicast
272	   address.  A firewall rule that references the Multicast Application
273	   Port without also considering the destination multicast address would
274	   match all applications using the Multicast Application Port, which is
275	   too broadly-scoped.

<major> Same as my comment on Section 4: this guidance drops the source
address, so for SSM it is incomplete against the identification model in
Section 2. Please add the source address for the SSM case here as well.

<minor> "for filtering and QoS" is the only trace in this document of the
impact on network devices that classify or police traffic by port, and it sits
inside Security Considerations. The Transport area review team made a broader
point on -07: rules that classify flows and assign treatments will need
criteria other than the destination port in order to separate application flows
that share this port.

From an operator standpoint the affected set is wider than QoS. Port-based ACLs
on PE and aggregation devices, DSCP classification and policing, IGMP and MLD
snooping policy, and flow accounting and monitoring all lose their only Layer 4
discriminator for multicast traffic and have to move to group-address-based
policy. Section 5 of RFC 7605 makes the general point that the document can
lean on here, observing that intermediate devices on a path use port numbers to
monitor available services, to monitor traffic, and to intercept it.

Suggestion, which also takes care of a placement point: add an Operational
Considerations section that consolidates the firewall material currently in
Section 5 together with traffic classification, policy and monitoring impact,
and move this QoS clause there out of Security Considerations. As things stand,
operational material is split between a standalone Section 5 sitting ahead of
Security Considerations and this clause inside it; consolidating it after the
requirements sections would read better and would give the Section 5 material a
proper home.

333	10.1.  Normative References

<major> RFC 6335 is referenced nowhere in this document - not in Section 10.1
and not in Section 10.2 - while RFC 7605, the other half of the same BCP, is
cited three times. The subject of this document is port assignment practice,
and Section 8 asks IANA to change the port application process. RFC 6335
defines that registry and its procedures. Section 1 of RFC 7605 is explicit
that the two together are known as BCP 165, and that RFC 7605 does not change
the assignment procedures described in RFC 6335.

The request in Section 8 is a change to the application process for the registry, 
which is RFC 6335's territory. The question for the authors and the port experts is
whether this document needs formally to Update RFC 6335, or whether the
contents of the application form are outside the scope of the RFC such that a
reference plus the IANA request suffices. I expect the latter is the answer,
but the document should reference RFC 6335 either way, and should say which it
intends.

This is the other half of my DISCUSS above - please read the two together.

One closing note: please take this as someone that has not been involved in or
aware of the past discussions in the WG, and more importantly has not been
following intarea and transport work. I am reasonably confident on the
multicast addressing and operational points; on the rest, feel free to just
tell me that I am wrong and/or oversimplifying :-)

<EoRv08>
Éric Vyncke
Yes
Andy Newton
No Objection
Comment (2026-08-04) Not sent
Many thanks to Takahiro Nemoto for the ARTART review.
Charles Eckel
No Objection
Comment (2026-08-04) Sent
Thanks to Takahiro Nemoto for the ARTART review. I would greatly appreciate it if the authors respond to concerns raised with respect to SSM.

I support Gunter's DISCUSS.
Christopher Inacio
No Objection
Comment (2026-08-04) Sent
Thanks for the relatively short and concise draft.

First, I support the discusses of my fellow ADs making particularly good points about socket options, portability, etc.

I would like to focus on the following point though: the authors discuss about traversing firewalls and that is mostly focused on host-based firewalls.  There is mention of network firewalls.  What isn't mentioned at all is NAT devices and any other type of middlebox doing address translation.  Since the NAT might be changing some of the addresses, even if it isn't discussed in the general text, in context of network based firewalls it is strangely missing in my opinion.  This may complicate things - should a NAT+firewall multicast the packet to its link local network?  What are the right addresses in that case? What about collisions on that case since there are potentially multiple destination hosts in a NATed network segment.
Deb Cooley
No Objection
Gorry Fairhurst
No Objection
Comment (2026-08-05) Sent for earlier
Thank you for preparing this document.  I have the following COMMENT on this document:

The present revision of this I-D does not consider the use of the port value as a part of a classifier for differentiating the flow traffic class (i.e., in a network node). I think this could be another reason why a specific port value might be of use in current deployments, and seems (to me) to sit at the same level as the firewall use-case. Systems could use the IP group destination address for such traffic differentiation in updated to do so. 

I would appreciate feedback on your thoughts and any proposed changes. I suspect that a suitable remedy could be to add section similar to the firewall case to describe the use as a part of a traffic classifier to provide QoS.

In addition, I support the DISCUSS of my Gunter relating to ASM/SSM and the corresponding filters and socket options.

Best wishes,
Gorry
(WIT AD)
Jim Guichard
No Objection
Mahesh Jethanandani
No Objection
Comment (2026-08-03) Sent for earlier
Section 8, IANA Considerations:

305 >    IANA is requested to update its "Application for Service Names and
306 >    User Port Numbers" [IANA-APP] to reference this document and ask the
307 >    applicant if the Multicast Application Port may be used.

I support Ketan's DISCUSS on this passage. RFC 6335 confirms that Designated Expert review, not an
applicant-facing form, is where port-request judgment actually lives:
"the internal procedures of 'Expert Review' teams, including that of IANA's
port review team, are not documented in any RFC." That supports Ketan's
option (a) -- recast this as guidance to the Designated Expert -- over
retaining the form-question approach, since the form puts the judgment call
in the hands of the applicant rather than the reviewer who is actually
positioned to make it.

---

Section 5, Firewall Considerations:

188 >    Many network firewalls, which operate on network infrastructure, and
189 >    host firewalls, which operate on individual hosts, are configured to
190 >    accept incoming messages as long as there was first an outgoing
191 >    message using the same set of ports (see [RFC7288] for more
192 >    discussion).

I read RFC 7288 end to end looking for the "further discussion" this points
to and didn't find it -- neither the stealth-mode section nor the host-
firewall sections discuss outbound-triggered pinhole creation or its risks;
RFC 7288 is about where firewall policy should architecturally live, not
about pinhole mechanics. The argument this document makes in the rest of
Section 5 is sound on its own terms and doesn't actually need RFC 7288 to
support it. I'd suggest either dropping the citation or pointing to a source
that actually covers the mechanism.

---

Section 7, Security Considerations:

282 >    Systems that use POSIX-like socket APIs typically have restrictions
283 >    on binding multiple sockets to the same port.  This can serve as a
284 >    rudimentary security mechanism in that other local applications
285 >    cannot eavesdrop on the multicast stream.  A necessary side-effect of
286 >    using the Multicast Application Port is that applications can no
287 >    longer rely on these security mechanisms.  These applications may
288 >    want to incorporate additional security measures into their protocol.

This names a real property the document removes -- exclusive-bind isolation
against local eavesdropping -- but the response is "may want to," which is
softer than RFC 3552 asks for when a document is knowingly giving up a
security property. My preference would be a SHOULD-level statement:
applications for which local confidentiality or integrity matters SHOULD
apply application-layer authentication or encryption. The document already
makes the sharper point right after this passage, that local eavesdropping
is "typically no worse than eavesdropping in-flight" -- that's the
justification for a real recommendation, not just a footnote to one.

----------------------------------------------------------------------
NIT
----------------------------------------------------------------------

All comments below are about very minor potential issues that you may
choose to address in some way - or ignore - as you see fit.

Section 10.2, POSIX reference:

350 >    [POSIX]    The Open Group, ""The Open Group Base Specifications",
351 >               Issue 7, 2018 edition", December 2001,
352 >               <https://pubs.opengroup.org/onlinepubs/9699919799/>.

Mismatched nested quotation marks, and "December 2001" doesn't match "2018
edition." Worth a clean citation of Issue 7 (2018).
Mike Bishop
No Record
Mohamed Boucadair
No Record
Roman Danyliw
No Record
Tommy Jensen
No Record