ESNP LAB 笔记:配置MPLS(Part2)
5.4 LDP LSP的建立
5.4.1 MPLS基本概念
——1. 转发等价类(FEC)
在 MPLS 中,具有相同转发特征的报文会被划分为同一类,称为 转发等价类 FEC(Forwarding Equivalence Class)。
在传统 IP 转发中,到同一条路由的所有报文就是一个 FEC(也可以简单理解为“一条路由就是一个 FEC”)。
——2. 标签(Label)
标签是一个 短而定长、仅在本地有效的标识符,用于唯一标识某个报文所属的 FEC。
——3. 标签交换路径(LSP)
定义:LSP 是 IP 报文在 MPLS 网络中转发时所经过的路径。
组成:可以理解为沿报文传输方向,各节点为该 FEC 分配的 入标签 串联起来的路径。
标签映射关系:每台设备为本地的某个 FEC 分配入标签,并通过下游设备分配的出标签建立映射。这样,入标签一旦确定,即可唯一确定报文的转发路径。
ENSP 中查看 LDP LSP 的两条命令
1.
display mpls ldp lsp
作用:查看 LIB(Label Information Base) 中的内容。
属性:
属于 控制平面 信息。
显示所有 LSP,包括:
有效的(会写入 LFIB,真正转发用)
保留的(不满足出标签/下一跳条件,或者备用的)
用途:
验证 LDP 是否为某个 FEC 分配了标签。
查看控制平面学习到的标签映射关系。
2.
display mpls lsp
作用:查看 LFIB(Label Forwarding Information Base) 的内容。
属性:
属于 转发平面 信息。
显示的 LSP 都是 有效的 LSP(即入标签、出标签、下一跳三要素满足条件的)。
这些表项会真正用于数据包转发。
用途:
验证某条业务流量是否能通过 LSP 转发。
对应 MPLS 报文转发时的实际路径。
3. 对比总结
dis mpls ldp lsp
→ “控制平面”,LIB,全量标签信息(含保留)。
dis mpls lsp
→ “转发平面”,LFIB,有效标签信息(实际生效)。
🔑 一句话记忆:
LIB(全量学习)看
ldp lsp
,LFIB(实际转发)看mpls lsp
。
——4. LSP 的分段建立
LSP 并不是一次性由起点生成,而是 由沿途各节点分段建立的。
在每个节点上,LSP 由以下三要素确定:
入标签
对应的出标签
下一跳
出标签有效性的判定逻辑
1. 必要条件
出标签由下游设备分配,且 下游设备必须是该 FEC 在路由表中的下一跳。
满足这个条件时,入标签 + 出标签 + 下一跳 组合才能构成一条有效的 LSP,并被安装进 LFIB,承担 MPLS 转发。
2. 如何确认“下游设备确实是下一跳”
判断标准主要依赖 路由表和 LDP 会话:
路由表检查
在本地路由表中查找该 FEC(例如 3.3.3.3/32)的下一跳。
LDP 会话和地址信息验证
本设备和下游设备必须建立了 LDP Session。
在下游设备发布的 LDP 的 Address message 中,如果包含了该 FEC 下一跳的地址,则说明这个下游设备就是 FEC 的有效下一跳(可以通过display mpls ldp session verbose命令查看下一跳地址)。
多个节点上的分段 LSP 串联起来,便形成完整的 FEC 对应的 LSP。
——5. 节点角色
Ingress(入节点):报文进入某个LSP的第一个 LSR,负责为报文打标签。
Transit(中间节点):位于 LSP 中间的 LSR,负责根据入标签查找、交换成出标签并转发。
Egress(出节点):LSP 的出口 LSR,负责移除标签,还原为普通 IP 报文。
需要注意:
节点角色是 针对某条 LSP 而言 的。同一台设备,在不同的 LSP 中角色可能不同。
LSP 是 单向的,其方向与数据流一致。如果需要双向通信,需要建立两条相反方向的 LSP,此时 Ingress 与 Egress 的角色互换。
——6. 上下游关系
从报文转发方向来看,Ingress 是 Transit 的上游节点,Transit 是 Ingress 的下游节点;同理,Transit 是 Egress 的上游节点。上下游关系也是相对的概念,是针对某条LSP而言的。
在标签分配过程中,设备从下游节点接收标签,并将其作为本地的出标签使用。
换句话说:
入标签 是本设备本地分配的;
出标签 是下游设备分配的。
LDP 中的 DS/US 概念
US(Upstream LSR):去往某个 FEC 的流量路径上,位于上游的 LSR。
DS(Downstream LSR):负责为该 FEC 分配出标签的下游 LSR。
👉 举例:
对于 FEC =
1.1.1.1/32
:
从 PE1 的角度,它从 P1 收到一个出标签(1026),它认为P1是 Downstream LSR (DS)。
对应地,PE1 就成了该 FEC 的 Upstream LSR (US)。
在 DU 模式下出现的“看似下游”问题
DU 模式:每个节点会无条件给所有 LDP 邻居发布标签,不管对方是不是自己的上游。
所以 P1 会把
1.1.1.1/32
的标签(1026)发给 PE1。在
dis mpls ldp lsp
里,PE1 就会显示为:
接收到来自 DS/2.2.2.2 的标签 1026。
“DS/2.2.2.2” 表示 这个标签是 2.2.2.2 节点作为下游分配的。
为什么这不是有效标签
虽然显示了 DS/2.2.2.2(表示标签由 P1 发布),但根据 PE1 的路由表:
1.1.1.1/32
是本地直连网段,根本不需要通过 P1转发。因此:
P1给的标签 不是有效出标签,不会进入 LFIB。
但由于 Liberal 保留模式,这个标签映射仍会保留在 LIB。
完整总结(结合 DS/2.2.2.2)
在 DU + Liberal 模式下,PE1 会从邻居 2.2.2.2 收到
1.1.1.1/32
的标签 1026,并显示为 DS/2.2.2.2(表示该标签由下游 2.2.2.2 分配)。但根据路由表,2.2.2.2 并不是1.1.1.1/32
的实际下一跳,所以该标签不是有效出标签,只保留在 LIB,而不会进入 LFIB。
——7. 有效 LSP
与 IP 网络中可能存在多条到某目的网段的路由一样,在 MPLS 中,从当前节点到某 FEC 也可能建立多条转发路径(不同的出标签、出接口、下一跳)。
但在同一时刻,只有一条最优路径会被选中并写入 LFIB(Label Forwarding Information Base),成为 有效 LSP。
5.4.2 MPLS体系结构
MPLS的体系结构如图所示,它由控制平面(Control Plane)和转发平面(Forwarding Plane)组成。
控制平面:负责产生和维护路由信息以及标签信息。
路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。
标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。
标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。
转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发。
转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。
标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议在LSR上建立LFIB,负责带MPLS标签报文的转发。
标签信息表LIB,属于控制平面,可通过display mpls ldp lsp查看,类似cisco mpls命令:show mpls ip binding
标签转发信息表LFIB,属于转发平面,也就是数据平面,可通过display mpls lsp查看,类似cisco mpls命令:show mpls forwarding-table
只有进入LFIB中的LSP,才是有效的LSP。
5.4.3 标签的发布和管理
LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系来建立LSP,而标签的发布和管理由标签发布方式、标签分配控制方式和标签保持方式来决定。
——1、标签发布方式(Label Advertisement Mode)
在MPLS体系中,由下游LSR决定将标签分配给特定FEC,再通知上游LSR,即标签由下游指定,标签的分配按从下游到上游的方向分发。
标签发布方式有两种方式。具有标签分发邻接关系的上游LSR和下游LSR必须对使用的标签发布方式达成一致。
标签发布方式 | 含义 |
---|---|
下游自主方式DU(Downstream Unsolicited) | 对于一个特定的FEC,LSR无需从上游获得标签请求消息即进行标签分配与分发。 |
下游按需方式DoD(Downstream on Demand) | 对于一个特定的FEC,LSR获得标签请求消息之后才进行标签分配与分发。 |
标签发布方式为DU时,系统默认支持LDP为所有对等体分标签,即每个节点都可以向所有的对等体发送标签映射消息,不再区分上下游关系。因为在只给上游对等体分标签情况下,发送标签映射消息的时候,要根据路由信息对会话的上下游关系进行确认。如果发生路由变化,上下游关系倒换,新的下游需要重新给上游节点发送标签映射消息,收敛比较慢。
——2、标签分配控制方式(Label Distribution Control Mode)
标签分配控制方式是指在LSP的建立过程中,LSR分配标签时采用的处理方式。
标签分配控制方式有两种方式。
独立标签分配控制方式(Independent):本地LSR可以自主地分配一个标签绑定到某个FEC,并通告给上游LSR,而无需等待下游的标签。
有序标签分配控制方式(Ordered):对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息、或者该LSR就是此FEC的出节点时,该LSR才可以向上游发送此FEC的标签映射。
——3、标签保持方式(Label Retention Mode)
标签保持方式是指LSR对收到的、但目前暂时不需要的标签映射的处理方式。
LSR收到的标签映射可能来自下一跳,也可能来自非下一跳。
标签保持方式 | 含义 | 描述 |
---|---|---|
自由标签保持方式(Liberal) | 对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。 | 当网络拓扑变化引起下一跳邻居改变时:
|
保守标签保持方式(Conservative) | 对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。 |
——4、目前设备支持的组合方式
下游自主方式(DU)+ 有序标签分配控制方式(Ordered)+ 自由标签保持方式(Liberal),该方式为缺省方式。也是本次实验采取的方式。
下游按需方式(DoD)+ 有序标签分配控制方式(Ordered)+ 保守标签保持方式(Conservative)。
5.4.4 LDP LSP 建立规则
——1. LDP LSP 的建立规则
直连 FEC
在直连某 FEC 网段(缺省仅 /32 主机路由)的节点上:
为该 FEC 创建 仅含入标签的 LSP。
这种 LSP 没有出标签、没有入/出接口。
表示本节点自己就是该 FEC 的 Egress。
非直连 FEC
在其他节点上(Transit 节点或 Ingress 节点):
会同时建立 两类 LSP:
本地到 FEC 的 LSP:仅包含出标签和出接口(指导本地去往该目的主机)。
Transit LSP:包含入标签、出标签和出接口(用于帮助上游设备转发到该 FEC)。

