Re: Purpose of Port 0.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi James,


On 2/21/2017 12:05 PM, james woodyatt wrote:
On Feb 20, 2017, at 08:10, Joe Touch <touch@xxxxxxx> wrote:

There is no IANA registry for source ports, nor should there be. Ports in the incoming first-contact are swapped, as indicated in RFCs 768 and 793. Source ports indicate "who to call back", and "0" is indicated in UDP (RFC768) as "nobody" and TCP (RFC793)

p1. Port zero is currently Unassigned for the SCTP and DCCP standard transports and all the other non-standard transports listed in the Protocol Numbers registry.

Per RFC6335, there is one registry for all transport port numbers. "RESERVED" in that registry applies to all transports.

p2. Port zero is a System Port, so the process for assigning its IANA registration is RFC 6335, section 8.1.2, which says:
Agreed.

p3. Port zero is already reserved for SCTP by RFC 4960. IANA just needs to correct its registry to show that port zero is Assigned.
Per section 14.5, SCTP uses the existing transport port registry. It lists a set of assignments starting at port 9, but does not request assignment of 0.

Section 3.1 prohibits the use of 0 as either source or destination port, but that's not an assignment. That's a prohibition, and not indicated as a reservation in the IANA Considerations (Sec 14).

p4. Port zero is not reserved for DCCP by RFC 4340, so port zero remains Unassigned there at this point.

It remains RESERVED (as per the ports registry) but potentially assignable to DCCP.

p5. Port zero is already reserved in their respective RFCs for a few of the non-standard transports listed in the Protocol Numbers registry, but being non-standard transports, there’s no way to assign them for those protocols under the procedure in RFC 6335.

"RESERVED" would involve IANA Considerations, and that act would have resulted in their being recorded in the IANA registry.

Prohibitions within the protocol do not result in IANA actions.

I’m guessing the POSIX community could attempt to write an Internet Draft that expressly assigned port zero across all known and unknown transport protocols to the “unspecified service number” semantic that it uses,

IMO, an RFC that needs an API to pass the value "unspecified" should indicate just that. It would be far out of scope for an RFC to indicate the *value* passed in an API to indicate that parameter.

Joe

[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]