This was the IPvB (nee original IPv6) *performance* header. We required that each IP variant have its own link layer designation. Therefore, the IP version number wasn't needed. We could simply set two upper bits to a value (0) that would distinguish it from every extant IP version. Also, many of us thought that the type of service was poorly defined and rarely used. The longer length field was requested by Fibre Channel, and later used for InfiniBand. Finally, the Flow Label was supposed to aid in NAT mapping, without the underlying transport layer. One field to rule them all. No chains of headers. High performance. 3.2. Performance Header Format +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | V | Maximal Length | +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | Flow Label | Hop Limit | +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | | + Source + | | +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | | + Destination + | | +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | Security Parameters Index (SPI) | A +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | Sequence Number | A +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | | A E ~ Transform Data ~ A E | | A E +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ ... Padding | A E +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ | | ~ Authenticator ~ | | +‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+‐+ For most fields, see above. Fields to be authenticated are designated by a trailing A. Fields to be encrypted are designated by a trailing E. V 2 bits. Always 0. This corresponds to the unused IP Versions 0 to 3, and is readily distinguished from all extant versions. Maximal Length 30 bits. The length of the datagram, including internet header(s) and payload data. The maximum length supported by the Destination is negotiated for each Flow Label. Flow Label 24 bits. The Flow Label is relative to the IP Source and Destination pairing, and assigned by the flow’s originating node. The Flow Label subsumes the Service and Next Header information. The Flow Label MUST NOT be altered by an intervening router. Routers that do not support Flow Label functionality, or lack state for this Source and Flow Label combination, MUST treat the Service as undifferentiated. Mechanisms for assignment and reservation of Flow Labels are beyond the scope of this specification.