1.1、SR(Segment Routing Over MPLS) 介绍

目录

SR-MPLS 介绍

Segment Routing定义与背景

业内对Segment Routing技术的评价

Segment Routing目的

传统思路网络架构设计

新思路:业务定义网络架构

Segment Routing优势

简化MPLS网络的控制平面

SR在网络可靠性的努力

更强的网络容量扩展能力,简化TE实施步骤

更好的向SDN网络平滑演进

基于OpenFlow的SDN实现

集中算路的优势:最优性、可预见性和收敛时间

OpenFlow的不足

SR技术需要解决的OpenFlow类问题


Segment Routing定义与背景

        思科在2013年提出,SR是基于源路由理念设计的数据转发协议,已成为SDN的主流网络架构,SR将转发路径分成一个个段,并为这些段和转发点分配段标识ID。通过对段和网络节点进行有序排列(SegmentList),可得一条转发路径。

        SR将SegmentList编码在头部,随包传输。接收到数据包后,对SegmentList进行解析,如果SegmentList的顶部标识是本节点,则弹出标识;不是本节点,则使用ECMP(Equal Cost Multiple Path)将数据包发到下一节点。

 SR技术支持MPLS和IPv6两种转发平面

  • Segment Routing MPLS指基于MPLS转发平面的Segment Routing,简称为Segment Routing,也称为SR-MPLS,其SID为MPLS标签(Label)Segment就是标签,Segment List就是标签栈。活动Segment是顶层标签,一个Segment完成时相关标签被弹出。当对数据包应用SR策略时,相应的标签栈会被压入数据包。SR架构重新使用了MPLS数据平面,没有任何变化。现有基础设施只需要软件升级以启用SR控制平面。
  • 基于IPv6转发平面的SR称为SRv6,其SID为IPv6地址

业内对Segment Routing技术的评价

        经历MPLS、VXLAN、OPENFLOW为基础的大型网络,学术派离真正可运营网络有多远,SR在控制颗粒度、运营复杂度中找到了一个新的平衡,结合了“集中控制的大局观与分布智能的精细化”两方面的优势,是现代大规模数据中心网络和广域骨干网络设计、控制和操作演进的重要一步

        Segment Routing远不止是传统MPLS技术的改良,它代表的是一种全新的网络理念,即所谓应用驱动网络的架构。在这个架构下,网络是计算平台,Segment是指令,两者的有机配合将应用需求自动而无缝地映射到网络基础设施之上,进而实现端到端的配置及调度。

        SR设计极其优雅,数据面可以基于久经考验的MPLS,或者IPv6,控制面通过扩展IGP,去掉LDP、RSVP等令运维人员头疼的协议,简化了网络的架构。更令人兴奋的是,SR完美地结合了软件定义网络(SDN),通过集中式的SDN控制器,我们可以根据网络状态,直接在数据源端设定数据在网络中的路径(路径包含在数据包头),无须修改路径上网络设备中的路由信息,使得大规模部署流量工程(TE)更简单。这项技术的价值不仅满足不同客户SLA的需求,而且平衡了网络流量,大大减少了拥塞的概率。

        源路由、只在网络入口节点保存状态信息、天生支持跨域、与拓扑无关的快速收敛等特性被广泛应用于国内外顶级的电信运营商和互联网运营商的网络之中

        2017年2月Linux内核4.10版本正式支持Segment Routing,这极大地拓展了Segment Routing的应用场景,意味着从主机甚至是容器开始就可以调度其对应的业务流在全网的端到端路径,为Segment Routing后续发展注入了强大动力。

Segment Routing目的

传统思路网络架构设计

  • 应用与承载网隔离

• 传统思路用网络架构适配业务:网络无法匹配业务的快速发展,并会使网络部署越来越复杂,且难以维护

• 运营商管道化,无法从应用中获得收益,业务方提出差异化服务能力

• 应用信息缺失,运营商网络调优粗放,造成资源浪费

• MPLS也曾试图更靠近主机和应用,但因为其本身网络边界多、管理复杂度大等多方面原因,失败告终

  • 传统网络数据面和控制面紧密耦合,相互绑定销售,在演进上相互依赖,业务上线周期长,难以应对现在新兴业务快速发展
  • IP承载网的孤岛问题,端到端业务的部署非常复杂

