浅谈SR-TE两种实现方式的对比

网络 通信技术
关于IP转发技术经历的几个阶段,凭个人的浅显理解简单梳理如下。最初IP数据包根据路由协议构建的转发表来转发。路由协议对目的地址寻址,通过对全网拓扑和链路状态的学习来建立RIB表,同时优选到达目的路由Metric值最小的路径的下一跳写入FIB表(Metric值相同的下一跳负载均衡)。

1.背景技术简述

关于IP转发技术经历的几个阶段,凭个人的浅显理解简单梳理如下。

最初IP数据包根据路由协议构建的转发表来转发。路由协议对目的地址寻址,通过对全网拓扑和链路状态的学习来建立RIB表,同时优选到达目的路由Metric值最小的路径的下一跳写入FIB表(Metric值相同的下一跳负载均衡)。依靠路由协议转发,路径中间每一跳路由器都会查找本地FIB表进行转发,网络中业务流量的转发路径只能按最优路径(Metric值最小的路径)转发,不能预先编程设定和精确控制路经。

在原有转发技术的基础上,MPLS技术作为一种2.5层技术,通过LDP协议来为网段分配标签,建立标签转发表,以标签转发替代三层路由转发,提升了转发效率。

为了解决传统IP路由器协议只能最优路径(Metric值最小的路径)转发,无法精确规划转发路径的问题,基于MPLS发展出了RSVP-TE隧道技术。RSVP-TE确实在一定的时期内代表了先进生产力的发展方向,并在一定范围和场景下得到了大量应用。RSVP-TE可以进行显式路径规划,可以实现带宽资源预留,但是RSVP-TE控制面复杂、配置也复杂,状态维护消耗性能还不支持ECMP。概括一下,RSVP-TE太重量化,太复杂了,不能完全适应在大型广域网内的大规模应用。

SR-TE依然保留和利用了MPLS标签(SRv6不在本文讨论范围内),扩展路由协议支持SR标签的分发,省去了LDP协议,报文头中的Segment List直接包含了路径信息,在头节点就可以控制路径,也不需要像RSVP-TE一样进行大量的状态维护。概括一下,SR更加适应大型广域网的大规模流量工程场景,也更加适应SDN对网络业务流量转发路径集中控制的要求。

本文就浅谈一下SR-TE路径建立及控制的两种实现方式Tunnel Interface和SR Policy的对比,看看在那些方面SR Policy方式比Tunnel Interface方式有较大的优势和提升。

2.SR Policy 对比Tunnel Interface的优势与提升

SR-TE分为SR Tunnel Interface和SR Policy两种实现方式,或者说两个体系,先说结论,SR Policy确实是后起之秀,最早由思科提出这个概念和相关技术标准,较短时间内,目前主流厂家路由器均开始支持SR Policy。

Tunnel Interface是隧道接口,是两个网元之间的一个虚拟连接,所以Tunnel Interface的SR-TE类似于传统LSP技术,以虚拟接口的方式实现对业务流量的导入。Tunnel Interface的路径下发与更改,其来源可以是CLI,也可以是SDN的南向接口PCEP / Netconf,最终要映射为在头节点路由器上的一条实际的隧道和隧道路径的配置。

SR Policy定义的是网络的一种策略,只是这种策略包含了一个业务流量的承载诉求和转发路径。SR Policy由(head-end、color、end-point)三元组描述决定。SR Policy的来源可以是CLI,也可以是SDN的南向接口BGP / PCEP / Netconf。

目前BGP for SR Policy是业内发展比较快应用比较广泛的一种SDN南向接口,相关的标准大家可以参阅draft-ietf-idr-segment-routing-te-policy-08(Advertising Segment Routing Policies in BGP)。详细介绍SR Policy不是本文的重点,本文将简单的去总结一下SR Policy对比Tunnel Interface的优势与提升。

2.1.SR Policy更灵活实现业务流量引流

