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