例子:FEC = 3.3.3.3/32
(1)FEC 3.3.3.3/32是PE2的直连网段,PE2创建了1条LSP,只含入标签3。PE2也是这条LSP的Egress节点(出节点)。
(2)3.3.3.3/32是P1的非直连网段,P1创建了两条LSP,其中:
- 上面那条可以看成是把P1当成到达3.3.3.3/32的Ingress的LSP,即作为从P1 本地访问 3.3.3.3/32的LSP,它只包括出标签3(无入标签)和出接口GE0/0/1。
- 下面那条则可以看成是把P1当成到达3.3.3.3/32的Transit的LSP,为其上游设备访问3.3.3.3/32 的 LSP,它同时包括本地为 3.3.3.3/32分配的入标签(1025)和下游PE2为它分配的出标签(3)和出接口 GE0/0/1。
(3)3.3.3.3是PE1的非直连网段,PE1创建了两条LSP,其中:
- 上面那条可以看成是把PE1当成到达3.3.3.3/32的Ingress的LSP,即作为从PE1 本地访问 3.3.3.3/32的LSP,它只包括出标签1025(无入标签)和出接口GE0/0/0。
- 下面那条则可以看成是把PE1当成到达3.3.3.3/32的Transit的LSP,为其上游设备访问3.3.3.3/32 的 LSP,它同时包括本地为 3.3.3.3/32分配的入标签(1029)和下游P1为它分配的出标签(1025)和出接口 GE0/0/0。在本次实验环境中,PE1是到达3.3.3.3/32目的主机的Ingress,没有上游设备了,所以基于这个FEC建立的、同时带有入标签的这条LSP没有实际意义。
——2. PHP(Penultimate Hop Popping)机制
默认支持:华为设备默认支持 PHP。
标签值 3:Egress 节点(LSP 出口)会分配标签值 3 给倒数第二跳。
倒数第二跳处理:
如果发现出标签 = 3,则将该标签弹出(pop)。
然后直接把报文以 IP 报文或下一个 MPLS 标签的形式转发给 Egress。
Egress 节点处理:
收到的报文已经没有顶层 MPLS 标签,直接进行 IP 转发 或 下一层标签转发。
例子:FEC = 3.3.3.3/32
(1)PE2 —— Egress 节点
身份:FEC 3.3.3.3/32 的 Egress。
动作:
分配标签值 3(Implicit Null Label,代表 PHP)。
下发给上游节点(如 P1)。
含义:告诉 P1 → 到我这里时请先把标签弹掉,不要带标签进来。
(2)P1 —— 倒数第二跳(Penultimate Hop)
身份:Transit 节点,PE2 的上游。
P1控制平面:
为 FEC 3.3.3.3/32 建立 LFIB 表项:
入标签 = (例如 1025,自己分配的)
出标签 = 3(从下游 PE2 收到的)
出接口 = 指向 PE2 的接口
P1数据平面转发时:
收到报文,入标签 = 1025。
查 LFIB,找到对应表项:出标签 = 3,出接口 = to PE2。
按规则:先把入标签换成出标签 → 出标签 = 3。
发现标签值 3 = Implicit Null Label → 触发 PHP 操作。
弹出标签(即不再携带 MPLS 标签)。
报文已变成 纯 IP 报文(或下一层MPLS报文),通过出接口转发给 PE2。
(3)PE2 —— 接收报文
收到来自 P1 的报文时,报文已经不带外层 MPLS 标签。
直接进行 IP 转发(或下一层 MPLS 处理,如果是 VPN/多层 MPLS)。
🔑 总结一句话
Egress 节点分配标签 3 → 倒数第二跳在转发时触发 PHP → 把标签弹掉 → 报文以 IP 或者下一层MPLS报文形式交付 Egress。
——3. LSP 触发策略
默认策略:
在华为设备上,使能 MPLS LDP 后,LSP 会自动建立。
为避免过多 LSP 占用资源,系统采用 触发策略(Trigger Policy)。
缺省触发方式:
host(主机路由)触发 → 即只有 /32 的主机路由会触发建立 LSP。
因此,缺省情况下只显示主机路由对应的 LSP。