• MPLS统一承载网,但IP骨干网、城域网、移动承载网之间独立MPLS域,相互分离,需要跨域VPN互联,跨域场景下RSVP-TE将是扩展性瓶颈

• L2VPN、L3VPN多种业务并存的情况下,设备中可能同时存在LDP、RSVP、IGP、BGP等协议,管理复杂,不适合大规模业务部署

  • 实现协议复杂,叠加RSVP-TE、LDP
  • RSVP-TE对ECMP支持性差
  • 没能解决路由收敛过程中流量收敛问题

        在6年之内,思科把一个覆盖全球的参考网络的ISIS/OSPF收敛时间从9.5s减少到小于200ms。这牵涉路由系统方方面面的大量优化,从ISIS/OSPF进程,到路由器线卡硬件FIB(转发表)的构建:涉及RIB(路由表)、LDP、LSD(标签交换数据库,即MPLS RIB)、BCDL(从路由处理器到线卡的总线)和FIB进程等,但下一个瓶颈是满足电信级50ms的快速路由收敛。

  • 无法满足电信级50ms端到端链路高可用检测倒换需求
  • 分布式信令机制的缺陷:缺乏最优性、缺乏可预见性以及收敛速度慢

        在一个分布式信令方案中,每台路由器就像一个坐在桌子边的小孩,而带宽资源就像桌子中间的一堆糖果。每台路由器争抢带宽资源,就像一个小孩在争抢糖果一样。这种缺乏协调的争抢会导致最优性的丧失(任何一个小孩都没法保证获得他喜爱的口味或者对其健康有利的糖果),也会导致可预见性的丧失(没法猜测哪个小孩会获得什么糖果),还会导致收敛速度慢的问题(小孩们为了同一个糖果争抢起来,都抢不到,换一个糖果又抢起来)。

新思路:业务定义网络架构

  • 由应用提出需求(时延、带宽、丢包率等),控制器收集网络拓扑、带宽利用率、时延等信息,根据业务需求计算显式路径

  • Segment Routing特点

• 对现有协议(例如IGP)进行扩展,简化控制平面(去除LDP和RSVP-TE,去除LDP/IGP同步)能使现有网络更好的平滑演进

• 支持控制器集中控制和转发器分布控制,提供集中控制和分布控制之间的平衡

 • 分布式智能(最短路径计算、快速重路由、微环路避免)

• 集中式优化(TE)

• 采用源路由技术,提供网络和上层应用快速交互的能力

• SR流量工程原生支持ECMP

• 优秀的FRR支持程度,与拓扑无关的且针对IP优化的50ms FRR(TI-LFA)

• 微环路避免

• 可在现有网络无缝部署(同时适用于SRMPLS和SRv6)。

• SDN的事实上的网络架构。

• 标准化。

• 多厂商共识。

• 来自运营商的强烈需求。与运营商一起紧密合作开发,致力于解决真实用例。

• OAM

• 流量采集

• 跨域

Segment Routing优势

简化MPLS网络的控制平面

  • 控制平面直接使用控制器或IGP集中算路和分发标签,不再需要RSVP-TE,LDP等隧道协议,LDP增加了复杂度:需要多配置一个协议,而且要解决LDP和IGP之间复杂的交互问题(LDP-IGP synchronization issue,RFC5443,RFC6138)IGP协议去分发前缀(Prefix)和与前缀绑定的标签(label),比用单独的LDP协议分发标签要好。
  • 在RSVP-TE方面,其带宽管理控制功能的实际部署案例很少,少量的案例也暴露出运维复杂和扩展性不佳的问题。大多数用户部署RSVP-TE只是为了使用快速重路由(FRR,Fast Reroute)功能。很可能没有企业用户以及只有不到10%的运营商用户在使用RSVP-TE,他们中绝大多数部署RSVT-TE是为了FRR。

