通信百科从MPLS到SR,再到SRv6,到底发生了什么?( 二 )


我们引用一个视频来说明SR , 相信更容易理解:
在这个例子中我们不难理解SR的几个特点:
? 源路由:在始发机场西雅图贴上标签路径 。
? 无状态:中间机场不需要知道行李从哪来 , 最终去往哪里 , 而只需要根据标签转发 。
? 集中控制:机场代码由航空运输系统集中分配和维护(当然在SR世界里 , 表达的路径标签也是集中计算和下发的) 。
但在这需要强调的是 , 上面的SR在数据平面仍然是基于MPLS的 , 无论控制面分发标签是基于IPv4还是IPv6 , 从本质上来说还是MPLS下的Segment Routing , 也就是SR-MPLS 。
当网络全面由IPv4向IPv6演进时 , 我们能不能摆脱MPLS ?
答案是肯定的 , 这也就是我们最后要聊的SRv6 , 也就是IPv6下的Segment Routing(SRv6) 。
SRv6
我们先看一看SRv6与SR-MPLS在帧结构上作了哪些改变 。
通信百科从MPLS到SR,再到SRv6,到底发生了什么?
本文插图
可以看得出 , SRv6在IPv6报文中新增了SRH扩展 , 来替代传统的MPLS下的标签转发功能 , 并使用128位的IPv6地址作为网线节点标识SID 。
当传输数据时 , SRv6在首节点传输路径上和各节点的SID集合起来以Segment List的形式放在SRH中 , 并通过SL(Segment Left)来表示中间节点的数量 , 以此修改SL值来实现下一跳 。
通信百科从MPLS到SR,再到SRv6,到底发生了什么?
本文插图
与SR-MPLS相比 , 传统的SR-MPLS是在MPLS的基础上运用了减法和集中的思想 , 减去LDP集中RSVP , 而SRv6则是在传统SR-MPLS基础上 , 给我们带来了大一统和编程的思想 。
为什么要说SRv6有大一统的思想:
从上面的帧结构对比中我们可以看得出 , 与传统SR-MPLS的3层类型标签(VPN/BGP/SR)相比 , SRv6在标签分层上更为简单 , 只有一种IPv6头 , 以此实现统一的转发 。
通信百科从MPLS到SR,再到SRv6,到底发生了什么?
本文插图
另外 , 由于SRv6帧头的标准性 , 使得它更能兼容现网的IPv6设备 , 当中间节点不支持SRv6功能时 , 也可以根据IPv6路由方式来转发报文 。
给我们感觉就是 , 全网都可以采用统一的数据转发技术 , 这也是为什么说SRv6具有大一统的思想 。
那为什么又说SRv6具有编程的思想?
这主要是SRH扩展中128位SID特殊的帧结构中定义的Function字段 。
通信百科从MPLS到SR,再到SRv6,到底发生了什么?
本文插图
Function字段支持编程自定义 , 可以根据业务需要灵活地定义任意功能和业务 。 比如说 , 可以定义Function为END , 表示此SID标识的是一个节点 , 当定义为END.X时 , 表示此SID标识的是一段路径信息 。
这就使得SRv6融合了编程的思想 , 可以提供更加灵活多样化的服务 , 这是传统的SR-MPLS所不具备的 。
最后总结一下 , 从MPLS到SR(SR-MPLS) , 通过IGP扩展SR属性省略了LDP协议 , 并实现基于源地址标签转发的集中控制 。 从SR到SRv6 , 通过在IPv6中增加SRH字段 , 实现基于IPv6的标签转发 , 替代传统的MPLS下的标签转发功能 。
至少在目前来说 , SRv6提供了可预见的网络业务变革的最终形态 。
本期就聊到这儿了 , 感谢您的阅读 , 谢谢!
部分图片来源于网络 , 若侵权 , 请联系 , 将及时替换!