发布信息

MPLS与SR技术对比:如何选择不丢包低延迟的网络传输方案

作者:软荐小编      2025-03-30 21:03:13     210

当你在游戏里达成“五杀”之际出现卡顿;当你在进行视频会议时突然发生掉线情况;这些令人抓狂的瞬间背后,多数是由数据传输丢包或者延迟所导致的。如何保证不丢包呢?这是一个关键问题。如何保证低延迟呢?这也是一个关键问题。而 MPLS(Multiprotocol Label Switching,多协议标签交换)和 SR(Segment Routing,分段路由)这两种先进的传输技术就是解决这些关键问题的“武器”。

今天我们要聊的两位主角是 MPLS 和 SR。它们就如同网络世界中的“老司机”一样,以不同的方式在数据高速路上运送着每一个比特。那么,它们到底谁更胜一筹呢?让我们一起来探究一下吧!

MPLS是什么?

MPLS 是多协议标签交换;它属于第三代网络架构;是当前广泛应用的 IP 高速骨干网络交换标准。

想象你寄快递时填写的地址标签,MPLS 是给每个数据包贴上的专属“目的地”。此标签包含转发路径信息,路由器如同智能分拣机,能根据标签迅速决定数据包的去向。

标签能决定 IP 数据包的传输路径以及优先顺序。

MPLS 路由器在进行 IP 数据包转发之前,只会读取包头的标签,不会读取 IP 数据包中的 IP 地址等信息。由于这样的操作,数据包的交换转发速度得到了大大加快。正因如此,MPLS 被称为 2.5 层协议,如下图所示。

如下图所示。

MPLS 的网络内(也就是 MPLS 域内),路由器之间会运行 MPLS 标签分发协议,像 LDP、RSVP 等这些协议。通过这样的运行,MPLS 域内的各个设备都能够被分配到相应的标签。

IP数据包通过MPLS域的传播过程如下:

入口边界LER(标签边界路由器)会接收数据包,接着为这些数据包分配与之对应的标签,之后用标签去标识该数据包。

LSR(标签交换路由器)接收到被标识的数据包,然后查找标签转发表,接着使用新的出栈标签去代替输入数据包中的标签。

出口边界 LER 接收到这个标签数据包后,会将标签删除掉,接着对 IP 数据包进行传统的第三层查找操作。

举例:在视频会议场景中,数据包从深圳到长春经过10个节点:

SR是什么?

网络规模在不断扩大,当前的网络传输情况是,依靠 MPLS 标签交换的技术方案已经越来越难以承担负荷了。

这是因为 MPLS 的路径建立过程中,控制中心需要为每个站点去规划路径,并且要将路径规划下发到每一个站点。同时,每一个站点除了进行数据转发之外,还需要对规划的路线以及线路的状态进行维护。

为了能更好地与高速 5G 相匹配,SR(Segment Routing,分段路由)这项技术就产生了。SR 是一种以源路由为基础的隧道技术。

源路由能在数据包的发送源头也就是源节点处,指定数据包的传输路径。具体而言,源节点既可以指定数据包经过的部分路径节点,又可以指定全部路径节点,同时还可以定义数据包经过的链路信息。

如下图所示,假设依次给节点 1 到 8 分配 Node SID(201 到 208)。接着给节点 4 和 7 的互联链路分配了 Local Segment SID 为 507。那么 Segment List 包含 204、507、208,它描述了一条

Node1 到 Node2 的指定转发路径,Node2 到 Node3 的指定转发路径,Node3 到 Node4 的指定转发路径,Node4 到 Node7 的指定转发路径,Node7 到 Node8 的指定转发路径。

数据包的转发流程描述如下:

压入的对象是{204, 507, 208}的 Segment List。

Node1 把栈顶的 SID 204 提取出来,接着依据最短路径算法去查找转发表,从而确定转发的下一跳是 Node2。因为 Node2 并非 SID 204 的最后一跳,所以 Node1 不会将栈顶的 SID 204 弹出。

Node2收到该数据包后,将栈顶的 SID 204 提取出来。接着,依据最短路径算法去查找转发表,从而确定转发的下一跳是 Node3。因为 Node3 并非 SID 204 的最后一跳,所以 Node2 不会弹出栈顶的 SID 204。

Node3接收到该数据包后,将栈顶的 SID 204 提取出来。接着,依据最短路径算法去查找转发表,从而确定转发的下一跳为 Node4。因为 Node4 是 SID 204 的最后一跳,所以 Node3 把栈顶的 SID 204 弹出,此时便暴露出新的栈顶 SID 507。

Node4接收到该数据包后,将栈顶的 SID 507 提取出来。接着,依据最短路径算法去查找转发表,从而确定转发的下一跳为 Node7。因为 Node7 是 SID 507 的最后一跳,所以 Node4 把栈顶的 SID 507 弹出,这样就暴露出了新的栈顶 SID 208。

Node7收到该数据包后,会提取栈顶的 SID 208。接着,它会依据最短路径算法去查找转发表。通过查找转发表,确定转发下一跳为 Node8。因为 Node8 是 SID 208 的最后一跳,所以 Node7 会弹出栈顶的 SID 208,并将数据包转发给 Node8。

在始发地深圳,调度中心指定运输路径需经武汉和北京抵达长春。这种于始发站指定路径的方式即为源路由:在始发地(像深圳这样的地方),SR 的调度中心明确包裹要途经的部分或全部城市以及路线信息,其他城市只需依照规划的路线直接进行转发。

MPLS和SR的区别

小编整理了一份表格,此表格用于区分 MPLS 与 SR 在关键特性方面的差异。

对比维度MPLSSR

技术原理

基于标签交换技术,通过预先分配的标签转发数据包

利用源路由技术,源节点来指定分段路径(Segment List)

架构复杂度

需要维护路径的状态,因为控制平面较为复杂,且依赖 LDP/RSVP 等协议。

中间节点无状态,路径由源节点集中控制(控制平面简化)

协议依赖

需要额外协议(如LDP、RSVP)建立标签转发路径

利用 IGP 扩展(像 OSPF 或 ISIS 等)来传播 SID,并且不需要独立的协议。

转发机制

入口 LER 会压入标签,中间 LSR 会替换标签,出口 LER 会移除标签,这就是逐跳标签交换的过程。

按照 Segment List 一段一段地进行转发,栈顶的 SID 会指导路径,并且节点会弹出已经完成的 SID。

扩展性

在大规模网络中标签分发和维护成本较高

支持大规模网络,通过分段路径灵活控制流量

维护复杂度

需要维护标签分发协议和路径状态

中间节点无需维护路径状态,仅需支持SID解析

应用场景

传统企业网络、虚拟专用网络服务、QoS保障

5G网络、SDN环境、大规模数据中心互联

相关内容 查看全部