SR-MPLS的优势和实际应用

描述

多年来,MPLS (多协议标签交换) 一直是网络运营商确保实时应用可靠连接的首选技术。

顾名思义,MPLS不受协议限制,使用标签交换在网络中移动数据包。MPLS通过在数据包头部应用标签,对接收到的数据包进行封装。MPLS 域中的每个路由器都会查看 MPLS 标签,以了解该如何处理每个数据包,但它不关心数据包中的内容。当数据包离开 MPLS 域时,标签将被移除。

但近些年,不乏有“SD-WAN将会取代MPLS?”“SD-WAN正蚕食MPLS,MPLS会消失吗?”等观点的出现。

MPLS可能会过时,但不是因为 SD-WAN。

SD-WAN 拥有成本和OPEX优势,但在许多情况下,仍然需要利用公共互联网和 MPLS 服务进行点到点连接。通过使用QoS和快速重路由技术,能更好地保证持续的流量吞吐和稳定的延迟。

路由器

链接故障导致的快速重路由保护

MPLS 服务能提供可靠的交付和实时快速重新路由保护,但同时也伴随着挑战——MPLS 很复杂。

01 下一代 MPLS

SR-MPLS(Segment Routing MPLS,基于MPLS转发平面的段路由)是基于源路由理念而设计的在网络上转发数据包的一种协议。SR-MPLS的核心思想是将报文转发路径切割成不同的段,再为其分配SID(Segment Identifier,段标识符),然后通过在路径的起始点往报文中封装分段信息的方式来指导报文转发。

Segment Routing 实现了与 MPLS 相同的功能,但没有MPLS那么复杂。此外,它利用了现有的 MPLS 服务和硬件,这意味着它不需要新的基础设施,提供了一个简单的迁移路径。

Segment Routing由思科于 2013 年首次推出,使网络更具可扩展性和智能性,同时提高了容量利用率,从而降低成本并提高用户满意度。Segment Routing 的体系架构基于源路由范式,它通过提供一种简单的、无状态机制来规划数据包通过网络的路径,从而利用源路由。由于应用程序可以完全控制转发路径,并通过在报头中对有序的段列表进行编码来引导数据包通过网络,所以不需要路径信令。因此,Segment Routing 不会创建任何逐流状态,并且可以不受任何限制地无限扩展。

那么,SR-MPLS相较传统MPLS有什么改进呢?

02 SR-MPLS,更智能的MPLS

传统的MPLS非常适合在提供大量服务的同时,在网络中高效地传输流量,但如果想要对流量路径和提供保护的路径进行精细控制时,MPLS就有些力不从心了。

SR-MPLS与传统MPLS的不同之处在于它由路径计算引擎(PCE)提供支持。PCE 可控制路径选择和流量工程,使每个数据包通过网络的路径完全可编程。SR-MPLS基于“源路由”的概念,它在第一个路由器(源路由器)上计算和编程数据包到目的地的路径。路径计算由源路由器或支持高级流量工程选项的外部 PCE 设备执行。 

使用 SR-MPLS,每个路由器都能了解整个网络拓扑。标签(段标识符,SID) 是静态的、可编程的,并且在整个 SR-MPLS 域中持续存在。SR-TE 进程负责从底层路由协议(OSPF 或 ISIS)中收集拓扑和 SID 信息,并将其存储在 SR-TE 数据库中。SR-MPLS中没有隧道的概念,而是创建 "策略",利用 SID列表指示数据包的去向。源路由器或 PCE 使用 SR-TE 数据库和策略信息来计算路径并填充数据包转发表。 

SR-MPLS简单、高效、易扩展,具有很多不可比拟的优势:

面向SDN架构设计的协议,融合了设备自主转发和集中编程控制的优势,能够更好地实现应用驱动的网络。同时,可以天然支持传统网络和SDN网络,兼容现有设备,保障网络平滑演进。

简化设备控制平面,减少路由协议数量,简化运维管理,降低运营成本。SR-MPLS网络需要维护的标签转发表规模很小,一台设备上维护的转发表数为N(节点标签数量,一般为全网节点数量)+A(邻接标签数据,一般为设备接口数量),而传统MPLS网络则为N^2。

