Application-aware IPv6 Networking (APN6) Encapsulation
Zhenbin Li
Huawei Technologies
Beijing
100095
China
lizhenbin@huawei.com
Shuping Peng
Huawei Technologies
Beijing
100095
China
pengshuping@huawei.com
Chongfeng Xie
China Telecom
China
xiechf@chinatelecom.cn
1 June 2022
Application-aware IPv6 Networking (APN6) makes use of IPv6 encapsulation to convey the APN Attribute along with data packets and make the network aware of data flow requirements at different granularity levels. The APN attribute can be encapsulated in the APN header. This document defines the encapsulation of the APN header in the IPv6 data plane.

Introduction
Application-aware Networking (APN) is introduced in [I-D.li-apn-framework] and [I-D.li-apn-problem-statement-usecases]. APN conveys an attribute along with data packets into the network and make the network aware of data flow requirements at different granularity levels. Such an attribute is acquired, constructed as a structured value, and then encapsulated in the packets. Such a structured value is treated as an opaque object in the network, to which the network operator applies policies in various nodes/service functions along the path, providing corresponding services.
[I-D.li-apn-header] defines the application-aware networking (APN) header which can be used in different data planes to carry the APN attribute. This document defines the encapsulation of the APN header in the IPv6 data plane.

Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 RFC 2119 RFC 8174 when, and only when, they appear in all capitals, as shown here.

Terminologies
APN: Application-aware Networking
APN6: Application-aware IPv6 Networking, i.e., the data plane of APN is IPv6
APN Attribute: Application-aware information. It is added at the edge devices of an APN domain along with any tunnel encapsulation.
APN ID: Application-aware Networking ID
APN Para: Application-aware Networking Parameters
SRH: Segment Routing Header RFC 8754

The APN Option
To support Application-aware IPv6 networking, one IPv6 Header option RFC 8200, the APN option, is defined.
The APN option has the following format:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |Opt Type = TBD1|  Opt Data Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
.                                                               .
.                       APN Header (Variable)                   .
.                                                               .
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1. The APN Option

where:
o Opt Type: Type value is TBD1 (suggested value 0x13), an 8-bit unsigned integer. Identifier of the type of this APN Option.
o Opt Data Len: An 8-bit unsigned integer. Length of the Option Data field of this option, that is, length of the APN header.
o APN Header: Option-Type-specific data. It carries the APN header. Variable-length field as specified in [I-D.li-apn-header].

Locations for the APN Option
The APN IPv6 Header option can be placed in two locations in an IPv6 packet header RFC 8200 depend upon the scenario and implementation requirements. These are defined in the subsections below.

IPv6 Hop-by-Hop Options Header (HBH)
The APN option can be carried in the IPv6 Hop-by-Hop Options Header. By using the HBH Options Header, the information carried can be read by every node along the path.

IPv6 Destination Options Header (DOH)
The APN option can be carried in the IPv6 Destination Options Header. By using the DOH Options Header, the information carried can be read by the destination node but would not normally be seen by other nodes along the path.

APN TLV for the SRH
[RFC8754] defines the segment routing header (SRH) and the SRH TLV. The SRH TLV provides meta-data for segment processing. The APN header can be placed in the SRH as the value of one type of SRH TLV following the Segment List. By using the SRH, the information carried can be read by the specified segment destinations along the SRv6 path.
The APN TLV is OPTIONAL and has the following format:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Type = TBD2  |     Length    |D|        RESERVED             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
.                                                               .
.                       APN Header (Variable)                   .
.                                                               .
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 2. The APN SRH TLV

where:
o Type: TBD2 (suggested value 0x13).
o Length: The length of the variable length data in bytes.
o D: 1 bit. When it is set, it indicates the Destination Address verification is disabled due to use of a reduced segment list.
o RESERVED: 15 bits. MUST be 0 on transmission and ignored on receipt.
o APN Header: It carries the APN header as specified in [I-D.li-apn-header]. A variable-length field.

IANA Considerations
IANA is requested to assign two code points as below.

IPv6 Header Option
IANA is requested to assign an IPv6 Header Option as follows:

    Hex     Binary Value
   Value    act chg  rest          Description              Reference
   -----    --- --- -----  ----------------------------  ---------------
    0x13     00   0 10011  Application-aware Networking  [this document]

SRH TLV Type
IANA is requested to assign an SRH TLV Type from the range of type values for TLVs that do not change en route (2-127) as follows:

   Value          Description                 Reference
   -----   ----------------------------   -----------------
    0x13   Application-aware Networking    [this document]

Security Considerations
The Security Considerations are described in [I-D.li-apn-problem-statement-usecases].

Normative References

Informative References
[I-D.li-apn-framework]
[I-D.li-apn-problem-statement-usecases]
[I-D.li-apn-header]
[RFC8754]