• RSVP-TE(基于流量工程扩展的资源预留协议)RSVP-TE对等价多路径(ECMP,Equal Cost Multi Path)的支持并不好。这是一个根本性的问题,因为现代IP网络的一个基本属性就是提供从源到目的地的多路径。ECMP能够将流量分布到多条路径上,这对于按需增加网络带宽容量和提供冗余保护来说是至关重要的。其次,为了准确地预留带宽,RSVP-TE要求所有的IP流量跑在RSVP-TE隧道中,这导致了应用上的复杂性和可扩展性问题。

• 好比一年只有那么几天会下雨,但一个人却需要天天穿着雨衣和雨鞋出门一样。正常状态下,网络并不需要流量工程来避免拥塞,某些极端情况下,流量超过了规划的带宽,或者发生了一些预料之外的故障,网络会发生拥塞,这个时候可能会需要流量工程。对这种极小概率的流量突发或网络故障导致的拥塞零容忍,此时就需要战术型流量工程了。经典的RSVP-TE方案是一种“永远在用”的方案。在任何时候,无论拥塞有没有发生,所有流量必须被引导通过“电路”(RSVP-TE隧道)进行转发。这需要在每一跳上正确地统计已使用的带宽。全网状连接意味着从任意一个网络边缘节点到其他任意一个网络边缘节点间都需要建立隧道,且所有的流量必须在隧道里传送。全网状隧道不会带来任何收益,而只会导致操作非常复杂和扩展性受限。

• IP转发会破坏流量统计的准确性,因此所有流量都需要跑在隧道里,这样基于IGP计算的ECMP就用不上了,为了克服RSVP-TE不支持IGP ECMP的问题,在源和目的地之间必须建立多条隧道(一条等价路径至少对应一条隧道)来实现流量分担。

  • Segment Routing可以直接用于MPLS架构设计网络,转发平面没有变化利于投资保护

SR在网络可靠性的努力

  • 传统网络SLA达成的瓶颈

• IGP快速收敛

• 牵涉路由系统方方面面的大量优化,从ISIS/OSPF进程,到路由器线卡硬件FIB(转发表)的构建:涉及RIB(路由表)、LDP、LSD(标签交换数据库,即MPLS RIB)、BCDL(从路由处理器到线卡的总线)和FIB进程等,但下一个瓶颈是满足电信级50ms的快速路由收敛。

• FRR

• Micro Loop防微环

• 防止数据包由于正在进行收敛的路由器之间短暂的不一致状态而被丢弃的方案。

  • 高效的TI-LFA(拓扑无关性无环备份路由,Topology-Independent Loop-free Alternate) FRR保护,显式路径建立备份路径,无拓扑约束,理论上能达到100% FRR保护实现路径故障的快速恢复

• 传统LFA(Loop Free Alternate)和RLFA(Remote LFA)技术对拓扑有一定约束,无法实现100%故障保护

        “在2000年代初期,RSVP-TE是唯一可用的FRR方案。在一个主用路径使用LDP协议的网络中部署RSVP-TE来实现FRR,会给网络设计和操作带来额外的复杂度,因为三种协议(IGP,LDP,RSVP-TE)之间存在交互:设想当某条链路发生故障时多种协议的事件顺序吧,当某个地方出错时,排错可就不是那么容易了。IPFRR的出现是简化网络的良机,可以只用一个主要的协议(IGP)来实现FRR.虽然LFA/RLFA没有提供100%保证的保护,但对网络的简化已足以成为使用他们的好理由:简单的网络通常更健壮。”

• 无环路备份(LFA,Loop Free Alternate,RFC6571)对于75%~90%的IGP目的地,LFA允许IGP预先计算出FRR备份路径,LFA提供比RSVP-TE简单得多的FRR替代方案

 • 当B和E发生故障,B将数据转发给C,由于C和D之间开销1000,C认为到达F的最佳路径经过B,因此将数据包转发给B,形成环路,转发失败

• 远端无环路备份RLFA(Remote LFA,RFC7490)使得IPFRR的覆盖范围扩展到了95%/99%

• 1、LFA(Loop Free Alternate)和RLFA(Remote LFA)无法保证100%覆盖率2、备份/修复路径不是最优的可能性依然存在(备份路径不是收敛后路径)

