张桂玉,刘博文,马季春,梁晓晨(中讯邮电咨询设计院有限公司,北京 100048)
近年来,云计算、5G等新兴业务场景不断涌现,而IPv6 得益于其可扩展性、安全性及易与SDN 结合等特点,被认为是下一代互联网的创新起点。因此,由各类IPv6 相关网络技术协议组成的“IPv6+”技术体系可以看作是面向5G 和云时代的新型智能IP 网络体系。
基于IPv6 的段路由(Segment Routing over IPv6,SRv6)是运营商网络向“IPv6+”技术体系演进的第一个基础阶段的重要技术实践,是基于源路由(Segment Routing,SR)理念设计,在IPv6网络转发数据分组的一种技术,也是当下最热门的SR 和IPv6这2种网络技术的结合体。SRv6 具备的Native IPv6 属性保证了网络任意节点间的可达性,同时其强大的网络可编程能力能更好地满足网络业务的SLA 需求,这使得SRv6成为IPv6 时代最有前景的网络技术。因此,网络运营商一方面需要推动现有承载业务的大型网络的演进,另一方面也需要挖掘业务场景,使SRv6能够真正带来商业价值。
SRv6 是SR 技术在IPv6 网络平面的应用。SRv6直接使用IPv6 地址作为转发标签,在控制面和数据面实现了统一承载。云、管、端基于统一的IPv6 标准协议实现端到端可管可控。SRv6 技术在IPv6 报文中新增SRH(Segment Routing Header)报头,用于存储128 bit的SRv6 SID(Segment ID)列表。
SRv6 SID 同时提供路径和业务规划的能力。在网络和业务编排器的支撑下,SRv6能够实现云网路径拉通以及业务定义能力,有效支撑云网融合、端到端业务定义。
一般认为SRv6 技术的优势主要体现在3 个方面:简化网络协议、Native IP属性和网络可编程能力。
1.2.1 简化网络协议
SRv6 通过扩展IGP/BGP,去掉了LDP 和RSVP-TE等MPLS 隧道技术,简化了控制面。SRv6 在数据面直接使用IPv6地址作为转发标签,去除了MPLS 标签,在控制面和数据面都实现了统一承载,极大地简化了网络协议,降低了运维的复杂度,让云、管、端可以基于同一个标准协议实现端到端可管可控,实现业务一线灵活入多云、业务敏捷开通。
1.2.2 Native IPv6属性
SRv6通过IPv6扩展报文头实现,没有改变IPv6报文的封装结构,保持了对现有网络的兼容性。SRv6依赖Native IPv6 实现网络可达性,可实现任意支持IPv6的网络节点之间的互通,使得SRv6 跨域部署更加简单。在报文转发过程中,普通中间节点仅支持IPv6 转发即可,无需支持特殊的转发逻辑,这使得SRv6 可以打破运营商网络和数据中心网络之间的界限,进入数据中心网络,极大地增强了SRv6的扩展性和部署的灵活性。
1.2.3 网络可编程能力
SRv6 的网络可编程能力体现在SRH 扩展头中,SRH中有3层编程空间。
1.2.3.1 Segment List
SRH 通过将多个Segment 有序组合进行路径编程,可根据业务意图、网络状态等智能选择最佳路径并实时调整。
1.2.3.2 SRv6 SID
SRv6 SID 为128 bit 的IPv6 地址形式,标准格式为“Locator:Function:Args”,可以灵活分为多段,每段的长度可以变化,具备灵活编程能力。
SRv6 SID 通常由位置标识(Locator)、功能(Function)、Arguments 3 个部分组成,Locator 是网络中分配给一个网络节点的标识,可以用于表示到达该节点的路由信息。Function 是设备用于表达收到SRv6 报文时所需执行的转发动作,相当于计算机指令的操作码。Function 决定了是将数据转发给节点、链路、解封装查找路由表转发,还是解封装送入实例等。Arguments则是转发指令在执行的时候所需要的参数,这些参数可能包含流、服务或任何其他相关的可变信息。Function 和Args 分别表示在该节点执行的具体功能和所需的参数,可按照不同功能定义不同的SID,具备良好的扩展性。
SRv6 SID既有IPv6地址的路由能力,又有SRv6特有的行为能力,不仅可以表示路由,还可以表示接口、设备、业务和应用等;对SRv6 SID 的灵活定义和运用,可以实现设备级/应用级的可编程。
1.2.3.3 Optional TLV
Optional TLV 可以用于进一步自定义功能,支持更丰富的网络编程。报文在传送过程中,需要在转发面封装一些非规则的信息,它们可以通过Optional TLV 的灵活组合来完成,以扩展支持业务功能链(SFC)、OAM、确定性网络(DetNet)、虚拟专用网络(VPN)、基于IPv6 的应用感知网络(APN6)等高级特性。
基于SRH 的3 层编程空间,SRv6 能够支持更多种类的封装,可以很好地满足新业务的多样化需求,实现丰富的网络功能。
如果一个节点支持SRv6 且出现在了Segment List中,那么就需要处理SRH,将Segment Left 进行减1 操作,然后将指针偏移向新的活跃段,之后将Segment List 信息(IPv6 地址格式)复制到IPv6 目的地址字段,然后将报文向下一个节点进行转发。当Segment Left字段减为0时,节点弹出SRH报文头,然后对报文进行下一步处理。
结合运营商广域网承载的业务,SRv6可能的应用场景包括以下几个。
IP 网络在网络协议设定完成的情况下一般进行“尽力而为”的无差别业务转发,并采用route policy 及服务质量(Quality of Service,QoS)实现差异化服务,其中route policy 用来实现路由层面的差异化,可以规定路由器在发布路由时只发布某些满足特定条件的路由,在接收路由时只接收某些满足特定条件的路由,在引入路由时只引入某些满足特定条件的路由等等,比如实现生产主机访问生产服务器时走生产专用线路,办公主机访问办公服务器时走办公专用线路;QoS指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,用来解决网络延迟和阻塞情况下业务的带宽和质量保证等问题。QoS 的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如VoIP 和IPTV,因为这些应用常常需要固定的传输率,对时延也比较敏感。
如果需要在路径层面进行改变,就需要采用非常复杂的RSVP-TE 技术,然而现实部署RSVP-TE 的案例并不多,并且在为数不多的RSVP-TE 案例中,大部分也只用到了RSVP-TE 的快速重路由功能,而非流量调度功能。主要原因有以下3点。
a)过于复杂。RSVP 信令非常复杂,每个节点都需要维护一个庞大的链路信息数据库。
b)扩展性受限。为了准确预留带宽,RSVP-TE要求所有IP 流量都需要通过隧道转发,节点之间建立Full-mesh隧道导致扩展性差,大规模部署几无可能。
c)不支持等价多路径(Equal-Cost Multipath Routing,ECMP)。现代IP 网络中,ECMP 是一个最基础的需求。而从源路由的机制可以看到,RSVP-TE 只会选择一条最优路径进行转发。如果想要实现流量分担,还需要在相同的源和目的之间预先建立多条隧道。
而SRv6因其无状态及源路由转发的特点,可以非常方便地实现差异化路径转发服务。SRv6 的应用结合了SDN 集中控制平台,通过BGP-LS、SNMP、Telemetry 等方式收集全网拓扑,并通过SDN 集中控制平台构建一个完整的Segment List,在源节点压入转发标签路径,中间节点只需要根据标签转发,从而灵活指导每一跳的转发,使网络获得更佳的可扩展性。
a)专线业务场景。基于SR/SRv6 的低时延、高可靠等差异化平面,实现城域骨干跨域对接,实现L3 VPN(IPv4/IPv6)、L2 VPN(VPWS/VPLS)等专线业务差异化保障。
b)互联网业务场景。基于SR/SRv6 的差异化平面,提供基于低时延、高可靠等差异化业务需求的最优路径,实现IPv4/IPv6 的“城域+骨干”端到端互联网业务差异化保障。
运营商可基于SRv6 policy 路径可编程能力,将需要进行清洗的业务流量引流至清洗中心进行流量清洗,然后引流至专用路由器以后进行SRv6 封装,再引流至高防节点。经过高防的防护后,最后引流至目标网站,实现业务流量清洗及防护。
服务化隧道应用是一种新的服务模式,旨在通过将各项服务(VPN、TE、业务链等)统一封装为用户、应用意图的SRv6 SID 并开放给用户,使用户可以得到在任何服务/任何位置/任何调度的一种服务理念。
其应用方案可以为:基于分布式数据库建立服务平面,将运行在设备上的分布式代理容器实现服务注册,并更新至分布式数据库,应用使用SID封装payload进行服务绑定,统一实现服务的发布/更新/触发。
对于运营商而言,SRv6技术具有巨大的应用前景及商业价值,但因为运营商网络规模庞大且存在大量的老旧设备,需要进行升级或替换才能实现对新技术的支持,由此也带来大量的投资和成本,同时也会增加网络割接、业务中断的风险。如何向SRv6 业务演进,并发挥SRv6在网络中的最大价值成为了运营商都在思考的问题。可能的演进方案有以下几种。
3.1.1 改造单网络平面支持SRv6承载业务
不论是基于SLA 的专线服务还是流量清洗的业务场景,其实质都是为用户提供差异化服务,因为SRv6隧道建立的特点,两者均可运行在网络的单平面上;而运营商网络为保障安全性均采用双节点双平面的设置,因此可以考虑对运营商网络的一个平面进行SRv6 改造及应用,这样一方面可以保障新业务通过SRv6 进行部署,另一方面减少对现网的改造力度,从而在节约投资的同时减少对现网业务的影响。单平面支持SRv6的承载网络改造方案如图1所示。
图1 单平面支持SRv6的承载网络改造方案
采用本方案完成网络改造后,端到端的差异化服务场景可以通过单平面进行业务承载,在SRv6平面出现问题无法进行业务承接的情况下,业务可以通过普通平面承载进行逃生,对于业务可用性没有太大的影响。在SRv6业务应用需求较少的网络改造初期,采用此方案是个很好的选择。
3.1.2 增加新设备平面进行业务承载
单平面支持SRv6 的改造方案虽然减少了对网络和业务的影响,对于业务量较小且恰好有升级需求的网络来说是个不错的选择,但还是需要对现网设备和业务进行升级割接。因此,如果在不影响原有业务的情况下进行SRv6等新技术的部署,还可以采用增加网络平面的方式进行网络设备改造,即新平面设备部署SRv6,最后形成SRv6+MPLS 双平面共存的网络拓扑,并基于SDN控制系统,实现SRv6+MPLS双平面的按需智能选路,解决SRv6 与MPLS 网络融合的问题。这样一方面保护了存量资源的投资,另一方面新技术的部署不受现有网络节点的限制,可以做到端到端的新技术部署,但也存在网络规模大幅增加以及新老技术平面互通的问题,具体拓扑如图2所示。
图2 增加网络平面支持SRv6的承载网络改造方案
3.1.3 其他需要说明的问题
在SRv6 中,IPv6 目的地址(DA)字段是一个不断变换的字段,其取值由Segment Left 字段和下面的Segment List 共同决定,当指针Segment Left 指向一个活跃的段,比如此处的Segment List 时,需要将Segment List的IPv6地址复制到IPv6目的地址字段。
从转发角度来看,如果说一个节点不支持SRv6,那么就不需要处理IPv6 报文里面的SRH 信息,仅依据IPv6 目的地址字段,查找IPv6 路由表,依靠最长匹配原则,进行普通的IPv6转发即可。
也就是说,在网络进行SRv6 policy 转发的过程中,如果只需要进行VPN 颗粒度的转发,那么并不需要所经过的设备全部支持SRv6,而是头尾两端支持SRv6,中间节点仅做IPv6 的转发即可。因此,在实际的跨域转发过程中,只对网络域边界的设备进行SRv6改造即可实现SRv6 的业务转发。但因为中间节点不支持SRv6,该方法无法支持需要进行精细化选路的场景。
3.2.1 城域网+骨干网端到端支持SRv6业务承载方案
运营商网络一般根据网络的所在层级和转发位置分为城域内网络和骨干网络,分别负责用户业务接入本地转发以及跨地(市)跨省业务转发,因此如果希望更好地支持SRv6业务,最好的办法是网络能够端到端支持SRv6。SRv6-TE 的数据转发过程和传统的L3 VPN 跨域比较类似,当前主要支持Option A 跨域,即2个AS 域内分别进行SRv6-TE 数据转发,ASBR 之间进行普通的IPv4 数据转发,具体做法是在ASBR1 上和ASBR2 上互相配置VPN 实例,使ASBR1 作为ASBR2的CE接入,ASBR2作为ASBR1的CE接入。
SRv6-TE跨域和传统的L3 VPN跨域,其主要区别就在于使用SRv6-TE 隧道替换了MPLS 隧道。在SRv6-BE跨域过程中,只需要头尾节点,也就是PE1和PE2支持SRv6即可,其他设备(P和ASBR)可以不支持SRv6,仅支持IPv6 的转发即可;如果是SRv6-TE,则需要AS 边界设备都支 持SRv6,比如 说PE1、ASBR1、ASBR2、PE2,但如果域内的中间设备P1 和P2 支持SRv6,则可以实现IPv6 转发,但不能准确进行路径计算和下发。跨域全面支持SRv6 业务承载方案示意如图3所示。
图3 跨域全面支持SRv6业务承载方案示意
3.2.2 骨干网络已部署SR-MPLS网络业务承载方案
当前有的骨干网网络已全面部署SR-MPLS 作为承载协议,对于端到端网络来说,若需在骨干网内选路,可以在骨干网边缘部署SRv6/SR 网关,通过识别用户CPE 封装的SRv6 应用标识,将用户流量引入SR 服务化隧道,从而实现基于应用的差异化流量保障。
若不需在骨干网内选路,则不需部署SRv6/SR 网关,可以通过“智能城域网+骨干网”建立跨域option A隧道实现转发,中间骨干网仅做IPv6 透传,不选路。骨干网络支持SR业务承载方案如图4所示。
图4 骨干网络支持SR业务承载方案
SRv6 的开销问题主要为“IPv6 包头+SR 扩展头”导致整个数据包包头过长,当数据包经过的节点跳数过多时,数据包携带的业务数据比例降低,使网络的转发效率降低,浪费网络资源。
目前的解决方案为对SRv6 携带的数据包头进行压缩,但由于SRv6 头压缩技术标准不统一,存在各厂商设备协议互通问题,压缩和非压缩这2 种方式在SRv6业务实现上基本没有差别,建议短期内采用非压缩SRv6,待后续技术标准完成统一,根据技术应用情况逐步进行推进部署。
网络作为运营商最重要的基础设施,对于以SRv6为代表的新技术的应用部署,应结合自己的网络实际情况、对业务带来的商业价值及给用户带来的业务体验进行综合考虑,选择适合自己的建设方案,并通过业务和技术创新进一步发挥网络和技术的最大价值。