[e2e] Port numbers in the network layer?
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