SRTE(segment routing traffic-eng)在运营商和超大型网络中应用愈来愈热门,你们都说对比RSVP-TE,SRTE有不少优点,SRTE的专题在个人SP全栈课程中已经有详细的讲解。今天咱们再经过这篇文章来详细讨论下它们之间算法的区别。算法
先说RSVP-TE,RSVP-TE在进行路径计算和路径选择的时候,能够使用explicit-path(显示路径)或dynamic(动态计算),其中dynamic使用的是CSPF算法(基于约束的SPF算法),如今在SRTE的胶片中称为Circuit optimization (电路优化)的算法,以下图:网络
l 这个说法学过RSVP-TE的同窗很容易理解,这个主要是RSVP这个协议的特性,在路径创建的时候,须要逐跳发送RSVP的PATH/RESV消息,因此称其为circuit-based的算法,这个实际上跟Frame-relay(帧中继)和ATM(异步传输模式)的PVC(永久虚电路)很像,PVC须要手工逐跳创建。异步
l 这种算法基于约束条件(带宽、亲和属性和TE-cost值等),这个在SRTE中称为优化(optimization),实际上就是由于这些约束条件,不选择IGP计算出来的路径。ide
l 计算出来的结果是non-ECMP的path,这个指的是单条RSVP-TE的tunnel同一时间,只能使用一条路径,因此RSVP-TE的算法自己不支持ECMP(等价多路径),若是要让RSVP-TE支持ECMP功能,须要从头端创建到达尾端的多条隧道。学习
l 另外说计算出来的路径SID-List很大(在RSVP-TE里面,计算出来的路径称为ERO(显示路由)),这个主要缘由是RSVP这个协议是逐跳的优化
好,咱们下面来看看SRTE的算法,SRTE在选择路径的时候,也是可使用explicit-path和dynamic计算(固然还有集中式计算PCE等),它用的算法称为SR optimization(中文常常听到称为SR原生的优化算法),如下图:ui
l 它的特色是No more circuit!意思是不须要像RSVP-TE同样逐跳创建隧道,他的路径是在头端发送数据包的时候,压入SID-LIST的标签(数据平面携带路径),因此不须要像RSVP-TE那样须要周期性的维护状态(因为RSVP是soft-state的协议)。可是SRTE压标签的时候,可能会压太多层标签,因此可能须要进行分段。spa
l 算法自己支持ECMP,看上图上,能够看到SRTE在计算的时候,从节点1去往节点3有3条等价路径,那么在Candidate-Path(候选路径)的计算中,这三条路都会被选择(固然实际实验时稍有误差,但能够出结果)。这个跟RSVP-TE不同样,RSVP-TE要作ECMP的时候,须要作多条隧道,更麻烦一些。视频
l 在生成路径的时候,Small SID-List。从上图中能够看到,最后在头端生成的路径是<7,3>,压标签的时候,只会压入节点7和节点3的标签,这样作的好处是1.支持ECMP,2.压标签的时候标签尽量少,在转发的时候能符合链路的MTU需求。blog
总的来讲,RSVP-TE和SRTE算法的基本区别在这里,另外SRTE有更多的约束条件,Cost值的类型能够设置,功能要比RSVP-TE要多。SR-TE的专题课程视频已在IE-LAB的各平台发布,若是对SR-TE技术有研究兴趣能够多关注咱们的学习平台。