• SR结合RLFA(Remote Loop-free Alternate)FRR算法,形成高效的TI-LFA FRR算法。TI-LFA FRR支持任意拓扑的节点和链路保护,弥补传统隧道保护技术的不足

 • TI-LFA关键概念

• 本地修复点(PLR,Point of Local Repair)

• 共享风险链路组(SRLG,Shared Risk Link Group)

• 预先计算备份下一跳,备份路径是收敛后路径,而且是针对每个目的地单独计算的,主跳故障,激活备份下一跳,从而修复节点的可达性。故障发生时,PLR会在10ms以内检测到故障,然后激活备份/修复路径,这一过程与前缀数量无关。

• 当B和E间故障,B启用TI-LFA FRR备份表项,给数据包增加新路径标签(C的Node标签,C到D的邻接标签),保证数据包可以沿着备份路径转发。

  • Ti-LFA midpoint保护

• SRv6 Policy场景指定故障检测点,Proxy Forwarding节点,感知IPv6下一跳接口故障时,且SRH的SL > 0,则执行Proxy Forwarding行为,代替Endpoint节点执行End行为,SRH的SL减1,将Next SID拷贝到IPv6目的地址中,按照Next SID转发,实现SRv6 Endpoint节点故障保护

• 节点C故障,B感知到C出接口故障,B将报文的目的地址改为E,由于SRH的SL>0,节点B执行Proxy Forwarding操作。SL减1,E将Next SID F拷贝到IPv6目的地址中,由于SL为0,则POP SRH,根据目的地址F转发。此场景中根据SPF计算,B到F的最短路径不经过C节点,因此流量可以经过B->E顺利到达F

• 指定节点/链路故障场景100%拓扑50ms保护。SRv6使用IPv6作为SID,所有SID全局可达,Proxy Forwarding通过Next SID作为新目的地址寻址,转发流量到备份路径上,可以理解为SRv6 policy降级为SRv6 BE

  • SRv6 Micro Loop防微环

• 防微环解决网络收敛间的环路问题,由于IGP分布式特性在其无序收敛时,控制面没完成收敛期间转发面有一条无环的备份路径指导转发,由于出现时间很短所以称为Micro Loop

• SRv6防微环的收敛过程

• B和C的链路故障后恢复,E先完成收敛

• E启动定时器T1,在等待收敛期间插入B到C的邻接SID 2::3

• A将报文转发给结点B,由于结点B未完成收敛,依然按照图中路径2转发,转发给结点E

• E根据计算的无环路径在报文插入B到C的邻接SID 2::3,并转发到结点B。(B和E来回一次,但由于E修改目的地址,不会成环)

• B根据SID 2::3指令执行转发动作,沿着SID 2::3指定的出接口转发到结点C,并执行SL-1,将外层IPv6头变更为6::

• C按最短路径转发到目的地址F

• 正切防微环

• DeviceB故障后,如DeviceA先于DeviceF收敛,则DeviceA会将流量转发给DeviceF,但是DeviceF没有收敛,仍旧沿着原路径转发,这样DeviceA和DeviceF之间就会形成环路

• 避免微环的产生,DeviceA在DeviceB故障以后,延迟一段时间收敛,并且将流量切换到TI-LFA备份路径上。当DeviceF收敛完成后,DeviceA再收敛,收敛完成以后,流量从TI-LFA备份路径切换到收敛后路径

• 回切防微环

• DeviceB和DeviceC之间的链路故障恢复前,数据流量沿着备份路径转发。当DeviceB和DeviceC之间的链路故障恢复后,如果DeviceA先于DeviceB收敛,则DeviceA会将流量转发给DeviceB,但是DeviceB没有收敛,仍旧沿着备份路径转发,这样DeviceA和DeviceB之间就会形成环路。

• 为了避免微环的产生,DeviceA在故障回切以后,先通过显式指定路径的方式转发数据包,在转发的时候往数据包添加端到端路径信息(例如DeviceB的End.X SID),这样DeviceB收到数据包后,根据数据包里的SRH路径信息将数据包转发给DeviceC。DeviceB节点收敛以后,DeviceA就可以取消SRH报文头,按正常IPv6转发的方式将数据包转发到DeviceC

更强的网络容量扩展能力,简化TE实施步骤

  • SR技术

