MPLS多协议标签交换到底怎么学?软考网络工程师必考的标签转发、LDP分发与FEC转发等价类一篇讲透

分类: 网络工程师、 软考中级 发表时间:2026年08月27日 04:48 修改时间:2026年08月29日 16:00 阅读量:9

MPLS多协议标签交换到底怎么学?软考网络工程师必考的标签转发、LDP分发与FEC转发等价类一篇讲透

一、概念定义:MPLS到底是什么

1.1 标签交换的思想源头:为什么要有第三条路

在传统的IP网络中,路由器转发数据包的方式是逐跳查找。当一个数据包到达路由器时,路由器会剥开IP包头,取出目的地址,然后去路由表中做一次最长前缀匹配。这里的核心问题是,IP地址是变长的、层次化的,路由器每转发一个包,都要执行一次相对复杂的地址查找算法。在网络规模不大、路由表条目不多的时候,这种逐跳查找的代价可以接受;但当骨干网络的路由表膨胀到几十万条甚至上百万条时,每一次查找的延迟都会叠加,转发效率就成为了瓶颈。

正是在这样的背景下,业界开始思考一个问题:能不能不查路由表就转发?标签交换的思想由此而来。它的思路非常简单——给每个数据包贴上一个短而固定长度的标签,路由器转发时不再去解析那串复杂的IP地址,而是直接查一张标签表,看到某个标签就立刻把它换成另一个标签,然后从对应的接口发出去。这就好比在物流分拣中心,工作人员不看收件人的详细地址,只看包裹上贴的分拣编号,编号对应哪条传送带就丢到哪条传送带,速度自然快得多。

MPLS的全称是Multi-Protocol Label Switching,即多协议标签交换。这里的"多协议"是它的关键定位:MPLS并不绑定某一种网络层协议,它既可以封装IPv4,也可以封装IPv6,甚至可以直接封装二层帧,因此它被称作一种承载技术或者隧道技术。它工作在传统意义上的第二层和第三层之间,所以业界常把它称作"第2.5层"协议。理解这个"2.5层"的定位,是理解MPLS一切特性的起点。

1.2 MPLS在网络协议栈中的精确位置

软考网络工程师的真题中,最经典的一道题就是问MPLS包头的位置应该插在哪里。这道题之所以年年出现,是因为它直接考察考生对协议栈层次关系的理解。MPLS的标签头,也就是MPLS包头,它的位置是在二层帧头和三层IP头之间。更精确地说,在一个以太网封装的数据包中,从外到内的顺序是:以太帧头、MPLS标签头、IP头、TCP或UDP头、应用数据。

这个位置安排有着精妙的设计。如果MPLS标签放在IP头前面,那么入口路由器在打标签的时候,就不需要去理解IP头内部的内容,只需要知道"这个包要往哪个方向去"即可。反过来,如果MPLS标签放在二层帧头前面,那它就和物理链路强绑定了,无法跨不同的二层技术。放在帧头和IP头之间,恰好让MPLS既能被底层各种链路技术承载,又能对上层各种网络层协议透明。

题目中给出的几个干扰选项,正好反映了考生的常见误解。选项"以太帧头的前面",本质上是把MPLS当成了二层技术的一部分;选项"IP头与TCP头之间",是把MPLS当成了网络层内部的扩展;选项"应用数据与TCP头之间"则彻底混淆了层次。正确答案永远是:以太帧头与IP头之间。这个知识点值得牢牢记住,它是MPLS这一节送分率最高的一道题。

1.3 核心术语:FEC、LSR、LER、LSP

要把MPLS学透,首先要把一组核心术语彻底搞清楚。第一个术语是FEC,即Forwarding Equivalence Class,转发等价类。它指的是一组被以完全相同方式转发的数据包。所谓"相同方式",包括相同的出口、相同的优先级、相同的下一跳。在MPLS体系中,属于同一个FEC的数据包会被贴上同一个标签。理解FEC是理解标签语义的关键:标签代表的不是某一个具体的包,而是"这一类包该如何转发"这个抽象的规则。

