SR-MPLS Vs. SRv6:是什么导致了SRv6的滞后?

目前风靡一时的Segment Routing(SR)技术是由Cisco提出的一种源路由机制,旨在为IP和MPLS网络引入可控的标签分配,为网络提供高级流量引导能力。SR有两种方法,一种是基于MPLS的Segment Routing(SR-MPLS),另一种是基于IPv6的Segment Routing(SRv6),下面仔细研究一下这两种方法。

SR-MPLS Vs. SRv6

这两种SR技术都是对数据包中的路径信息进行编码,但两者的编码方式不同。

  • SR-MPLS使用标签栈来描述通过网络所需的路径。标签交换路由器(LSR)观察标签,弹出并转发。
  • SRv6使用嵌入在IPv6数据包中的SRH(Segment Routing Header),支持SRH的节点读取报头、更新指针、交换目标地址并转发。

这两种SR方法几乎不需要路由基础设施本身。在核心网络中不维持SR状态,因为每个包中都嵌入了转发指令。

相反,边缘路由器,或者控制器,在数据包被发送到核心之前,会创建路径并对数据包中的标签栈或SRH进行编码。

SRv6采用面临的挑战

SR-MPLS目前已经得到了一定的采用,特别是在服务提供商中。然而,SRv6的采用却一直处于滞后的状态。为什么?简而言之,硬件。

当涉及到转发时,SR-MPLS没有任何特殊的ASIC要求。尽管需要特定于SR-MPLS的控制平面软件,但这并不影响ASIC转发数据包的能力。因此,SR-MPLS的采用成本相对较低。

相比之下,SRv6对ASIC提出了一些特殊的要求。SRH是一个新的IPv6报头,仍是IETF的草案。 SRv6节点必须沿SR路径执行多个操作,包括读取SRH,将IPv6目标字段重写到路径中的下一个节点,更新指针以及执行特定于节点的操作。

这些要求并不是不可克服的,但是,为什么要将没有人会用的功能加入到硅片中呢?

要想改善这种情况,不支持SRv6的路由器须正常转发数据包,忽略SRH,不是每个网络节点都必须处理SRH。

SRv6的软硬件支持

到目前为止,Cisco的NCS5500和Nexus 9300GX以及Barefoot的可编程Tofino芯片都支持SRv6。此外,有传言称Juniper可能会在其Penta芯片中支持SRv6,因为Penta也是可编程的。

在一次技术领域日演讲中,思科的Jakub Horn表示,“我们现在的第一个硬件实现是在两个平台上。一个是定制硅片,第二个是商用硅片。两者现在都在IOS-XR 6.1版本中发布。显然,在能力方面,它们略有不同,定制硅片要稍微好一些。”

在软件中,Linux内核通过SREXT内核模块支持内核版本4.10的SRv6。开源FD.io项目也支持SRv6。

什么驱动了SRv6?

思科似乎是SRv6背后的推动力。思科进行了芯片投资,同时也在IETF中做了很多与SRv6相关的工作,并且似乎与FD.io SRv6实现相关联。

为什么?在思科的SRv6演示中,主题是网络简化。也就是说,运营商可以使用更简单的IPv6结构提供与MPLS堆栈相同的应用和服务。思科拥有驱动完整SRv6解决方案的所有硬件和软件产品。

简化是一个有趣的观点,但不确定MPLS对于运营商来说是否是一个复杂的问题。此外,SP网络的任何重大变化都将是一个缓慢的过程。

“简化”会推动SRv6的采用吗?目前,还没有答案。

原文链接:https://packetpushers.net/a-glimpse-at-two-approaches-to-segment-routing/


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/23012.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于19-03-11
3