Tunnel Interface方式的SR-TE本质上还是一个网络层面的隧道接口,相关的业务流量的导入和引流需要借助于传统PBR的方式来实现。MPLS-VPN场景可以直接将VPN流量over在Tunnel Interface的SR-TE上,此时Tunnel Interface的隧道替代了LDP转发隧道。

BGP for SR Policy则可以实现基于业务流量的自动引流。如图1中所示,End-point基于BGP路由1.1.1.0/24的Community值来设定Color为Red,Head-end通过BGP协议学习到设定了Color值的NLRI。对head-end设备下发SR Policy,此SR Policy的BSID为4001,对于Color为Red的流量,设定优选Candidate path为SID-LIST<16002,16004>。根据此SR Policy,head-end设备对Color为Red相关的去往1.1.1.0/24的流量,按照BGP路由转发遵从BSID为4001的SR Policy,数据头部压入相应的SID标签栈。中间路由器根据head-end的压入的SID标签栈路径完成转发。所以SR Policy的SR-TE引流自动完成,不需要配置PBR。

 

图1.BGP SR Policy引流策略示意图

 

2.2.SR Policy更灵活实现差异化服务

使用QOS策略进行差异化服务和保障是传统方式,但是受限于DSCP的8个等级的限制,而且差异化服务的实现是逐跳转发设备的QOS保障来实现的,无法将业务流量和承载路径相绑定,通过优化路径来实现差异化服务。

2.2.1.SR Policy设定Color值将业务承载诉求映射为隧道能力

Tunnel Interface场景进行差异化服务的实现,依靠两点间不同的业务流量承载需求建立不同的Tunnel Interface隧道(低时延隧道、高保障隧道等),再在头节点通过PBR将业务流量引入相应的SR-TE内。 需要对业务流量进行调优时,可以通过变更隧道路径或者变更流量所承载隧道来实现。

SR Policy中,通过Color来表征不同的承载诉求,Color不代表某条实际的隧道,而代表一类承载能力的隧道的集合,如RED为低时延类的业务诉求,Green为时延不优选但高带宽保障类的业务诉求。Color值没有DSCP 8个等级的限制,可以实现更多的保障等级。Color在某种程度上成为了业务承载诉求和实际隧道之间的中介,业务流量不直接定义和具体隧道的映射关系,只表达自己的承载诉求并和相应Color的SR Policy进行关联。

SR Policy的差异化服务保障场景,目的地址表征了业务流量,相同的业务承载诉求标识为相同的Color,SR Policy通过目的地址+Color将业务承载需求和隧道保障等级相绑定,在业务承载需求有变化时直接变更SR Policy内的Color值就可以。或者换句话说,因为在一个SR Policy中即定义了Color又包含实际的Segment List路径,所以由于定义了Color值,SR Policy对差异化服务和流量路径调优的实现是一致的。

2.2.2.SR Policy可以实现基于VPN内部业务路由的差异化服务

Tunnel Interface在MPLS-VPN承载场景,对VPN内部不同的业务路由,很难区分出来并承载到不同的SR-TE隧道上。

SR Policy在MPLS-VPN承载场景,可以对VPN内的不同路由着色为不同的Color,从而实现对同一个VPN内不同业务流量的差异化承载需求。或者说SR Policy技术本身的特性决定了SR Policy根本就不区分裸IP场景和MPLS-VPN场景,都可以根据不同的业务路由来进行差异化承载,不管这个路由是公网路由还是VPN内的私网路由。

随着5G商用的推进,必然会带来相应网络业务的大发展,面对更加复杂的业务承载需求,有着更加精细化承载能力的SR Policy,无疑更有用武之地。

2.3.SR Policy支持ECMP/WECMP

2.3.1.SR Policy更灵活支持主备路径

Tunnel Interface能实现主备路径,主路径承载流量,备路径在主路径故障时接管流量。主路径和备路径单独建立,单独维护。

