ESNP LAB 笔记:配置MPLS(Part5)

8. LSP连通性检测

在 MPLS 网络中,LSP 转发失败时,控制平面无法直接感知转发面的错误,这会增加故障排查和运维难度。
为此,MPLS 提供了 MPLS PingMPLS Traceroute 工具,类似于 IP 网络的 Ping 和 Traceroute,用于检测和定位 LSP 故障。


8.1 MPLS Ping

  • 功能:验证某一条 LSP 是否连通。

  • 实现方式:发送 MPLS Echo Request(回显请求),由目的端返回 MPLS Echo Reply(回显应答)。

  • 判定依据:如果收到 Echo Reply,则说明 LSP 可达;否则说明链路存在故障。


8.2 MPLS Traceroute

  • 功能:不仅检查 LSP 的连通性,还能逐跳发现故障发生在哪个节点。

  • 机制:与 IP Traceroute 类似,逐步增加 TTL 值,迫使 LSR 返回 ICMP 超时报文,从而定位问题节点。


8.3 工作原理

  • MPLS Ping/Traceroute 报文均使用 UDP 封装

    • Echo Request → UDP 端口号 3503仅启用 MPLS 功能的设备识别)。

    • Echo Reply → 普通 IP 转发回源端(如果返回路径的路由下一跳刚好映射到了一条 LSP,那么 Echo Reply 也可能会沿着独立的 LSP 返回。因此,MPLS Ping/Traceroute 的正反向路径 不一定对称,这是排障时需要特别注意的一点。

  • 报文转发路径

    1. Echo Request:携带待检测的 FEC 信息,与该 FEC 的业务报文一样沿着 LSP 转发。

    2. Echo Reply:由目的端通过 IP 路由返回源端。

  • 防止误转发机制

    • Echo Request 的 IP 目的地址 设置为 127.0.0.1/8(本地环回),保证报文不会被普通 IP 转发。

    • IP TTL = 1,确保报文不会跨设备转发。


8.4 小结

  • MPLS Ping:检测 LSP 是否连通。

  • MPLS Traceroute:定位 LSP 故障的具体节点。

  • 关键点:通过 FEC 绑定转发路径、特殊 IP 地址 (127.0.0.1/8)、UDP 3503 端口,确保测试严格在 LSP 内完成。

8.5 测试拓扑

8.5.1 测试拓扑

在原有 PE1–P1–PE2 的拓扑基础上,增加一台 P2 节点,P2 的配置与 P1 类似。此时,对于目的 FEC 3.3.3.3/32 的 LSP 建立过程如下:

  • PE1(Ingress LER):将目的地址 3.3.3.3/32 的 IP 报文查表匹配到 FIB → Tunnel ID,执行 PUSH 操作,压入分配的 MPLS 出标签(例如 1025),发送给下一跳 P1。

  • P1(Transit LSR):收到标签为 1025 的 MPLS 报文,根据 ILM 查表找到匹配的入标签,执行 SWAP 操作,将标签 1025 交换为新的标签(例如 1048),并转发至 P2。

  • P2(Penultimate LSR,倒数第二跳):根据 LDP 与 PE2 的邻居关系,发现出标签为 3(Implicit NULL),因此在转发时执行 PHP(Penultimate Hop Popping)操作,直接弹出 MPLS 标签,送出一个纯 IP 报文。

  • PE2(Egress LER):接收到没有 MPLS 标签的 IP 报文,查找本地路由表发现目的地址 3.3.3.3 是本地 Loopback,直接本地交付。

因此,在这种四节点(PE1–P1–P2–PE2)拓扑下:

  • P1 执行的是标准的 标签交换(SWAP)

  • P2 执行的是 倒数第二跳弹出(PHP)

  • PE2 直接处理 IP 报文,无需再做 MPLS 解封装。

当在 PE1 上执行 MPLS Ping / Traceroute 检测 FEC 3.3.3.3/32 时,可以观察到:

  • Echo Request 首先带着标签进入 MPLS 网络,

  • 在 P1 看到标签交换的过程,

  • 在 P2 触发标签弹出,

  • 最终到达 PE2 时以 IP 报文的形式交付。

8.5.2 MPLS LSP信息

MPLS LSP信息如下:

[PE1]dis mpls lsp
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
1.1.1.1/32         3/NULL        -/-                                           
2.2.2.2/32         NULL/3        -/GE0/0/0                                     
2.2.2.2/32         1024/3        -/GE0/0/0                                     
6.6.6.6/32         NULL/1025     -/GE0/0/0                                     
6.6.6.6/32         1025/1025     -/GE0/0/0                                     
3.3.3.3/32         NULL/1026     -/GE0/0/0                                     
3.3.3.3/32         1026/1026     -/GE0/0/0                                     
[PE1]

[P1]dis mpls lsp
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
1.1.1.1/32         NULL/3        -/GE0/0/0                                     
1.1.1.1/32         1024/3        -/GE0/0/0                                     
2.2.2.2/32         3/NULL        -/-                                           
6.6.6.6/32         NULL/3        -/GE0/0/1                                     
6.6.6.6/32         1025/3        -/GE0/0/1                                     
3.3.3.3/32         NULL/1026     -/GE0/0/1                                     
3.3.3.3/32         1026/1026     -/GE0/0/1                                     
[P1]


[P2]dis mpls lsp
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
6.6.6.6/32         3/NULL        -/-                                           
1.1.1.1/32         NULL/1024     -/GE0/0/0                                     
1.1.1.1/32         1024/1024     -/GE0/0/0                                     
2.2.2.2/32         NULL/3        -/GE0/0/0                                     
2.2.2.2/32         1025/3        -/GE0/0/0                                     
3.3.3.3/32         NULL/3        -/GE0/0/1                                     
3.3.3.3/32         1026/3        -/GE0/0/1                                     
[P2]

[PE2]dis mpls lsp
-------------------------------------------------------------------------------
                 LSP Information: LDP LSP
-------------------------------------------------------------------------------
FEC                In/Out Label  In/Out IF                      Vrf Name       
1.1.1.1/32         NULL/1024     -/GE0/0/0                                     
1.1.1.1/32         1024/1024     -/GE0/0/0                                     
2.2.2.2/32         NULL/1025     -/GE0/0/0                                     
2.2.2.2/32         1025/1025     -/GE0/0/0                                     
6.6.6.6/32         NULL/3        -/GE0/0/0                                     
6.6.6.6/32         1026/3        -/GE0/0/0                                     
3.3.3.3/32         3/NULL        -/-                                           
[PE2]


8.6 MPLS Ping测试

8.6.1 PE1执行MPLS Ping

ping lsp -a 1.1.1.1 -c 2 ip 3.3.3.3 32

[PE1]ping lsp -a 1.1.1.1 -c 2 ip 3.3.3.3 32   
  LSP PING FEC: IPV4 PREFIX 3.3.3.3/32/ : 100  data bytes, press CTRL_C to break
    Reply from 3.3.3.3: bytes=100 Sequence=1 time=30 ms
    Reply from 3.3.3.3: bytes=100 Sequence=2 time=50 ms

  --- FEC: IPV4 PREFIX 3.3.3.3/32 ping statistics ---
    2 packet(s) transmitted
    2 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 30/40/50 ms

[PE1]

8.6.2 PE1完整抓包信息

在PE1、P1、P2针对3.3.3.3/32的出口抓包,即PE1-G0/0/0,P1-G0/0/1,P2-G0/0/1抓包。

 

发出两个MPLS Echo Request,收到两个MPLS Echo Reply。

8.6.3 Ping过程分析

1、PE1发送MPLS ECHO Request(MPLS 标签1026):

Frame 78: 150 bytes on wire (1200 bits), 150 bytes captured (1200 bits) on interface -, id 0
Ethernet II, Src: 00:e0:fc:7e:3e:d8, Dst: 00:e0:fc:21:6d:78
MultiProtocol Label Switching Header, Label: 1026, Exp: 0, S: 1, TTL: 255
    0000 0000 0100 0000 0010 .... .... .... = MPLS Label: 1026 (0x00402)
    .... .... .... .... .... 000. .... .... = MPLS Experimental Bits: 0
    .... .... .... .... .... ...1 .... .... = MPLS Bottom Of Label Stack: 1
    .... .... .... .... .... .... 1111 1111 = MPLS TTL: 255
Internet Protocol Version 4, Src: 1.1.1.1, Dst: 127.0.0.1
    0100 .... = Version: 4
    .... 0110 = Header Length: 24 bytes (6)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 132
    Identification: 0x0003 (3)
    010. .... = Flags: 0x2, Don't fragment
    ...0 0000 0000 0000 = Fragment Offset: 0
    Time to Live: 1
    Protocol: UDP (17)
    Header Checksum: 0x635f [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 1.1.1.1
    Destination Address: 127.0.0.1
    Options: (4 bytes), Router Alert
        IP Option - Router Alert (4 bytes): Router shall examine packet (0)
            Type: 148
                1... .... = Copy on fragmentation: Yes
                .00. .... = Class: Control (0)
                ...1 0100 = Number: Router Alert (20)
            Length: 4
            Router Alert: Router shall examine packet (0)
    [Stream index: 6]
User Datagram Protocol, Src Port: 31003, Dst Port: 3503
    Source Port: 31003
    Destination Port: 3503
    Length: 108
    Checksum: 0x4051 [unverified]
    [Checksum Status: Unverified]
    [Stream index: 2]
    [Stream Packet Number: 1]
    [Timestamps]
        [Time since first frame: 0.000000000 seconds]
        [Time since previous frame: 0.000000000 seconds]
    UDP payload (100 bytes)
Multiprotocol Label Switching Echo
    Version: 1
    Global Flags: 0x0000
  
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值