MPLS 与 Segment Routing 基础
2706 字
14 分钟
MPLS 与 Segment Routing 基础
MPLS 与 Segment Routing 基础
一、MPLS 概述
- MPLS(Multiprotocol Label Switching):多协议标签交换
- MPLS 是一种介于数据链路层和网络层之间的 2.5 层技术(Shim 层,位于 PPP/Ethernet 头与 IP 头之间)
- MPLS 核心思想:用 短而定长的标签(32bit)替代 长而不定长的 IP 地址进行转发
- MPLS 优势:
- 快速转发(硬件查表,一次分类多次转发)
- 支持 VPN(L2VPN / L3VPN)
- 支持 TE(流量工程,RSVP-TE)
- QoS 保障(EXP 字段)
- 兼容性好(承载 PPP、Ethernet、FR、ATM;承载 IPv4/IPv6/二层帧)
二、MPLS 基本概念 🏷️高频考点
| 概念 | 说明 |
|---|---|
| LSR(Label Switching Router) | 支持 MPLS 的路由器 |
| LER(Label Edge Router) | 边缘 LSR,负责 IP↔MPLS 转换 |
| Ingress | 入口 LSR,IP 报文进入 MPLS 网络 |
| Transit | 中间 LSR,执行标签交换 |
| Egress | 出口 LSR,标签弹出并恢复 IP 转发 |
| LSP(Label Switched Path) | 标签交换路径,从 Ingress 到 Egress 的单向隧道 |
| FEC(Forwarding Equivalence Class) | 转发等价类,相同转发处理的数据流集合 |
| NHLFE(Next Hop Label Forwarding Entry) | 下一跳标签转发项(Ingress 使用) |
| ILM(Incoming Label Map) | 入口标签映射(Transit/Egress 使用) |
| FTN(FEC-To-NHLFE Map) | FEC 到 NHLFE 的映射表 |
关键记忆点:FEC 的划分在 Ingress 节点完成,相同 FEC 的报文走相同 LSP。
三、MPLS 标签结构 🏷️高频考点
MPLS 标签共 4 字节(32bit):
| 字段 | 长度 | 说明 |
|---|---|---|
| Label | 20bit | 标签值,范围 0–1048575 |
| EXP | 3bit | 实验位,用于 QoS(现用作优先级) |
| S | 1bit | 栈底标志,1=最底层标签 |
| TTL | 8bit | 生存时间,类似 IP TTL,每跳减 1 |
- 标签值 0–15 保留:
- 0:IPv4 Explicit Null
- 1:Router Alert
- 2:IPv6 Explicit Null
- 3:Implicit Null(PHP 标志)
- 标签栈:多层标签嵌套(VPN 典型 2 层,条码堆栈),S=1 表示最底层
- 标签位于二层帧头与三层 IP 头之间,二层 Protocol Type 字段标识:
- Ethernet:0x8847(单播 MPLS)/ 0x8848(多播 MPLS)
- PPP:0x0281
四、MPLS 工作原理 🏷️高频考点
MPLS 报文处理三阶段:
4.1 Ingress 节点(入口 LSR)
- 收到 IP 报文 → 查找 FEC(FTN 表) → 分配标签 → 压入(Push)标签 → 按 NHLFE 转发
4.2 Transit 节点(中间 LSR)
- 收到 MPLS 报文 → 查找 ILM → 弹出(Swap)旧标签 → 压入新标签 → 转发
- 仅依据标签转发,不再查 IP 头
4.3 Egress 节点(出口 LSR)
- 收到 MPLS 报文 → 弹出(Pop)标签 → 恢复 IP 报文 → 按 IP 转发
4.4 PHP(Penultimate Hop Popping) 🏷️高频考点
- 倒数第二跳弹出:在倒数第二跳(倒数第二台 P/LSR)就弹出标签,减少 Egress 查表负担
- 特殊标签 3 = Implicit Null(隐式空标签),表示使用 PHP
- 倒数第二跳收到标签 3 后,弹出外层标签,以纯 IP 报文送给 Egress
- 优点:Egress 仅做一次 IP 查表;缺点:Egress 无法基于标签做 QoS
显式空标签(0/2) 与 隐式空标签(3) 区别:显式空标签仍保留标签头用于 QoS,隐式空标签直接弹出。
五、LDP 协议 🏷️高频考点
- LDP(Label Distribution Protocol):标签分发协议
- LDP 使用 UDP 646(Hello 发现) 和 TCP 646(会话建立)
- LDP 消息类型:
- Discovery Hello:发现邻居(UDP 组播 224.0.0.2,发往 All Routers)
- Initialization:建立会话(协商参数、标签空间)
- Keepalive:维护会话
- Label Mapping:标签映射消息(FEC↔Label)
- Label Withdraw:标签撤销
- Label Release:释放标签
- Label Request:按需请求标签(DoD 模式)
- LDP 标签分配方式:
- 下游自主分配(DU,Downstream Unsolicited):主动分配标签(华为默认)
- 下游按需分配(DoD,Downstream On Demand):上游请求才分配
- 标签保持方式:
- 自由模式(Liberal):保留所有邻居分配的标签(利于快速切换,华为默认)
- 保守模式(Conservative):仅保留下一跳分配的标签(节省内存)
- 标签分发控制方式:
- 有序方式(Ordered):只有 Egress 为 FEC 分配标签后,上游才分配(华为默认)
- 独立方式(Independent):各节点独立分配标签
六、MPLS VPN 🏷️高频考点
MPLS L3VPN 核心概念:
6.1 VPN 架构
- CE(Customer Edge):用户边缘路由器,仅与 PE 交互路由
- PE(Provider Edge):运营商边缘路由器,维护 VRF、MP-BGP、MPLS
- P(Provider):运营商核心路由器,仅做 MPLS 转发
6.2 VRF(VPN Routing and Forwarding) 🏷️高频考点
- VRF:VPN 路由转发表,PE 上为每个 VPN 维护独立的路由表
- VRF 包含:路由表(RIB)、转发表(FIB)、接口集合
- RD(Route Distinguisher):路由区分符,8 字节,使不同 VPN 的相同路由可区分
- 格式:
AS:NN或IP:NN - 附加在 IPv4 前缀前形成 VPNv4 地址族(96bit)
- 格式:
- RT(Route Target):路由目标,BGP 扩展团体属性,控制 VPN 间路由的引入和导出
- Export RT:PE 在发布路由时携带
- Import RT:PE 在接收路由时匹配,决定路由加入哪个 VRF
- 一条路由可配多个 Export/Import RT,实现 Hub-Spoke、Extranet 等拓扑
6.3 MPLS VPN 数据转发 🏷️高频考点
- 外层标签(LDP/IGP 标签):P 路由器间的 MPLS 标签(LDP 分配),用于 P 间转发
- 内层标签(VPN 标签):PE 间的 VPN 标签(MP-BGP 分配),用于 Egress PE 识别 VPN
- 双层标签栈:外层用于 P 间转发,内层用于 PE 识别 VPN
- Egress PE 通过内层标签查找 VRF,再查 VRF 转发表将报文发给 CE
七、Segment Routing 概述 🏷️高频考点
- SR(Segment Routing):段路由,源路由机制,由 IETF RFC 8402 定义
- SR 优势:
- 简化控制平面:无需 LDP/RSVP-TE,IGP 直接扩展承载 SID
- 与 IGP 集成:OSPF/IS-IS 扩展泛洪 SID
- 可扩展性强:SRv6 基于 IPv6 地址空间
- 集中控制:与 SDN/控制器(PCEP/BGP-LS)天然契合
- 快速重路由(TI-LFA):收敛亚秒级
- SR 核心概念:
- Segment(段):网络指令,指导报文转发(类似 MPLS 标签 / IPv6 指令)
- Segment List:有序的段列表,定义端到端转发路径
- SID(Segment ID):段的标识
- SRGB(Segment Routing Global Block):全局标签块,节点配置,建议全网一致
- SRAB(SRLB):本地标签块,用于 Adjacency SID 等
八、SR-MPLS vs SRv6 🏷️高频考点
| 对比项 | SR-MPLS | SRv6 |
|---|---|---|
| 标签格式 | MPLS 标签 | IPv6 地址(128bit) |
| 数据平面 | MPLS | IPv6(扩展头 SRH) |
| SID 长度 | 32bit(MPLS 标签) | 128bit(IPv6 地址/位置 + 功能 + 参数) |
| 与 IGP 集成 | OSPF/IS-IS 扩展 | OSPFv3/IS-IS 扩展 |
| 可扩展性 | 中(20bit 标签空间) | 强(128bit 地址空间) |
| 兼容性 | 需 MPLS 网络 | 原生 IPv6 网络 |
| 应用场景 | VPN、TE、FRR | 5G 承载、SD-WAN、云网融合 |
| 控制器下发 | PCEP/BGP SR Policy | BGP SR Policy/PCEP |
SRv6 SID 结构:
Locator(位置)+ Function(功能)+ Args(参数),典型 128bit = 32+16+80 等。
九、SR-MPLS Segment 类型 🏷️高频考点
| Segment 类型 | 说明 |
|---|---|
| Node Segment | 节点段,标识一个节点(类似严格源路由) |
| Adjacency Segment | 邻接段,标识一个接口/邻接(类似松散源路由) |
| Prefix Segment | 前缀段,标识一个前缀(常与 Node Segment 重合) |
- Node SID / Prefix SID:全局 SID,由 IGP 泛洪,取值来自 SRGB + Index
- Adjacency SID:本地 SID,仅在邻接间有效,取值来自 SRLB,不随 IGP 泛洪到全网
- Anycast SID:标识一组节点,实现任播/负载分担
重点:Node SID 支持负载分担(ECMP),Adjacency SID 严格指定接口。
十、SR 控制平面
- IGP 扩展:
- OSPF:RFC 8665,Opaque LSA 携带 SID/Adj-SID
- IS-IS:RFC 8667,TLV 144(SR-Capabilities)、TLV 22/23(Adj-SID)
- BGP-LS:将链路状态信息(含 SID)上报给控制器
- PCEP(PCE Communication Protocol):控制器与设备间路径计算通信,下发 SR Policy
- BGP SR Policy:控制器下发 SR 路径(Color + Endpoint 标识业务)
- BGP-LS / BGP SR Policy / PCEP 是 SDN 控制的三大协议
十一、华为设备配置命令示例
11.1 MPLS 基础配置(使能 MPLS、LDP)
# 全局使能 MPLSmpls lsr-id 1.1.1.1mpls
# 使能 LDPmpls ldp
# 接口使能 MPLS LDPinterface GigabitEthernet0/0/0 ip address 10.1.12.1 255.255.255.0 mpls mpls ldp
# 配置 LDP 会话保护(可选)mpls ldp session protection
# 配置 PHP(默认开启,标签 3)display mpls lsp11.2 VRF 配置
# 创建 VRFip vpn-instance VPN-A ipv4-family route-distinguisher 100:1 vpn-target 100:1 export-extcommunity vpn-target 100:1 import-extcommunity
# 接口绑定 VRFinterface GigabitEthernet0/0/1 ip binding vpn-instance VPN-A ip address 192.168.1.1 255.255.255.011.3 MP-BGP VPNv4 配置
bgp 100 peer 3.3.3.3 as-number 100 peer 3.3.3.3 connect-interface LoopBack0 # address-family vpnv4 peer 3.3.3.3 enable peer 3.3.3.3 advertise-community11.4 PE-CE 路由交换配置
# PE-CE 静态ip route-static vpn-instance VPN-A 192.168.10.0 255.255.255.0 192.168.1.2
# PE-CE OSPFospf 1 vpn-instance VPN-A area 0 network 192.168.1.0 0.0.0.255
# BGP 与 VPNv4 交叉bgp 100 ipv4-family vpn-instance VPN-A peer 192.168.1.2 as-number 6500111.5 SR-MPLS 配置
# 全局使能 SRsegment-routing
# 配置 SRGBsegment-routing global-block 16000 23999
# IGP 使能 SR(IS-IS 示例)isis 1 segment-routing enable segment-routing global-block 16000 23999 # Prefix SID 绑定 Loopback0 interface LoopBack0 isis prefix-priority critical isis segment-routing prefix 1600111.6 SRv6 基础配置
# 全局使能 IPv6 与 SRv6ipv6 enablesegment-routing ipv6 encapsulation source-address 2001:db8::1
# 配置 Locatorsegment-routing ipv6 locator MAIN loc-type: algo 0 prefix 2001:db8:1::/64 block-len 48
# IGP 使能 SRv6(IS-IS 示例)isis 1 ipv6 enable segment-routing ipv6 locator MAIN segment-routing ipv6 enable十二、常见故障排查
12.1 LDP 会话不建立
- 检查:
display mpls ldp session - 常见原因:
- LSR-ID 不可达(必须能 Ping 通)
- TCP 646 端口被防火墙拦截
- Hello 间隔不一致
- 认证密码不匹配(
mpls ldp md5-password)
12.2 MPLS 标签分发异常
- 检查:
display mpls ldp lsp - 常见原因:
- LDP 会话 Down
- 路由不可达(无 FEC)
- 标签保持模式为 Conservative 时非下一跳邻居标签被释放
12.3 VPN 路由不通
- 检查:
display bgp vpnv4 all、display ip routing-table vpn-instance VPN-A - 常见原因:
- RT 配置错误(Import/Export 不匹配)
- RD 重复
- PE-CE 路由未引入 BGP
- 内层标签丢失(MPLS 转发断裂)
12.4 常用诊断命令
display mpls ldp session # 查看 LDP 会话display mpls ldp peer # 查看 LDP 邻居display mpls lsp # 查看 LSP 与标签display mpls lsp statistics # LSP 统计display mpls interface # 查看 MPLS 使能接口display ip vpn-instance # 查看 VPN 实例display bgp vpnv4 all # 查看 VPNv4 路由display bgp vpnv4 vpn-instance VPN-Adisplay ip routing-table vpn-instance VPN-Adisplay segment-routing prefix-sid # SR Prefix SIDdisplay segment-routing adjacency-sid # SR Adj-SIDdisplay isis segment-routing routing # IS-IS SR 信息ping -vpn-instance VPN-A 192.168.10.2 # VPN Pingtracert –vpn-instance VPN-A 192.168.10.2 # VPN Tracert附录:关键对比速记
| 项 | LDP | RSVP-TE | SR-MPLS |
|---|---|---|---|
| 标签分发 | DU/DoD | 下游按需 | IGP 泛洪 Prefix-SID |
| 控制平面 | LDP | RSVP-TE | OSPF/IS-IS 扩展 |
| TE 能力 | 无 | 有(DS-TE) | 有(SR Policy + TI-LFA) |
| 扩展性 | 中 | 低 | 高 |
| 华为默认 | DU + Liberal + Ordered | — | SRGB 16000-23999 |
附录:高频考点提示
- MPLS 标签 4 字节(Label 20 + EXP 3 + S 1 + TTL 8)
- PHP 用 Implicit Null(标签 3),在倒数第二跳弹出
- LDP:UDP 646 发现,TCP 646 建会话;Hello 发往 224.0.0.2
- VRF 三要素:RD(区分)、RT(控制导入导出)、独立路由表
- L3VPN 双层标签:外层 LDP(P 间)、内层 MP-BGP VPNv4(PE 间)
- SR 三大 Segment:Node / Adjacency / Prefix
- Node SID 全局(SRGB),Adjacency SID 本地
- SRv6 SID = Locator + Function + Args
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
MPLS 与 Segment Routing 基础
https://blog.zs13.tech/posts/网络/01-路由协议/mpls与sr基础/相关文章智能推荐
1
组播技术基础
网络2026-08-05
2
路由策略与策略路由
网络2026-08-05
3
DHCP与AAA技术
网络2026-08-05
4
设备堆叠与 CSS(集群)
网络2026-08-05
5
HCIP 数通方向知识库首页
网络2026-08-05
随机文章随机推荐



