IPvB performance header
William Allen Simpson
william.allen.simpson at gmail.com
Fri Mar 25 15:02:04 UTC 2022
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.
More information about the NANOG
mailing list