OpenFlow作为最主要的SDN协议,希望以一种全新转发协议颠覆现有以IP、MPLS网络架构。但是,这种激进的演进方式没有得到设备厂家及电信运营商的支持,通过对现有网络协议进行扩展和优化,推动现有网络平滑演进,实现网络开放的目标才是更加可行的选择。
Segment Routing就是这样的背景下,由IETF推动的支持SDN架构的新型路由转发协议。目前,Segment Routing还处于草案阶段,但是已经形成了完整的体系架构,并得到了大部分设备厂家的支持。
1. Segment Rouging 介绍
Segment Routing 是一种源路由机制,用于优化IP,MPLS的网络能力。可以使网络获得更佳的可扩展性,并以更加简单的方式提供TE、FRR、MPLS VPN等功能。在未来的SDN网络架构中,Segment Routing将为网络提供和上层应用快速交互的能力。
2. Segment Rouging 工作原理
和MPLS的网络类似,SegmentRouting也是以标签交换为基础的。但是和MPLS网络需要依靠LDP,RSVP等外部协议实现标签的分发、TE等功能不同,Segment Routing只是对现有的IGP协议进行简单的扩展,就可以实现TE、FRR、MPLS VPN等功能。
在Segment Routing的网络中,通过Segment表示网络前缀。在当前的Segment Routing草案中,定义了两种Segment:Nodal Segment和AdjacencySegment。
Nodal Segment是全局标签,每一个节点都会分配全局唯一的Nodal Segment,通常使用Loopback接口的地址。
Adjacency Segment是本地标签,在本地有效,用于表示特定的SR节点。(不需要全局唯一)
图1 拓扑图
在图1所示的拓扑中,我们假定所有的路由器都启用了IS-IS或者OSPF协议,链路都有相同的metric。每一个SR节点的都有自己的Nodal Segment,并通过IGP协议通告其他节点。一个SR节点,通过IS-IS或者OSPF协议,可以自动建立起表示到其它SR节点最短转发路径的一组segments(类似MPLS标签栈)。Adjacency Segment则和通往某一邻接设备的下一跳节点相关联:
(1)每一个节点都会将loopback地址作为自己全局标签(Nodal Segment),其他SR数据层面的节点都会接收这一信息。在图1中,节点B的Nodal Segment是70,节点S和R就使用70来计算到达B的路径。
(2)在图1中,F为B-F之间的链路分配了Adjacency Segment10000(本地有效),并通过IGP通告出去。
我们可以这样理解Nodal Segment和Adjacency Segment。管理者给网络分配了一个Segment地址块,我们从这个地址块中为每一个SR节点分配Nodal Segment,以保证其全局唯一性。而Adjacency Segment是在这个地址块之外的,由每个节点自行分配的。
通过上述的示例,我们可以看到:通过将Nodal Segment和路由前缀相关联,我们可以通过最短路径到达任意节点,而转发路径是一条还是等价多路径负载分担,则取决于网络的IGP拓扑。
3.Segment Rouging 示例
我们通过两个具体的示例来看SegmentRouging的工作原理:
示例1(图2):节点R通告自己的Nodal Segment 70 给多有的节点。如果S要到达R, 使用 Segment 70进行选路(源路由),Segment 70代表的转发路径集成了IGP协议的ECMP属性。在图2所示的报文转发过程总,S为报文标记了Segments 列表{70},在节B和D,因为R是他们的直连节点,Segment 70将从列表中弹出,然后按照IGP转发路径把报文发给R。
图2 示例1
示例2(图3):通过使用AdjacencySegment(Fig. 3),可以引导流量经过特定的节点和端口。在图3所示的网络拓扑中,如果S希望通过B和D之间的链路到达R,那么我们在转发路径的源节点使用{ 71, 10000, 70 }的Segments列表。首先S通过IGP路由把报文发给71所代表的B节点。当报文到达A节点时,因为B是A节点的下一跳,所以A节点会将71弹出,然后将报文发给B。B节点会根据adj. segment将报文发给D,然后D使用IGP路径把报文转发到R。
图3 示例2
Segment Routing定义的Segment为32bit,在MPLS的环境中,使用最右侧的20Bit最为标签值,MPLS标签栈代表了Segments列表。Segment Routing可以转发IPv4/IPv6报文,并可以和LDP、RSVP等协议共同控制网络。
4.Segment Rouging应用场景
(1)提供快速重路由保护:SR可以在独立提供FRR保护,而不需要依靠RSVP协议(传统的MPLS TE需要部署RSVP协议)。
(2)实施流量工程(Traffic Engineering),可以依据带宽、时延等网络参数,主流的定义基于CoS的服务策略。
(3)应用于SDN网络架构:一个可编程的开放网络,应该是易操作的、可扩展的。和LDP、RSVP等协议相比,Segment Routing在易操作和扩展性方面有明显的优势。
来源:中国移动设计院技术通讯