Internet-Draft | APN Deployment Status | March 2024 |
Liu, et al. | Expires 5 September 2024 | [Page] |
This draft provides an overview of Application-aware Networking (APN) deployment status. It lists various APN features that have been deployed in the production networks. It also provides an overview of APN implementation status.¶
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 5 September 2024.¶
Copyright (c) 2024 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.¶
This draft provides an overview of Application-aware Networking (APN) deployment status. It lists various APN features that have been deployed in the production networks. It also provides an overview of APN implementation status.¶
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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Agricultural Bank of China (ABC) has deployed APN at the load balancers of the product data center in Beijing, and has enabled APN at the PE nodes of the IP Backbone network.¶
It decouples the IP address and the application on the network, that enables rapid network service provisioning for massive software upgrade and delivery services, and makes network rules stable to adapt to the changes in the IP addresses of thousands of applications.¶
The APN option is carried by IPv6 packets of applications and traverses the network from the load balancer to the user terminals, e.g., PC and laptop.¶
The APN ID in the APN option is first planned in the APN domain, and then configured to the network controller and the management plane of the applications. The network controller delivers the configurations of the APN ID to the network devices.¶
To use the APN ID on the data plane, the management plane forms and maintains an APN ID policy after an APN ID is allocated to a specific application. The policy specifies the mapping from the current 5 tuples of the application to the APN ID, and is similar to the APN-marking policy [I-D.li-apn-framework].¶
The APN-capable load balancer obtains APN ID policies and get updates from the management plane. After that, the load balancers initiate packets with APN option towards application clients in the user terminals. The packets enter the IP Backbone network from its PE nodes.¶
The SRv6 TE tunnels have been deployed in the IP Backbone network, which provide different SLA levels and forwarding paths. The APN-capable PE nodes steer traffic in application granularity among the tunnels according to the APN ID carried in the APN option of IPv6 extension header. Then the packets enter the Access network.¶
The Access network has not enabled APN yet. According to the highest two bits of the option type field of APN option, the APN option is skipped over when the packets are processed. The packets are forwarded to the user terminals normally, and the APN option is transparently transmitted.¶
By offloading APN from the application to the load balancer, thousands of applications can benefit from APN while they are not required to be upgraded, i.e., they can keep APN-uncapable or APN-unaware.¶
The deployment case is shown in Figure 1.¶
+-------------------------------+ +------------------+ | Network | | Application | | Controller | | Management Plane | +-------------------------------+ +------------------+ | | | | | | | | +-------------|--------------+ v v | Data Center | +-------+ | | | | App | | +-------+ +----+ | | |Server1| | | App | /---|B-P1|---\ | | /+-------+ | |Client1| /------------\ / +----+ \ | v / | +-------+\ / \ / \ | +-------------+ +-------+ | PC \+-----+ +-----+ +-----+ IP +-----+ | | APN-capable | | App | | |A-PE1| Access |A-PE2|--|B-PE1| |B-PE2|----|Load Balancer|--|Server2| | /+-----+ +-----+ +-----+ Backbone +-----+ | +-------------+ +-------+ | +-------+/ \ / \ / | \ | | App | \------------/ \ +----+ / | \+-------+ | |Client2| \---|B-P2|---/ | | App | | +-------+ +----+ | |Server3| | Laptop | +-------+ | +----------------------------+ Skip over Steer by APN ID <-- APN6 option --> <-- to SRv6 TE tunnel -> (transparency) <------ Packets with APN6 option, for the end-to-end connection ------> Figure 1: Agricultural Bank of China deployment case¶
The following APN features have been deployed:¶
An APN Header based data plane [I-D.li-apn-header] [I-D.li-apn-ipv6-encap].¶
APN-capable Application Server (AAS): initiation of the packet with APN option [I-D.li-rtgwg-apn-app-side-framework].¶
APN-Controller: planning and execution of how the APN attribute are allocated and maintained [I-D.li-apn-framework].¶
APN-Controller: processing the request from the AAS and allocating the APN resources of the controlled APN domain to the AAS [I-D.li-rtgwg-apn-app-side-framework].¶
APN-Head: APN ID based traffic steering for SRv6 TE [I-D.li-rtgwg-apn-app-side-framework].¶
APN-Endpoint: remove the outer tunnel header and keep the APN attribute in packets [I-D.li-apn-framework] [I-D.li-rtgwg-apn-app-side-framework].¶
END (PSP), END.X (PSP), and END.DT6 functions as per [RFC8986].¶
Government Services and Data Management Bureau of Shenzhen Municipality has deployed APN to enable quality assurance for video conference service.¶
The Bureau has deployed APN-capable terminals and servers of a video conference system in an office campus and a data center respectively, and has enabled APN at the PE nodes of the e-Government extranet in Shenzhen. The extranet is a wide area network, which is divided into three levels of global, province and city. Each level consists of two networks of access and backbone.¶
For the video conference scenario, the APN option is initiated by the terminals and servers, and carried by IPv6 packets. It traverses the network from the terminals to the servers, and vice versa.¶
The terminals and servers acquire the APN ID to be added from the controller of the video conference application on demand. The network controller delivers the configurations of the APN ID to the network devices in advance and on demand.¶
The SRv6 TE tunnels and the network slices have been deployed in the e-Government extranet, which provide different forwarding paths, and enable resource isolation. The APN-capable PE nodes distinguish the traffic of common and important conferences according to the APN ID carried in the APN option, then steer the traffic to different tunnels and network slices. When the network quality is downgraded, the quality of important conferences can be assured.¶
The deployment case is shown in Figure 2.¶
+----------------------+ +----------------+ | Network | |Video Conference| | Controller | | Controller | +----------------------+ +----------------+ | | | | | | v v | | +----------------+ /----------------------\ +-------------|--+ | Office Campus | / \ | Data Center | | | | / \ | | | | +------------+ | +---+ +--+ +--+ +---+ | | | | | Conference |------|PE1|----|P1|----|P3|----|PE3| | | | | | Terminal 1 | | +---+ +--+ +--+ +---+ | | | | +------------+ | | \ / | | | | | | | \/ | | | | | | | /\ | | v | | +------------+ | | / \ | | +------------+ | | | Conference | | +---+ +--+ +--+ +---+ | | Conference | | | | Terminal 2 |------|PE2|----|P2|----|P4|----|PE4|------| Server | | | +------------+ | +---+ +--+ +--+ +---+ | +------------+ | +----------------+ \ / +----------------+ \ e-Government extranet / \----------------------/ Steer to SRv6 tunnel and <-- network slice by APN ID -> Packets with APN6 option, <-- for surveillance scenario -> <------ Packets with APN6 option, for conference scenario -----> Figure 2: Government Services and Data Management Bureau of Shenzhen Municipality deployment case¶
The following APN features have been deployed:¶
An APN Header based data plane [I-D.li-apn-header] [I-D.li-apn-ipv6-encap].¶
APN-capable Application Server (AAS): initiation of the packet with APN option [I-D.li-rtgwg-apn-app-side-framework].¶
APN-capable Application Client (AAC): initiation of the packet with APN option, and acquire APN attribute from AAS [I-D.li-rtgwg-apn-app-side-framework].¶
APN-Controller: planning and execution of how the APN attribute are allocated and maintained [I-D.li-apn-framework].¶
APN-Controller: processing the request from the AAS and allocating the APN resources of the controlled APN domain to the AAS [I-D.li-rtgwg-apn-app-side-framework].¶
APN-Head: APN ID based traffic steering for SRv6 TE [I-D.li-rtgwg-apn-app-side-framework].¶
APN-Endpoint: remove the outer tunnel header and keep the APN attribute in packets [I-D.li-apn-framework] [I-D.li-rtgwg-apn-app-side-framework].¶
NRP extensions for network slice services [I-D.ietf-6man-enhanced-vpn-vtn-id].¶
The following open source platforms supports APN6 including [I-D.li-apn-header] and [I-D.li-apn-ipv6-encap]:¶
Wireshark (from 4.2.0 version): 32/64/128-bit APN ID, APN6 option in the Hop-by-Hop Options Header (HBH) and Destination Options Header (DOH).[wireshark-release-notes]¶
Linux: enhanced sendmsg, sendto, and setsockopt API for APN option support, custom kernel module for APN option support [apn-srv6-demo].¶
P4 hardware switch: encapsulation action for APN option and all four kinds of APN parameters [apn-p4-demo-1] [apn-p4-demo-2], steer traffic to SRv6 TE tunnel by APN option and APN parameters.¶
To date, 7 publicly known hardware platforms support APN. Specifically, the following hardware platforms (in alphabetical order) supports APN including [I-D.li-apn-header] and [I-D.li-apn-ipv6-encap] :¶
Huawei:¶
Huawei hardware platforms supports APN with current status as follows:¶
.¶
.¶
.¶
.¶
.¶
.¶