我们知道当前承载网络中的IP数据传输主要基于MPLS(Multi-Protocol Label Switching,多协议标签交换)技术,MPLS在提高路由转发效率的同时,也不可避免地带来了一些新的问题:
配置多:需要使用独立的信令协议,如LDP(Label Distribution Protocol,标签分发协议)、RSVP(Resource Reservation Protocol,资源预留协议)等,并为网络中的每个节点分配标签,配置过程相对复杂。
效率低:每次进行数据传输,都需要为端到端连接路径上的所有节点下发配置信息,传输效率低。
扩展难:每个节点都需要维护每条连接的状态,业务扩展较为困难。
跨域烦:不同的网络(如IP骨干网、IP城域网、移动回传网等)之间是独立的MPLS域,网络间的互连需要使用复杂的跨域VPN技术来实现。
基于源路由转发而产生的SR(Segment Routing,分段路由)技术的出现,改变了传统IP网络中只能基于目的路由转发的思路。通过SR技术,在网络中的首节点规划并建立端到端连接的路径,中间节点只需转发、无需再维护连接状态,大大简化了网络的部署和扩展。 SR与MPLS的结合(SR-MPLS)有助于解决前面提到的配置多、效率低、扩展难的网络“痼疾”,但网络中的节点仍然需要都支持MPLS标签转发技术,还是没有从根本上解决跨域互连的问题;并且MPLS标签的扩展能力有限,难以更好地满足5G时代多样业务的传送需求。
与此同时,为了解决IPv4地址短缺的问题,让IP网络数据的传输更加高速、可靠和安全,互联网协议正从IPv4(互联网协议版本4)过渡到IPv6(互联网协议版本6)。 随着IPv6的大规模部署,在5G承载和云网融合的重点应用场景中,基于MPLS的传送技术愈发成为了网络的“瓶颈”。 融合了SR与IPv6特点的新一代IP承载网数据转发协议SRv6应运而生,SRv6充分继承了SR的源路由优势和IPv6简洁、易扩展的特点。
不再需要使用独立的信令协议为所有节点分配标签,使网络更容易配置和管理。
不再需要所有节点支持MPLS,甚至不需要所有节点都支持SRv6,使网络具备更好的兼容性。
基于扩展了报文头的IPv6报文即可实现业务的端到端部署,使网络更加简洁和高效。
网络具备可编程能力,可以实现业务的灵活扩展,结合SDN(Software Defined Network,软件定义网络)还可以实现网络的灵活调度。
SR技术的关键在于为网络中的每个节点或节点间的每条路径都分配一个SID(Segment Identifier,段标识)作为标识,并在起始节点指定报文需要经过的节点和路径的SID集合(Segment List)来指导报文的转发。 SR-MPLS使用20 bits长度的MPLS标签值作为SID,而SRv6则使用128 bits长度的IPv6地址格式值来作为SID。 相比于SR-MPLS的SID,SRv6的SID更长,支持携带更多信息,可以用来标识节点、链路、L2VPN业务、L3VPN业务、网络服务等多种功能或业务类型。
128bits长度的SRv6 SID包含了Locator、Function、Arguments三个字段。
有了SRv6 SID,SRv6就具备了路径和业务的编排能力,可以预先规划报文转发的路径以及路径上每一个节点的转发行为,并支持定义任意的网络功能或业务。 除了SRv6 SID,SRv6还有另外一个“秘密武器”。 前面我们提到,SR与MPLS的结合(SR-MPLS)虽然有助于解决网络中配置多、效率低、扩展难的“痼疾”,但网络中的节点仍然需要都支持MPLS标签转发技术,还是没有从根本上解决跨域烦的痛点。 SRv6充分利用了IPv6的易扩展特性,通过一种新增的扩展头类型SRH(Segment Routing Header,段路由头),来替代MPLS的标签转发功能,让SRv6网络可以不需要借助于其他技术、仅基于原生的IPv6技术(Native IPv6)就能实现数据的高效率转发,彻底解决跨域烦的难题。 普通的IPv6报文中可以包含0个或多个扩展头,用于实现不同的业务功能,只有当有需要的时候才会添加扩展头。 扩展了SRH后,SRv6报文结构包括了IPv6报文头、SRH扩展头和数据报文三个部分。
IPv6报文头:用于指定报文的源地址(Source Address,SA)和目的地址(Destination Address,DA)。
SRH扩展头:用于指定报文的转发路径信息,包含中间节点数(Segments Left,SL)和段列表(Segment List)。段列表是报文传输过程中会经过的所有节点的SID的清单,中间节点数是指经过的节点的数量。
数据报文:传送的业务数据信息,传输过程中保持不变。
如果要简化理解的话,以上三部分的结构可以用下图来表示。
普通IPv6报文中的源地址(SA)和目的地址(DA)分别标识的是报文的首节点和目的节点,在传输过程中保持不变;而SRv6报文中的目的地址(DA)标识的是当前报文经过的下一个节点,会随着数据传输过程实时变化。 SRv6使用SRH扩展头中的中间节点数和段列表来指导报文的转发,每经过一个SRv6节点,中间节点数的值减1、目的地址信息更新一次,目的地址信息由中间节点数和段列表共同决定。例如SL=n时,DA=SID [0];SL=0时,DA=SID [n]。 说了这么多,是不是还有点不太明白SRv6是怎么工作的。 让我们通过一个具体示例来看下SRv6是如何在网络中传输数据的。
首节点(节点A)接收到用户(源节点S)的数据传输需求,确定了目的地(目的节点R)。SRv6规划传输路径为A→B→C→D,那么在节点A发出的报文中:SA=S,DA=B,段列表为
节点B、节点C收到报文后,将报文中的SL值减1,并将DA改为下一节点,转发报文。
节点D收到数据后,发现SL值为0,判定自己是尾节点,则按普通IPv6报文转发方式将报文转发给目的用户(目的节点R)。
可以看到,通过SRv6进行数据传输时,不需要为网络中的每个节点分发标签,也不需要维护每条连接的状态,更不依靠MPLS隧道来进行跨域的数据转发,非常便利、高效。 虽然不再使用MPLS技术,但是SRv6同样支持对不同类型的业务通过不同的工作模式来提供差异化的服务。 SRv6主要工作模式包括两种:SRv6 BE(Best Effort,尽力而为)和SRv6 TE Policy(Traffic Engineering Policy,流量工程策略)。
SRv6 BE的作用类似于MPLS LDP,LDP是利用IGP(Interior Gateway Protocol,内部网关协议)的最短路径算法计算得到一条最优路径来指导数据的转发。SRv6 BE仅使用一个业务SID(Service SID)来指导报文的转发,是一种尽力而为的工作模式。该工作模式下,SRv6功能只需要部署在首尾节点,实现较为简单,适用于需要快速开通一些普通VPN业务的场景。
SRv6 TE Policy则利用了源路由的特性,在首结点封装一个有序的Segment List(路径信息)来指导报文在网络中如何转发。结合Segment List的可编程特性,并引入着色机制(设置color属性),SRv6 TE Policy可以灵活地指定报文的任意转发路径来实现流量工程、灵活引流、负载分担等功能。
关于SRv6 BE和SRv6 TE Policy两种工作模式,我们后续也会推出专题图文进行详细介绍,敬请期待哦。 SRv6不仅能够解决本文开篇提到的四大痛点,还具有其它的独有优势。 与SDN技术相结合 SRv6可以与SDN技术相结合,利用自身的灵活性配合SDN的管理调度能力,整个网络就像一个可编程的软件系统,灵活地实现各种业务, 同时网络配置及数据传输也变的更为简单。 如下图所示,SDN控制器通过搜集SRv6节点及路径信息,根据业务需求规划合适的路径以及各节点提供的服务,并将信息通知给首节点(如下图中的节点A)。首节点根据接收到的信息,将业务数据通过SRv6网络传递到目的节点。
与EVPN(Ethernet Virtual Private Network,以太网虚拟专用网)技术相结合 SRv6还可以与EVPN技术相结合,使IP承载网摆脱众多复杂协议的束缚,简化为Overlay(EVPN)+Underlay(SRv6)的组网格局,大大简化网络的复杂度。
SRv6是继MPLS之后的新一代IP承载网核心协议,不仅将简化和统一承载网络的架构,也将持续推动固(固定网络)移(移动网络)融合、云(云计算)网(通信网)融合的发展。 相信不久的将来,会出现更多基于SRv6的应用创新,推动各行各业向智能化和数字化方向发展。 技术改变生活,让我们一起期待吧!
全部0条评论
快来发表一下你的评论吧 !