Internet-Draft | APN6 Encapsulation | July 2023 |
Li, et al. | Expires 11 January 2024 | [Page] |
- Workgroup:
- Network Working Group
- Internet-Draft:
- draft-li-apn-ipv6-encap-07
- Published:
- Intended Status:
- Standards Track
- Expires:
Application-aware IPv6 Networking (APN6) Encapsulation
Abstract
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.¶
Status of This Memo
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 11 January 2024.¶
Copyright Notice
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
1. 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.¶
2. 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 [RFC2119] RFC 8174 [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
3. 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¶
4. The APN Option
To support Application-aware IPv6 networking, one IPv6 Header option RFC 8200 [RFC8200], 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].¶
5. Locations for the APN Option
The APN IPv6 Header option can be placed in two locations in an IPv6 packet header RFC 8200 [RFC8200] depend upon the scenario and implementation requirements. These are defined in the subsections below.¶
5.1. 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.¶
5.2. 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.¶
6. 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.¶
7. Implementation Status
Huawei:¶
Huawei hardware platforms supports APN with current status as follows:¶
o Huawei ATN with VRPV8 shipping code.¶
o Huawei CX600 with VRPV8 shipping code.¶
o Huawei NE40E with VRPV8 shipping code.¶
o Huawei ME60 with VRPV8 shipping code.¶
o Huawei NE5000E with VRPV8 shipping code.¶
o Huawei NE9000 with VRPV8 shipping code.¶
o Huawei NE8000 with VRPV8 shipping code.¶
Tshinghua University:¶
o Linux¶
BUPT (Beijing University of Posts and Telecommunications):¶
o P4¶
8. IANA Considerations
IANA is requested to assign two code points as below.¶
8.1. 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]¶
8.2. 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]¶
9. Security Considerations
The Security Considerations are described in [I-D.li-apn-problem-statement-usecases].¶
10. References
10.1. Normative References
- [I-D.li-apn-framework]
- Li, Z., Peng, S., Voyer, D., Li, C., Liu, P., Cao, C., and G. S. Mishra, "Application-aware Networking (APN) Framework", Work in Progress, Internet-Draft, draft-li-apn-framework-07, , <https://datatracker.ietf.org/doc/html/draft-li-apn-framework-07>.
- [I-D.li-apn-header]
- Li, Z., Peng, S., and S. Zhang, "Application-aware Networking (APN) Header", Work in Progress, Internet-Draft, draft-li-apn-header-04, , <https://datatracker.ietf.org/doc/html/draft-li-apn-header-04>.
- [RFC2119]
- Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
- [RFC8174]
- Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
- [RFC8200]
- Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, , <https://www.rfc-editor.org/info/rfc8200>.
- [RFC8754]
- Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header (SRH)", RFC 8754, DOI 10.17487/RFC8754, , <https://www.rfc-editor.org/info/rfc8754>.
10.2. Informative References
- [I-D.li-apn-problem-statement-usecases]
- Li, Z., Peng, S., Voyer, D., Xie, C., Liu, P., Qin, Z., and G. S. Mishra, "Problem Statement and Use Cases of Application-aware Networking (APN)", Work in Progress, Internet-Draft, draft-li-apn-problem-statement-usecases-08, , <https://datatracker.ietf.org/doc/html/draft-li-apn-problem-statement-usecases-08>.