• Segment Routing仅在头节点对报文进行标签操作,可控制任意业务路径,中间节点不需要维护路径信息,设备控制层面压力小

• Segment Routing技术的标签数量是:状态数=节点数+本地邻接数,只和网络规模相关,与隧道数量和业务规模无关

  • MPLS技术

• MPLS TE是一种面向连接的技术,为维护连接状态,节点间需要发送和处理大量Keepalive报文,设备控制层面压力大

• MPLS-TE技术的状态数:Full-mesh 网络状态数=节点数*(节点数-1)*2,即总隧道数量的2倍,隧道数量和业务规模强耦合

更好的向SDN网络平滑演进

  • 基于源路由理念,源节点即可控制数据包的转发路径。配合集中算路模块,实现路径控制与调整
  • 同时支持传统网络和SDN网络,兼容现有设备,保障现有网络平滑演进到SDN网络,而不是颠覆现有网络

基于OpenFlow的SDN实现

        OpenFlow网络规模难以扩展,路由收敛慢的瓶颈不在于控制平面和路径计算算法,而在于处理器往线卡发送FIB更新的时间,以及从线卡CPU往线卡硬件转发表写入更新的时间。基于OpenFlow的方式会陷入严重的收敛问题。从集中式的控制平面向各个交换机发送更新,并且交换机把更新安装到硬件中,需要耗费太多的时间。

        从量级的角度看,当我们开始路由快速收敛项目研究的时候,路由处理器用来计算和更新一条路由表项的时间在us量级,其他部分(分发更新到线卡,更新硬件转发表)的处理时间在ms量级。我们花了很多年的时间,才把后者改善到10us量级。

集中算路的优势:最优性、可预见性和收敛时间

        OpenFlow的不足

  • OpenFlow的控制粒度太小:每条流(Flow)的每一跳转发都需要一条表项,控制器需要给转发路径下所有转发器进行编程,转发器维持的状态过于庞大
  • 每次网络发生变化时,控制器都需要重新计算流的转发逻辑,以及更新网络中大部分设备的流表

        SR技术需要解决的OpenFlow类问题

  • 每条流的状态信息越少越好,只在源节点对每条流维持一个状态信息即可

        行李标签比喻解释SR。设想某人要把行李从西雅图发送到柏林(TXL),途径墨西哥城(MEX)和马德里(MAD)。显而易见的是,航空运输系统并没有为这件行李产生一个单独的ID(flow ID),而是在墨西哥城(MEX)和马德里(MAD)创建电路状态,用于识别这个行李ID和正确地路由它。航空运输系统采用的是一种更具扩展性的方法:在始发机场给行李贴上一个标签“先到墨西哥城,再到马德里,再到柏林”。这样的话,航空传输系统不需要识别行程中的单个行李,而只需要识别几千个机场代码(如TXL代表柏林,MEX代表墨西哥城,就如同网络中的Prefix Segment信息),就会知道怎么按照行李标签把行李从一个机场发送到另一个机场。SR的做法其实完全相同,一个Prefix Segment代表着一个机场代码,报头中的Segment列表代表着行李上的标签。源节点知道数据包的特定要求,把此要求编码为Segment列表,压入报头中,网络中的其他设备不需要知道此数据包的特定要求,只需要知道怎么处理数百/千个Prefix Segment即可。

  • SRTE是集中式和分布式混合架构,转发器维持支持ECMP的多跳Segment信息,而集中式控制器把这些Segment信息组合起来,状态只存在于头节点与数据包头部

• 网络提供去往目的地的支持ECMP的最短路径(PrefixSegment),就像基本的乐高积木一样。分布式智能保证到PrefixSegment的可用性(IGP收敛,IPFRR)。控制器获取全网拓扑状态,包括网络支持的Segment信息,然后进行集中式优化,其流量工程策略表达为若干Segment的组合。Segment就像是乐高积木,控制器可以像组合乐高积木一样按照需要把Segment组合起来,用于表达所需的流量工程策略。

• 归功于源路由的概念,控制器有很好的扩展性:只需要在源节点上维持状态信息,而不是在整个网络基础设施上都维持状态信息。

 

  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值