支持广泛的部署场景,包括骨干网、DCI网络及DC网络等场景。

能以更简单的方式实现TE、FRR、OAM等功能,从而简化网络的设计和管理,快速获得网络服务,优化整个网络的性能。

SR-MPLS既很好地继承了MPLS技术的优势,又能够适应未来SDN等技术的发展,为SD-WAN网络提供了一种灵活高效的控制手段。SR-MPLS具有使用简单、容易扩展的特点,能够更好地实现流量调度和路径优化,保障关键业务质量、均衡流量分布、提高专线利用率和降低线路成本。

路由器

03 SR-MPLS 的实际应用

当一个未标记的 IP 数据包进入 SR-MPLS 网络时,接收它的路由器(源路由器)会知道到达数据包目的地的所有可能路径。SR-MPLS 源路由器利用这些信息来编译SID列表,将数据包引导至目的地。源路由器将 SID 列表附加到数据包中,然后将数据包转发出去。当数据包穿过网络时,每个路由器都会参考数据包的 SID 列表,以确定该如何处理它。

下面两张图的拓扑结构相同。左边的工作站正在向右边地址为 10.10.10.10 的服务器发送数据包。

路由器

传统MPLS与SR-MPLS

第一张图显示了从 R1 到达 10.10.10.10 所使用的传统 MPLS 标签分配示例(标签是随机生成的)。第二张图片显示了连接到 R1 的工作站到达 10.10.10.10 的 SR-MPLS 标签 (SID) 分配。这里展示的是传统的MPLS网络标签。 

乍一看,你发现了什么?

SR-MPLS 示例中,每跳只使用一个SID,而传统MPLS有四个不同的标签,每一跳都使用一个不同的标签。SR-MPLS SID分配而得,不是随机生成的。每个路由器都配置有唯一的 SID,每个路由器都知道彼此的 SID 以及如何到达它们。 

在上述示例中,连接到 R1 的工作站需要访问连接到 R4 的10.10.10.10 的服务器。R1 知道 10.10.10.x 网络连接到 R4,因此R1 知道它需要将数据包发送到 R4。R1 也知道 R4 的 SID 是 16004,所以它给数据包打上16004 标签并转发。

由于有多条路径(尚未)进行流量工程,并且两条路径的成本相同,因此使用等价多路径 (ECMP) 在两条路径之间实现流量负载均衡。当R2和R5收到一个标签为16004的数据包时,它们知道这个数据包的目的地是R4,所以它们转发这个SID为16004的数据包,R3 和 R6 也是如此。与传统的 MPLS 一样,倒数第二个路由器在将数据包发送到 R4 之前会删除标签。R4接收到无标签报文,并将其视为标准IP报文,转发给10.10.10.10服务器。

04 SR-MPLS流量工程和路径保护

基于相同的拓扑结构,假设希望下图中的绿色路径 (R1→R2→R3→R4)为主要路径,紫色路径 (R1→R5→R6→R4) 为保护路径。通过启用 SR-MPLS-TE 并使用“显式路径”功能,就可以指定希望流量通过的确切路径。

路由器

TI-LFA主路径和保护路径

在该示例中,我们将在 R1 上创建一个策略,指示以 10.10.10.x 为目的地的流量使用由 16002、16003 和 16004 组成的 SID 列表。数据包将离开 R1,并通过指示去往 R2 (16002 ),然后是 R3 (16003),最后是 R4 (16004)。

提供 <50ms 保护切换的机制称为 TI-LFA 或拓扑独立快速重路由。使用 TI-LFA,很容易实现 <50ms的故障转移时间。因为 TI-LFA 已经提前计算出了“新路径”或保护路径,如果主路径发生故障,数据包会立即去往新路径。

在该示例中,由于我们明确指示流量走绿色路径 (R1→R2→R3→R4),TI-LFA 将计算出最佳替代路径。在本例中,唯一的选择是紫色路径(R1→R5→R6→R4)。该路径存储在转发信息库 (FIB) 中,如果主路径故障,R1会根据保存在自身FIB中的指令,立即开始在保护路径上转发数据包。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分