SR Policy如2所示,一个SR Policy内可以有多个候选路径Candidate Path,不同的Candidate Path设定不同的Perference值来表征不同的优先级。SR Policy主备路径通过不同的Candidate Path实现,高优先级的为主用路径,低优先级的为备用路径。所以SR Policy不仅能否实现一主一备,而且实现一主多备。SR Policy所有的主备路径的控制都在一个Policy里实现,简化了管理,提升了效率。

 

图2.SR Policy协议架构图

 

2.3.2.SR Policy支持ECMP/WECMP

Tunnel Interface方式不支持ECMP/WECMP,这对Tunnel Interface的扩展能力是很大的限制。

SR Policy的定义非常灵活,如图2所示,在一个Candidate Path内,还可以有多个Segment List路径。每个Segment List都有自己的权重weight值,如果Weight值相同,则不同Segment-List路径之间负载均衡ECMP转发;如果Weight值不同,则不同Segment List路径之间按照权重负载均衡WECMP转发。ECMP和WECMP能力的实现,极大的提升了承载效率和承载能力。

2.4.SR Policy更灵活实现路径编程更贴合SDN发展

Tunnel Interface实现方式,网络SDN的南向接口以PCEP为主,不管是PCC-initiated建立Tunnel Interface隧道,再托管到控制器,还是控制器PCE-initiated建立隧道直接下发路径,转发路径下发后,最终在设备上的实现都要转化为实际的隧道和隧道路径的配置。

SR Policy的实现方式,SDN的南向接口可以是PCEP,也可以BGP for SR Policy,对于SDN控制器来说接口更加灵活;隧道路径直接在SR Policy内携带,下发到设备后,head-end设备直接根据Policy内的Segment List封装数据包,压入相应顺序的标签,不用转化为设备上实际隧道和隧道路径的配置,对于设备来说也更轻量化,更易实现。

在SR Policy的SDN控制场景,控制器根据不同的业务承载需求计算相应的承载路径,并以end-point+Color做为关键值去绑定一个BSID(Binding SID),再下发到head-end路由器,head-end路由器根据BSID将业务流量自动引流入BSID对应的SR Policy的相应Canditate Path进而进行转发。一个SR Policy的BSID就是被优选的Canditate Path的BSID。

总之,SR Policy可以实现控制面和SR转发面的完全分离,更便于实现业务转发路径编程和控制器集中控制。

3.总结

Tunnel Interface实质上还是一种隧道技术,而SR Policy则完全超越了隧道技术,将所有网络功能都封装在SR Policy里面,比如转发路径、负载分担、承载等级,并可以抽象成一个BSID,供APP或者控制器调用。

作者简介:熊学涛,北京世纪互联宽带数据中心有限公司网络运维中心,网络运维总监。近二十年运营商、互联网公司工作经验。在超大规模数据中心组网、运营商级广域网领域有着丰富的项目经验,毕业于西安电子科技大学通信工程学院,华南理工大学工程硕士。

 

责任编辑:未丽燕 来源: SDNLAB
相关推荐

2019-01-11 13:57:06

2021-12-08 10:47:35

RabbitMQ 实现延迟

2010-07-14 10:30:26

Perl多线程

2009-04-03 09:00:20

SQL Server2005用户

2009-06-15 15:02:48

Spring定时器

2022-06-08 15:12:34

前端前端截图

2011-03-03 10:26:04

Pureftpd

2010-02-24 14:25:48

WCF地址

2010-07-13 14:54:15

Perl面向对象编程

2021-05-27 10:57:01

TCP定时器网络协议

2010-08-06 09:38:11

Flex读取XML

2023-03-29 13:06:36

2015-10-09 09:51:29

Web API认证

2023-05-31 19:10:31

2009-06-25 13:43:00

Buffalo AJA

2010-10-21 16:24:18

sql server升

2010-09-07 11:09:59

2010-09-28 15:12:27

Javascript

2021-06-30 07:19:34

SpringBoot定时任务

2024-03-29 11:33:23

转换[]bytestring
点赞
收藏

51CTO技术栈公众号