Re: Port numbers in the network layer?
Joe Touch <[email protected]>
| Newsgroups | gmane.network.end2end |
|---|---|
| Message-ID | <[email protected]> |
One issue is the need for ports; there's a summary of that here: http://tools.ietf.org/html/draft-ietf-tsvwg-port-use-01 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: http://www.isi.edu/touch/pubs/draft-touch-tcp-portnames-00.txt 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. Joe