随着SDN在数据中心网络中的不断应用,Openflow也暴露出了一些使用的局限性,并不适用所有情况,于是SR技术出现了。


这两年,SDN技术不断在数据中心网络领域开花结果,成为下一代网络重要的依托技术。说到SDN,必然要提到OpenFlow,但SDN不等于OpenFlow,SDN与OpenFlow的关系类似于互联网不等于IP协议,PSTN不等于7号信令,IMS不等于SIP,WEB体系不等于HTTP协议一样。OpenFlow是SDN中控制器控制转发设备的协议,SDN围绕其来建立一系列操作系统、软件、编译器、外设框架和实现,所以Openflow是一切SDN网络畅想的基础。然而,这个基础并不牢靠,随着SDN在数据中心网络中的不断应用,Openflow也暴露出了一些使用的局限性,并不适用所有情况,于是SR技术出现了。


SDN世界里的战争:SR与Openflow_java


SR (Segment Routing)分段路由技术,是一种源路由机制,用于优化IP MPLS的网络能力,可以使网络获得更佳的可扩展性,并以更加简单的方式提供TE、FRR、MPLS VPN等功能。SR是思科提出来的,并已通过IETF标准化认证。为何SR技术会有成长机会?这是因为在SDN诞生之初,无一例外都要使用Openflow来实现流量转发,通过Openflow来控制网络中的应用流量。然而,Openflow对网络抽象不够,网络核心设备中网络状态信息随着应用数目增长成指数级的增长,无法在广域网中得到大规模部署。并且Openflow控制的网络,往往需要控制器控制路径中的多个关键设备,网络中传输点增多,网络中每个节点均需维护大量的路径状态信息,导致运维困难,信令压力增大,可扩展性差,应用和网络还离得很远。SR就体量轻不需要信令协议,支持源路由,灵活天然可以与ECMP等融合。采用SR作为传输协议时,SDN控制器仅仅需要跟Ingress PE(MPLS的PE节点)通讯,在源路由器上已通过携带多个标签,定义好了完整路径信息。网络核心设备中网络状态信息完全跟承载的应用业务无关。采用SR,数据中心可以轻松为百万级别的应用在源路由器选用不同路径,同时保持核心设备没有任何应用状态。


如此讲可能有些复杂,其实SR也使用了类似MPLS的路径标签机制,它优化了控制平面。采用IGP/BGP来分发标签,取消了之前的LDP/RSVP-TE。在源路由器对数据报文进行“编码”,在报头中插入有序的Segment列表,用于指示报文的转发路径。SR技术简化了协议,去除复杂的LDP和RSVP-TE协议,对IGP协议进行扩展,用来替代LDP和RSVP-TE协议进行标签的分发。同时,利用IGP协议的快速重路由机制,支持Ti-LFA的无环备用计算,可以实现全拓扑的链路节点保护。SR通过标签指定路由数据包必须通过的网络路径。与MPLS不同的是,SR在每一个节点上分配固定的、32位的标签。标签是固定的,不是动态的,类似于MPLS的L3VPN,能使故障排除更加容易,标签和拓扑信息通过路由协议延伸传播至整个网络中。SR不用标签分发协议,从而消除了路由协议和标签分发协议之间需要同步的障碍。这不免让人想到EVPN技术,这是基于VXLAN的SDN应用技术,SR不是要抢EVPN的饭碗,但的确SR要比EVPN要更优些。首先,VXLAN报文开销太大,SR加上几层标签也比VXLAN小60~70字节;其次是采用相同的MPLS转发平面,不需要做VXLAN到SR转换;第三是SR与EVPN可以共存,SR+EVPN可以实现EVPN的Type 2+Type5,L2/L3 IRB同时转发,对于EVPN,SR是很好的补充,这也是不少数据中心急于引进SR的原因。


OpenFlow必须加载沿着源头到目的地的路径进入控制器开关的转发表项,SR与仅在源路由器插入MPLS包头的松散源路由不同,SR程序和MPLS标签为每个流表提供该流的源路由器路径,而不是让每个流通过同一条路径到达所有交换机入口。还有,控制器从所有的交换机/路由器收集相邻关系信息,并使用该信息来做出转发决定。控制器有了SR,可以实现灵活的业务调度和动态保护,增强了控制器扩展性。通过SDN控制器对端到端业务集中部署,实现保护路径分离。当故障发生时,控制器可以借助IGP协议的动态保护,提升网络的自愈能力,将故障对业务的影响降到最低。


SR技术是一种源路由技术,为SDN而重新设计,操作简单,扩展性好。既然是源路由技术,就具备了源路由的属性,要求网络设备必须按照转发表中的顺序转发,如果转发下一跳不在网络设备直连子网中,那么数据包将被丢弃,源主机将收到源路由失败ICMP消息,源路由技术对网络设备的转发路径进行检查。SR技术正是利用了这样的特点,才记录了沿路路由信息,完成了网络拓扑和状态信息的采集。但这种技术是有安全风险的,有专门的源路由选择欺骗技术。某些路由器对源路由包的反应是使用其指定的路由,并使用其反向路由来传送应答数据。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。所以在SDN中部署SR技术,要增加安全防护设备,要防止利用这种机制窃取机密流量的转发路径,从而达到攻击或者窃取机密数据的目的。


如此看来,SR大有替代OpenFlow的趋势,但从目前的局势看,SR更多是处于一种理论研究状态,偶有实际实验或者部署,在真实的应用网络中并不多见。SR基于MPLS技术做进一步优化,还是有些过于复杂,并且仅适用于大型的数据中心部署,在小型的数据中心根本没有必要。小型数据中心没有那么多应用,在控制器和OpenFlow之间不再需要更多的计算,直接下发一些简单流表就可以搞定网络,不需要那样灵活。MPLS技术也存在很多年了,依然是作为网络技术的一部分存在,并不适用于所有场合,所以SR技术也是作为SDN的一个有效补充存在,未来SR技术也许会变得越来越重要,要替代OpenFlow还不见得,需要时间来检验,而且SR技术不会是SDN的全部。