第二个术语是LSR,即Label Switching Router,标签交换路由器。凡是支持MPLS、能够依据标签进行转发的路由器,都叫LSR。LSR又分为两种角色:位于MPLS域边缘的称为LER,即Label Edge Router,标签边缘路由器;位于域内部的则直接称为LSR。LER的作用非常特殊,它是标签的"入口"和"出口":数据包进入MPLS域时,由入口LER负责压入标签;离开MPLS域时,由出口LER负责弹出标签。

第三个术语是LSP,即Label Switched Path,标签交换路径。它是一条从入口LER出发、经过若干中间LSR、最终到达出口LER的转发路径。需要注意的是,LSP是单向的。从A到B建立了一条LSP,并不意味着从B到A也自动有一条LSP,反向通信需要单独建立一条方向相反的LSP。LSP的这个单向性,是命题人喜欢设置陷阱的地方。

这三个术语之间的关系可以这样把握:FEC定义"什么包走什么路",LSR是"执行转发的设备",LSP是"包实际经过的路"。三者共同构成了MPLS的完整转发体系。理解了这三者的分工,后面讲标签分发、讲转发流程,都会变得顺理成章。

二、原理机制:标签转发到底如何工作

2.1 标签结构与标签栈:32位里装了什么

MPLS标签本身是一个固定32位的字段,由四个部分组成。第一部分是Label标签值,占20位,这是标签的核心,取值范围理论上从0到2的20次方减一。第二部分是EXP,占3位,用于承载流量类别信息,为QoS服务。第三部分是S,占1位,称为栈底标志位,用于标识这个标签是否是标签栈的最后一个。第四部分是TTL,占8位,即生存时间,用于防止数据包在MPLS网络中无限循环,作用与IP头中的TTL完全一致。

这里要特别讲一下标签栈的概念。MPLS允许一个数据包同时携带多个标签,这些标签像栈一样层层堆叠,形成一个标签栈。栈底的标签由S位标识,S位为1表示这是最后一个标签。标签栈的存在让MPLS具有了强大的表达能力,它是MPLS VPN能够实现多层封装的技术基础。在典型的MPLS VPN场景中,数据包往往同时携带两层标签:内层标签标识具体属于哪个VPN用户,外层标签用于在骨干网络中逐跳转发。外层标签会随着转发不断交换,内层标签则相对稳定,一直保留到出口。

标签的另一个关键特性是它的局部性。同一个标签值,在不同的LSR上代表完全不同的含义。也就是说,标签只在相邻的两个LSR之间有意义,它是局部的、临时的。这一点与IP地址的全局性截然不同。理解了标签的局部性,就能理解为什么需要标签分发协议——因为每个LSR都必须和它的邻居协商好"我用哪个标签代表哪个FEC",这个协商过程就是标签分发。

2.2 标签转发的三大动作:压入、交换、弹出

MPLS的转发过程,可以归纳为三个基本动作:Push压入、Swap交换、Pop弹出。这三个动作贯穿了一个数据包在MPLS域中的完整旅程,是软考选择题和案例分析题反复考察的核心。

当一个IP数据包到达MPLS域的入口LER时,入口LER首先根据目的地址判断它属于哪个FEC,然后执行Push动作——把对应的标签压入到数据包的标签栈中,也就是在IP头前面插入一个标签。这就是标签的诞生过程。Push动作只发生在入口LER上,中间的路由器是不会做Push的。

数据包进入域内后,被转发给第一个中间LSR。这个LSR收到带标签的包,不再查看IP地址,而是直接查自己的标签转发表。它找到这个入标签对应的表项,执行Swap动作——把入标签替换成出标签,然后从表项指定的接口转发出去。所谓"标签交换",指的就是这个Swap动作,标签在每一跳都被换掉,所以叫"交换"。中间LSR做的事情非常纯粹:查入标签、换出标签、转发。

