APN6技术白皮书
Copyright © 2022 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
TCP/IP协议栈的分层和解耦设计理念在早期网络标准化发展过程中起到极其重要的作用,但随着网络和应用的不断发展,完全解耦的设计不再适用,网络感知应用,应用驱动网络的需求越来越迫切。例如:
· 网络运营商打造“智能管道”的诉求:网络运营商凭借多年建设的完善网络基础设施,在网络服务领域具有先天优势,但随着互联网厂商各种OTT业务(Over-the-top media service,越过网络运营商的互联网业务)的发展,对运营商传统的语音、短信和视频类业务造成极大冲击,网络运营商却只能沦为承载业务的“管道”。为了打破这种局面,近年来,网络运营商加速构建云服务,打造自有应用,通过升级和改造基础网络设施,实现网络感知应用的“智能管道”,从而为用户提供更精准且差异化的网络服务。
· 行业网络中关键业务的保障:例如,在办公网络中,视频会议需要网络重点保障,视频和语音业务不能出现卡顿,延迟也不能过大。而不同的行业,不同办公网络场景中视频和语音业务使用的应用可能各不相同,网络保障业务时必须要识别出应用才可能进一步进行业务质量保障。
· 特殊业务明确的SLA(Service Level Agreement,服务级别协议)需求:在自动驾驶、工业控制和远程控制等业务场景中,业务对网络有明确的SLA需求,例如,要求时延不超过50ms、抖动不1ms。应用需要先将网络质量的需求传递给网络,才能驱动网络进行智能路径选择和实时业务质量监控。
正是这些新需求的出现凸显了网络感知应用、应用驱动网络必要性。
APN6(Application-aware IPv6 Networking,应用感知型IPv6网络)是一种新型的网络架构。它利用IPv6报文的扩展报文头来携带应用信息,使网络可以识别应用,并且感知应用对网络的需求,进而为不同的应用业务提供精准且差异化的网络服务。其中,应用信息目前包括两类:
· APN ID:应用的标识,APN6网络的IPv6报文中必须携带该信息。
· APN Parameters:应用对网络质量的需求信息,例如带宽要求、时延要求、抖动要求和丢包率要求等。APN6网络的IPv6报文中可以不携带该信息。
APN6的关键思想是借助IPv6扩展头部中携带的APN ID和APN Parameters,将原本位于TCP/IP协议栈不同层次、相互解耦的网络和应用信息重新耦合。
· 对于网络而言,设备通过解析IPv6报文的DOH扩展头部感知应用信息。
· 对于应用而言,IPv6报文的可编程空间是面向应用开放的,应用可以自主定义其中的APN ID和APN Parameters等参数。
APN6的优势和价值主要包括以下几个方面:
· 应用信息简单直接。
· 可扩展性强。
· 兼容各类IPv6+新技术。
传统的应用报文中缺少应用对网络质量的需求信息,应用信息的标识也不明确,通常通过以下两种手段来实现应用或者用户业务流识别:
· 借助ACL规则由设备解析报文的五元组等信息来识别报文所属的应用和用户。这种方式需要消耗大量硬件ACL资源,且不能满足识别海量应用的需求。
· 部署DPI(Deep Packet Inspection,深度报文检测)功能通过对IP数据包的内容进行分析,依据数据特征字的查找或者业务的行为统计来判断相关业务流的类型。这种方式需要额外的运维开销,并且会带来安全和隐私方面的问题。
如图1所示,相较于传统的ACL规则来识别报文所属的应用和用户,APN6将应用信息直接封装在IPv6的报文头中从而简化运维部署,减少硬件ACL资源消耗。APN6将应用信息直接封装在IPv6的报文头中,设备无需解析和匹配报文中的五元组等字段信息,仅需检索IPv6扩展报文头即可得到应用标识和应用对网络质量的需求等信息,从而简化运维部署,减少硬件ACL资源消耗。另一方面,APN6不需要分析IP数据包中载荷,避免信息被泄露问题。因此,APN6这种网络架构更加直接,适合网络感知应用的需求。
图1 传统的ACL规则识别应用和APN6标识应用对比图
IPv6的扩展报文头提供了可编程空间,可以根据需求在IPv6扩展报文头中携带更为丰富的APN6应用信息,扩展性极强。
如图2所示,IETF草案draft-li-apn-ipv6-encap中描述了可以用于携带应用信息的位置包括IPv6的扩展报文头中逐跳选项报文头HBH(Hop-by-Hop Options Header)、目的选项报文头DOH(Destination Options Header)和路由报文头SRH(Segment Routing Header),这些扩展报文头都提供了可编程空间,均可以扩展为携带应用信息。
目前,Comware将APN6的应用信息携带在DOH中。
图2 IPv6的扩展报文头中可提供可编程空间示意图
近年来不断涌现出一批新网络技术来实现各种网络需求,例如SRv6网络切片、确定性网络、SRv6 SFC、iFIT等技术。APN6和这些网络新技术完全兼容,结合这些技术,可以实现更加精细化的网络服务。如图3所示,APN6结合SRv6网络切片技术,为不同应用提供专属切片网络,保证业务独享资源;APN6结合iFIT技术提供应用级别的实时性能策略、故障界定和可视化运维等。
图3 APN6网络中SRv6网络切片技术和iFIT应用示例
本章将基于IETF的draft-li-apn-framework草案介绍APN6的网络架构、APN ID标识的生成和报文封装格式以及APN6中应用报文的转发策略等基本原理。
如图4所示,网络中APN6区域(APN6 Domain)是指携带了应用信息的报文所经过的所有网络设备的集合,在APN6区域中包括以下几种设备角色:
· APN-Edge:APN6边缘设备,用于接入应用终端或应用服务器。应用终端或应用服务器不具备为报文添加应用信息的能力时,APN-Edge可以通过QoS策略根据报文的五元组、外层SVLAN或内层C-VLAN等信息来标记报文的应用信息。当携带了应用信息的报文离开APN6区域时,APN6边缘设备用于删除报文中应用信息。
· APN-Head:APN6头端节点,APN-Head到APN-Endpoint之间应具备一组满足不同SLA需求的隧道。APN-Head可以根据报文的应用信息,将流量引入到满足应用SLA需求的隧道中。APN-Edge和APN-Head的功能可以在同一设备上实现。
· APN-Midpoint:APN6中间节点,APN-Midpoint为应用报文提供转发服务,并支持根据报文携带的应用信息提供iFIT、SRv6 SFC等增值服务。
· APN-Endpoint:APN6尾节点,解封装应用报文的外层隧道封装。如果应用信息被复制到外层隧道封装中,则应用信息同时会被APN6尾节点解封装,如果应用信息的携带位置不在外层隧道封装中,则APN6尾节点可以继续转发携带应用信息的IPv6报文。APN-Edge和APN-Endpoint的功能可以在同一设备上实现。
· APN-Controller:APN6网络的控制器,主要用于统一规划和维护APN ID、APN Parameters等信息,定义并下发APN ID相关的转发策略和标记策略。
¡ 对于APN-Edge,APN-Controller下发APN ID的标记策略,建立应用报文的五元组、外层SVLAN或内层C-VLAN等信息和APN ID的映射关系。
¡ 对于APN-Head,APN-Controller下发APN ID的转发策略,建立转发路径和携带APN ID的报文之间的映射关系,从而将指定APN ID的报文引入到合适的转发路径中转发。
图4 APN6的网络架构及设备角色示意图
如图4所示,在APN6的网络架构中,根据应用信息生成的方式可将APN6的网络分为两种类型:
· 应用端方案:包括APN ID和APN Parameters的应用信息由应用终端或应用服务器生成,并封装在报文中。应用端方案要求终端设备可以感知不同应用,并且网络和应用由同一个组织管理和规划,网络设备可以信任应用端生成的应用信息。
· 网络侧方案:包括APN ID和APN Parameters的应用信息由网络中APN6边缘设备生成,通过APN6边缘设备感知识别报文类型,并为报文封装应用信息。这种方案无需应用端支持,直接由网络运营商和行业网络管理者统一规划部署,比较方便。
应用信息的选项字段称为APN Header,APN Header携带在IPv6的DOH中,该选项字段采用典型的Type-Length-Value的结构。draft-li-apn-header草案中定义了应用信息的报文结构如图5所示。
应用信息的报文结构中包括:
· Next Header:8bits,用来标识DOH的下一个报文头的类型。
· Hdr Ext Len:8bits,表示以8个字节为单位的DOH头的长度,不包括第一个8字节。
· Option Type:8bits,应用信息的选项类型(即APN Header的选项类型值),目前取值为0x13。
· Opt Data Len:8bits,应用信息的选项长度,即APN Header部分的长度。
· APN Header:可变长度,包含了APN ID和APN Parameters等详细应用信息。
APN Header包括如下字段:
· APN-ID-Type:8bits,APN ID的类型,当前设计了3类APN ID。
¡ 取值为1时,表示Type 1 APN ID,APN ID占4个字节。
¡ 取值为2时,表示Type 2 APN ID,APN ID占8个字节。
¡ 取值为3时,表示Type 3 APN ID,APN ID占16个字节。
· Flags:8bits,当前未定义。
· APN-Para-Type:16bits,表示APN Parameters中包含了哪些网络性能需求参数,例如带宽、时延、抖动、丢包率等。
· APN ID:长度可变,APN标识信息,由三部分组成:
¡ APP-Group-ID:应用组的标识。
¡ User-Group-ID:用户组的标识
¡ Reserved:预留字段。
· Intent(Optional):32bits可选部分,表示应用向网络提出的意图需求。
· APN-Para(Optional):32bits可选部分,表示具体的网络性能需求参数。每个参数都可以使用4个字节。
基于APN ID引流需要先将业务流量引入到SRv6 TE Policy组中转发,在该SRv6 TE Policy组中建立APN ID和SRv6 TE Policy或SRv6 BE的映射关系,当流量在SRv6 TE Policy组转发时,会查找与流量报文携带的APN ID匹配的SRv6 TE Policy或SRv6 BE策略,并按照匹配的SRv6 TE Policy的路径或SRv6 BE方式转发。
如图6所示,基于APN ID引流需要完成如下配置准备:
· 在设备A上配置一个尾节点为设备H,Endpoint为5::5的SRv6 TE Policy组,该SRv6 TE Policy组的Group ID为111。
· 在设备A上配置两条从设备A到设备H的SRv6 TE Policy 1和SRv6 TE Policy 2,这两个SRv6 TE Policy与SRv6 TE Policy组111的Endpoint相同,因此,SRv6 TE Policy 1和SRv6 TE Policy 2属于该SRv6 TE Policy组。SRv6 TE Policy 1和SRv6 TE Policy 2的转发路径不同,网络质量也不尽相同的。
· 在设备A上配置QoS策略,并将QoS策略应用到设备A连接私网VPN 1的接口入方向,根据私网报文的五元组或VLAN等信息为私网报文标记和封装应用信息。
图6 基于APN ID转发流量的工作原理示意图
以IPv6 L3VPN over SRv6 TE Policy组网为例,基于APN ID引流到指定的转发路径的工作流程如下:
(1) 在SRv6 TE Policy组111中指定转发类型为基于APN ID转发,并建立APN ID和转发策略的映射关系,目前支持的映射关系包括:
¡ APN ID和Color属性映射:设备A将携带指定APN ID的报文引入到Color属性对应的SRv6 TE Policy中转发。图中,APN 10和SRv6 TE Policy 1建立映射关系,APN 20和SRv6 TE Policy 2建立映射关系,详细的转发流程请参见“2. 携带APN ID的报文转发”。
¡ APN ID和SRv6 BE转发方式映射:设备将携带指定APN ID的报文通过SRv6 BE方式转发。此时,设备A为报文封装新的IPv6报文头,IPv6报文头的目的地址为SRv6 TE Policy组的尾节点为VPN分配的SID,设备A通过查IPv6路由表将报文从出接口转发。
(2) 设备A上配置隧道策略,将私网路由2::2/128和SRv6 TE Policy组111绑定。当接收到去往私网路由2::2/128的流量时,设备A将流量引入SRv6 TE Policy组中转发。设备A将根据流量报文携带的APN ID选择对应的转发方式。
基于APN ID转发报文时,与SRv6 BE方式转发相比,SRv6 TE Policy转发方式具有可控的路径和更高的可靠性,并可以结合iFIT测量手段检测端到端固定转发路径的网络质量,因此,一般规划时,将SRv6 TE Policy隧道作为关键应用业务的转发方式。SRv6 BE方式转发则作为非关键业务或者无SLA需求的业务的转发方式。当指定SRv6 TE Policy隧道路径故障时,SRv6 BE方式转发可以用于流量逃生。
如图7所示,设备A实现了APN6边缘设备和APN6头端节点的功能,设备D实现了APN6边缘设备和APN6尾节点的功能。设备B和设备C均实现了APN6中间节点的功能。
以携带APN ID的报文在SRv6 TE Policy隧道中转发为例,报文转发流程为:
图7 基于APN ID的报文转发流程
(1) CE 1向CE 2发送私网业务报文,报文的目的地址为2::2。CE 1根据路由表将私网报文转发到设备A。
(2) 设备A从绑定VPN 1的私网接口接收到私网报文后,根据QoS策略为符合流分类规则的报文添加DOH扩展头,并增加APN ID标识10。设备A再查询VPN 1的私网路由表,发现2::2/128私网路由下一跳为设备D的Loopback0口地址5::5,且标识私网的End.DT6 SID为D2。
(3) 设备A根据私网路由绑定的隧道策略将流量引入SRv6 TE Policy组中转发。在SRv6 TE Policy组中,APN ID10的报文将被引入到SRv6 TE Policy AtoD中转发。设备A根据SRv6 TE Policy AtoD为报文封装新的IPv6报文头和SRH头,并将携带APN ID的DOH扩展头调整到新的IPv6报文头中,并位于SRH之前。SRH头携带的SID列表为{D2,D1,C1,B1}。其中,D2为私网的End.DT6 SID,D1为设备D的End SID,C1为设备C的End SID,B1为设备B的End SID。此时,SL=3,IPv6报文头的目的地址为SRH[3],即B1。设备A根据IPv6路由表将封装后的报文转发给设备B。
(4) 设备B接收到报文后,发现目的地址为Local SID,检查SRH中SL不为0,则将SL减1,并根据SRH修改IPv6报文头的目的地址为SRH[2],即C1,设备B将报文发送给设备C。
(5) 设备C接收到报文后,发现目的地址为Local SID,检查SRH中SL不为0,则将SL减1,并根据SRH修改IPv6报文头的目的地址为SRH[1],即D1,设备C将报文发送给设备D。
(6) 设备D接收到报文后,发现目的地址为Local SID,检查SRH中SL不为0,则将SL减1,并根据SRH修改IPv6报文头的目的地址为SRH[0],即D2,D2仍为设备D的Local SID,设备D将根据End.DT6 SID的动作,解封装报文,删除报文的DOH和SRH,并查询VPN 1私网路由表将原始报文发送给设备CE 2。
draft-zhang-apn-acceleration-usecase针对时延敏感的游戏业务提出APN6的应用解决方案。通常情况下,国际多人在线的竞技类游戏时延要求低于30ms,在一些重大竞技赛事中,游戏时延甚至要求低于10ms。用户的游戏终端需要通过网络运营商设备连接到国内游戏运营厂商的出口加速路由,再通过国际POP节点接入海外的数据服务器。这个数据转发流程很长,而且传统网络运营商不能为游戏用户提供稳定低时延的接入服务。
如图8所示,网络运营商和游戏运营商可以合作部署APN6网络,在用户接入设备上精准识别特定游戏的数据报文,并且为游戏用户提供稳定低时延的加速隧道,从而极大提升用户的游戏体验,并拓展网络运营商增值业务范畴。
图8 游戏加速业务中APN6的应用示意图
游戏加速业务中应用APN6可以带来如下价值:
· 对于游戏用户:获得稳定的加速时延,提升游戏体验。
· 对于运营商:拓展增值业务范畴,创造新的营收点。
· 对于游戏运营厂商:提升用户留存度和游戏的满意度。
位于不同城市的企业分支站点一般通过云专线接入云服务,而云专线需要经过多个自治域,自治域分别由不同的人员和控制器控制,自治域之间无法获取其他域内的路由信息,因此,难以做到端到端统一的路径规划,云专线中的关键业务质量保证比较困难。
如图9所示,在网络中部署APN6之后,企业在边缘CPE直接为关键业务报文封装APN ID等应用信息,在不同自治域中设备都可以获取关键业务报文的应用信息。
图9 SDWAN云专线中APN6的应用示意图
SDWAN云专线中应用APN6可以为企业客户带来如下价值:
· 减轻CPE压力:CPE设备无需部署DPI(Deep Packet Inspection,深度报文检测)来检测报文的应用类型。
· 精准应用级别的网络运维:结合iFIT测量可以从无数流量中精准捕捉到关键业务的应用流量,针对关键业务的应用流量实施测量和监控。
· 精准应用级别的网络质量保障:在不同AS域内,设备都可以根据应用信息将关键业务的应用流量引流到特定转发路径中转发,保障网络质量。
· draft-li-apn-framework
· draft-li-apn-header
· draft-zhang-apn-acceleration-usecase
· draft-yang-apn-sd-wan-usecase