[e2e] Port numbers in the network layer?

Joe Touch touch at isi.edu
Thu Apr 25 11:46:38 PDT 2013

One issue is the need for ports; there's a summary of that here:


Its use evolved to overload:

	- part of the stream identifier used to associate groups
	of packets (with IP addresses)

	- an identifier for the upper layer protocol (service)
	(the dest port, in all UDP packets or in the TCP SYN)

FWIW, one way to decouple these two was described here:


It seems fairly clear that a layered architecture needs agreement on 
what the layers are. Indications of a particular layer sequence can 
occur anywhere - in band at any layer, or out of band.

Consider that ethernet ethertype 0x0800 was originally intended to mean 
"IP", allowing the IP version number to be determined at the IP layer, 
but packet demuxing efficiency concerns resulted in a new ethertype for 
IPv6 (0x86DD). So the ethertype includes not only the upper layer 
protocol, but it's redundant with the version at the next layer.

Similarly we could allocate a new ethertype to "IPv4:TCP" or "IPv4:SCTP".

So any "mix and match" architecture needs to have some indication of 
what the particular mix is, but it need not be cascaded layer-by-layer.


More information about the end2end-interest mailing list