当数据包到达MPLS域的出口LER时,出口LER执行Pop动作,把标签从数据包上剥掉,恢复成普通的IP数据包,然后交给常规的IP路由继续转发。Pop动作只发生在出口LER上。至此,一个数据包完成了它在MPLS域内的完整旅程:Push进入、Swap中转、Pop离开。

这里有一个非常值得深挖的优化机制,叫做倒数第二跳弹出,英文缩写PHP,即Penultimate Hop Popping。它的动机是:出口LER如果既要剥标签、又要查IP路由表做最终转发,就会做两次查找,成为性能瓶颈。于是MPLS规定,在距离出口LER还差一跳的那个路由器上,就可以提前把标签弹出,这样出口LER收到时已经是不带标签的纯IP包,直接查路由表转发即可,省去了一次标签查找。倒数第二跳弹出是MPLS转发机制中一个非常经典的优化设计,考生要能准确说出它的名称和动机。

2.3 LDP标签分发:标签从哪里来

前面说过,标签只在相邻LSR之间有意义,那么每个LSR如何知道自己该用哪个标签呢?答案就是标签分发协议。最常用的一种是LDP,即Label Distribution Protocol,标签分发协议。LDP的职责,就是让LSR之间相互通告"我为你这个FEC分配的标签是什么",从而在整条路径上逐步建立起标签转发表,最终形成一条端到端的LSP。

LDP的工作机制建立在TCP连接之上,它使用两个相邻LSR之间的会话来交换标签映射消息。LDP的工作流程大致是:每个LSR为自己路由表中的每一条路由前缀分配一个本地标签,然后把这个"标签到FEC的映射"通告给它的LDP邻居;邻居收到后,把它作为自己的出标签记录下来,同时再为自己的转发分配一个入标签。这样逐跳传递,标签映射就沿着路由路径传播开来,LSP便随之建立。

需要特别理解的是标签分发的方向问题。标签交换的方向是数据转发的方向,也就是从入口到出口;而标签分发的方向,通常是从下游到上游。所谓下游,是指数据流去的方向。下游路由器为某个FEC分配标签,并把这个标签通告给上游路由器,上游路由器用这个标签作为自己的出标签。这就是LDP中最常见的分发模式,称为下游自主模式,即Downstream Unsolicited,下游路由器不等上游请求就主动通告。与之相对的还有下游按需模式,即Downstream on Demand,下游路由器只有收到上游的明确请求时才通告标签。

与分发方向相关的还有两个重要概念。一个是标签保持方式:自由保持模式,即Liberal Rete

本篇完!

本文为付费内容,请输入 VIP 码查解锁本站全部文章!
点击此处获得 VIP 码
你可能也喜欢这些文章
 

《论信息系统项目的干系人管理》论文写作思路
09-24
存储转发、直通式、碎片过滤三种交换方式深度辨析:网工交换机转发原理的高频考点
08-12
25年05月系统架构设计师综合题(31-45题)
09-20
《论面向服务的架构及其应用》考点详解?
02-06
深度解析《论数据分片技术及其应用》知识点
12-12
ITSS标准体系框架与核心四要素PPTR深度解析
07-09
《论软件设计模式及其应用》写作心得
02-04
2025软考系统架构人工智能专项练习题,独家资料!
11-02
数据库事务隔离级别与并发控制机制深度解析
07-18
DCMM数据管理成熟度模型五个等级详解:软考高项数据治理模块2023年新增的核心考点
08-18
《信息系统项目的资源管理》高分秘籍
10-27
结构化设计方法到底在考什么?从DFD变换分析到SC结构图,软件设计师高频考点全链路拆解
08-05
《论软件体系结构的演化》适合写什么项目?
08-25
深度解析《论数据湖技术及其应用》知识点
07-28
《论决策支持系统的开发与应用》适合写什么项目?
09-22
《论分布式存储系统架构设计》适合写什么项目?
08-28
扫码获取 VIP 码
添加管理员微信获取 VIP 码
微信二维码