5.4.5 LDP LSP的建立过程
——1、关键概念回顾
LSP 的建立过程,就是 FEC 与标签绑定,再由 LDP 将这种绑定逐跳通告邻居的过程。
最终逐跳拼接起来,就形成了一条完整的端到端 LSP。
关键概念:
1、地址消息与标签的关系
LDP 地址消息 在 LDP 会话建立时发布,只携带本节点的接口地址信息,与具体的 FEC 无关。
在后续接收标签时,节点会利用收到的地址消息来判断 某个 FEC 的标签发布者是否是该 FEC 的有效下一跳。
地址消息可以通过命令
dis mpls ldp session verbose
查看。
2、控制平面与转发平面
标签信息库(LIB):控制平面信息,通过
dis mpls ldp lsp
查看,里面包括所有标签映射(有效和无效)。标签转发信息库(LFIB):转发平面信息,通过
dis mpls lsp
查看,里面只保留 有效 LSP,实际用于数据转发。控制平面能看到“全量标签”,而转发平面只显示“真正能转发的标签”。
——2、建立过程示例(FEC = 3.3.3.3/32)
1、PE2(Egress 节点)
FEC 3.3.3.3/32 是 PE2 的直连网段。
PE2 分配入标签 3(隐式空标签,用于 PHP),并发布给 LDP 对等体 P1。
控制平面:
能看到标签(3)映射关系,由于 PE2 是 这条LSP的Egress,没有下游节点,出标签为NULL。
转发平面:
也能看到对应的转发表项,报文在进入 Egress 节点时直接交给 IP 转发(或更高层 MPLS/VPN 处理)。
2、P1(Transit 节点)
P1 收到 PE2 发布的出标签 3。
在 P1 的路由表中,FEC 3.3.3.3/32 的下一跳是
192.168.23.3
,该地址在 PE2 发布的地址消息里,所以 P1 认定 PE2 是有效下一跳。因此,P1 给该 FEC 分配入标签 1025,并发布给 LDP 对等体 PE1、PE2。
控制平面:
能看到 P1 的出标签(3)映射(含上游、下游关系)。
第一条LSP,本地节点作为Ingress,所以入标签 = NULL.第二条LSP,本节点作为 Transit 节点时的 LSP 表项,负责将上游3.3.3.3的流量(入标签=1025 ),替换为出标签 3,送到下游。本节点分配给上游设备(3.3.3.3)的标签(1025),有分配标签的行为,就会产生这条LSP。
第三条LSP,和第二条类似。
转发平面:
NULL/3
→ Ingress 场景,P1 作为起点(收到 IP 报文),发往下游时打标签 3(实际执行 PHP)。
1025/3
→ Transit 场景,P1 作为中间节点,收到带标签 1025 的 MPLS 报文,换成标签 3(实际执行 PHP),转发给 PE2。两个表项共同说明:P1 即可以是 Ingress,也可以是 Transit,都要保证流量能被送到 PE2。
3、PE2 收到 P1 发布的标签
PE2 收到 P1 发布的出标签 1025。
但对 FEC 3.3.3.3/32 来说,PE2 的下一跳是 127.0.0.1(本地直连)。
该地址不在 P1 发布的地址消息中,所以 PE2 判定 P1 不是有效下一跳。
因此,该标签只保留在 控制平面(LIB),不会进入 转发平面(LFIB)。
控制平面:
*星号
表示这条 LSP 不是有效 LSP(没有进入 LFIB,仅保留在 LIB)。
也就是说,它只在控制平面存在,不会用于真实转发。
Liberal/1025
Liberal:说明 LDP 采用 Liberal 保留模式 → 即使标签无效,也会先保留在 LIB 中,以备路由切换时使用。
1025:这是从 P1(2.2.2.2)收到的标签值。
DS/2.2.2.2
DS = Downstream LSR,表示标签的发布者是下游 LSR。
2.2.2.2
是 P1 的 LSR ID,说明该标签是 由 P1 分配并发布的。
4、PE1(Ingress 节点)
PE1 收到 P1 发布的出标签 1025。
在 PE1 的路由表中,FEC 3.3.3.3/32 的下一跳是
192.168.12.2
,该地址存在于 P1 发布的地址消息中。所以,PE1 确认 P1 是有效下一跳,并为该 FEC 分配入标签 1029,发布给 P1。
控制平面:
转发平面:
5、P1 收到 PE1 发布的标签
P1 收到 PE1 发布的出标签 1029。
但 P1 的路由表显示,FEC 3.3.3.3/32 的下一跳是
192.168.23.3
,而不是 PE1 的地址。因此,P1 认定 PE1 不是有效下一跳,该标签只在 控制平面保留,不进入 转发平面。
控制平面:
——3、示例小结
FEC 与标签绑定后,由 LDP 逐跳通告邻居;当且仅当“发布者 = FEC 的下一跳”时,该标签才会被写入转发平面,最终拼接成端到端 LSP。
步骤 | 节点 | 关键动作 | 有效下一跳判定 | 结果 |
---|---|---|---|---|
1 | PE2 | 本地直连,分配入标签 3,通告给 P1 | – | 控制平面 & 转发平面均安装 3/NULL |
2 | P1 | 收到 PE2 的标签 3;分配入标签 1025,通告给 PE1、PE2 | 192.168.23.3 在 PE2 地址消息中 → PE2 有效 | 控制平面 & 转发平面均安装 1025/3 |
3 | PE2 | 收到 P1 的标签 1025 | 下一跳 127.0.0.1 不在 P1 地址消息中 → P1 无效 | 仅控制平面保留 1025,转发平面不安装 |
4 | PE1 | 收到 P1 的标签 1025;分配入标签 1029,通告给 P1 | 192.168.12.2 在 P1 地址消息中 → P1 有效 | 控制平面 & 转发平面均安装 1029/1025 |
5 | P1 | 收到 PE1 的标签 1029 | 下一跳 192.168.23.3 不在 PE1 地址消息中 → PE1 无效 | 仅控制平面保留 1029,转发平面不安装 |
——4、标签映射消息抓包
抓包端口为PE1的G0/0/0端口。
这里说明标签映射消息。
1、首先P1(LSR ID:2.2.2.2)向PE1发布FEC 2.2.2.2/32(标签:3)和FEC 3.3.3.3/32(标签:1025)消息:
Frame 142: 132 bytes on wire (1056 bits), 132 bytes captured (1056 bits) on interface -, id 0
Ethernet II, Src: 00:e0:fc:21:6d:78, Dst: 00:e0:fc:7e:3e:d8
Internet Protocol Version 4, Src: 2.2.2.2, Dst: 1.1.1.1
Transmission Control Protocol, Src Port: 50115, Dst Port: 646, Seq: 81, Ack: 77, Len: 78
Label Distribution ProtocolVersion: 1PDU Length: 74LSR ID: 2.2.2.2Label Space ID: 0Label Mapping Message0... .... = U bit: Unknown bit not setMessage Type: Label Mapping Message (0x400)Message Length: 30Message ID: 0x000003bdFEC00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: FEC (0x100)TLV Length: 8FEC ElementsFEC Element 1FEC Element Type: Prefix FEC (2)FEC Element Address Type: IPv4 (1)FEC Element Length: 32Prefix: 2.2.2.2Generic Label00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: Generic Label (0x200)TLV Length: 4.... .... .... 0000 0000 0000 0000 0011 = Generic Label: 3 (0x00003)Unknown TLV type (0x0900)11.. .... = TLV Unknown bits: Unknown TLV, do Forward (0x3)TLV Type: Unknown TLV type (0x900)TLV Length: 2TLV Value: ffffLabel Mapping Message0... .... = U bit: Unknown bit not setMessage Type: Label Mapping Message (0x400)Message Length: 30Message ID: 0x000003beFEC00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: FEC (0x100)TLV Length: 8FEC ElementsFEC Element 1FEC Element Type: Prefix FEC (2)FEC Element Address Type: IPv4 (1)FEC Element Length: 32Prefix: 3.3.3.3Generic Label00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: Generic Label (0x200)TLV Length: 4.... .... .... 0000 0000 0100 0000 0001 = Generic Label: 1025 (0x00401)Unknown TLV type (0x0900)11.. .... = TLV Unknown bits: Unknown TLV, do Forward (0x3)TLV Type: Unknown TLV type (0x900)TLV Length: 2TLV Value: 05dc
注意标签映射消息的LSR ID信息,接收方就是通过LSR ID查找对应的地址消息,从而判断发送方是否是该FEC的有效下一跳的。
2、PE1(LSR ID:1.1.1.1)向P1发布了FEC 2.2.2.2/32(标签:1028),FEC 3.3.3.3/32(标签:1029)的标签映射消息:
Frame 143: 132 bytes on wire (1056 bits), 132 bytes captured (1056 bits) on interface -, id 0
Ethernet II, Src: 00:e0:fc:7e:3e:d8, Dst: 00:e0:fc:21:6d:78
Internet Protocol Version 4, Src: 1.1.1.1, Dst: 2.2.2.2
Transmission Control Protocol, Src Port: 646, Dst Port: 50115, Seq: 77, Ack: 159, Len: 78
Label Distribution ProtocolVersion: 1PDU Length: 74LSR ID: 1.1.1.1Label Space ID: 0Label Mapping Message0... .... = U bit: Unknown bit not setMessage Type: Label Mapping Message (0x400)Message Length: 30Message ID: 0x000001e2FEC00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: FEC (0x100)TLV Length: 8FEC ElementsFEC Element 1FEC Element Type: Prefix FEC (2)FEC Element Address Type: IPv4 (1)FEC Element Length: 32Prefix: 2.2.2.2Generic Label00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: Generic Label (0x200)TLV Length: 4.... .... .... 0000 0000 0100 0000 0100 = Generic Label: 1028 (0x00404)Unknown TLV type (0x0900)11.. .... = TLV Unknown bits: Unknown TLV, do Forward (0x3)TLV Type: Unknown TLV type (0x900)TLV Length: 2TLV Value: 05dcLabel Mapping Message0... .... = U bit: Unknown bit not setMessage Type: Label Mapping Message (0x400)Message Length: 30Message ID: 0x000001e3FEC00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: FEC (0x100)TLV Length: 8FEC ElementsFEC Element 1FEC Element Type: Prefix FEC (2)FEC Element Address Type: IPv4 (1)FEC Element Length: 32Prefix: 3.3.3.3Generic Label00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: Generic Label (0x200)TLV Length: 4.... .... .... 0000 0000 0100 0000 0101 = Generic Label: 1029 (0x00405)Unknown TLV type (0x0900)11.. .... = TLV Unknown bits: Unknown TLV, do Forward (0x3)TLV Type: Unknown TLV type (0x900)TLV Length: 2TLV Value: 05dc
会话双方:
1.1.1.1 → 2.2.2.2
(LSR ID=1.1.1.1 向对等体 2.2.2.2 发包)载荷:同一帧里包含 两条 Label Mapping(前缀 FEC)
给 FEC 2.2.2.2/32 分配 标签 1028
给 FEC 3.3.3.3/32 分配 标签 1029
结论:这是 下游(1.1.1.1)→ 上游(2.2.2.2) 的 DU 模式标签通告;2.2.2.2 收到后会把这两个标签放进 LIB,并分别判断是否为有效下一跳,符合条件的才进 LFIB 用于转发。
3、PE1(LSR ID:1.1.1.1)向P1发布了FEC 1.1.1.1/32(标签:3)的标签映射消息:
Frame 146: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface -, id 0
Ethernet II, Src: 00:e0:fc:7e:3e:d8, Dst: 00:e0:fc:21:6d:78
Internet Protocol Version 4, Src: 1.1.1.1, Dst: 2.2.2.2
Transmission Control Protocol, Src Port: 646, Dst Port: 50115, Seq: 155, Ack: 159, Len: 44
Label Distribution ProtocolVersion: 1PDU Length: 40LSR ID: 1.1.1.1Label Space ID: 0Label Mapping Message0... .... = U bit: Unknown bit not setMessage Type: Label Mapping Message (0x400)Message Length: 30Message ID: 0x000001e4FEC00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: FEC (0x100)TLV Length: 8FEC ElementsFEC Element 1FEC Element Type: Prefix FEC (2)FEC Element Address Type: IPv4 (1)FEC Element Length: 32Prefix: 1.1.1.1Generic Label00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: Generic Label (0x200)TLV Length: 4.... .... .... 0000 0000 0000 0000 0011 = Generic Label: 3 (0x00003)Unknown TLV type (0x0900)11.. .... = TLV Unknown bits: Unknown TLV, do Forward (0x3)TLV Type: Unknown TLV type (0x900)TLV Length: 2TLV Value: ffff
4、P1(LSR ID:2.2.2.2)向PE1发布FEC 1.1.1.1/32(标签:1026)标签映射消息:
Frame 147: 98 bytes on wire (784 bits), 98 bytes captured (784 bits) on interface -, id 0
Ethernet II, Src: 00:e0:fc:21:6d:78, Dst: 00:e0:fc:7e:3e:d8
Internet Protocol Version 4, Src: 2.2.2.2, Dst: 1.1.1.1
Transmission Control Protocol, Src Port: 50115, Dst Port: 646, Seq: 159, Ack: 199, Len: 44
Label Distribution ProtocolVersion: 1PDU Length: 40LSR ID: 2.2.2.2Label Space ID: 0Label Mapping Message0... .... = U bit: Unknown bit not setMessage Type: Label Mapping Message (0x400)Message Length: 30Message ID: 0x000003bfFEC00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: FEC (0x100)TLV Length: 8FEC ElementsFEC Element 1FEC Element Type: Prefix FEC (2)FEC Element Address Type: IPv4 (1)FEC Element Length: 32Prefix: 1.1.1.1Generic Label00.. .... = TLV Unknown bits: Known TLV, do not Forward (0x0)TLV Type: Generic Label (0x200)TLV Length: 4.... .... .... 0000 0000 0100 0000 0010 = Generic Label: 1026 (0x00402)Unknown TLV type (0x0900)11.. .... = TLV Unknown bits: Unknown TLV, do Forward (0x3)TLV Type: Unknown TLV type (0x900)TLV Length: 2TLV Value: 05dc
收到下游PE1对FEC1.1.1.1/32的标签分配后,自己(P1)也对FEC1.1.1.1/32分配了标签1026,并对外以下游自主方式(DU)方式发布。