首页/网络/BGP 与广域网速查/LDP 端口与防火墙放行要点
MPLS 与专线70 条

LDP 端口与防火墙放行要点

LDP 使用 UDP 646(发现)与 TCP 646(会话):安全策略需放行两端互联地址间的这两个通道,且 TCP 会话通常建立在 loopback 传输地址之间。

BGP 与广域网速查网络更新于 2026-10-13

LDP 用到哪些端口

LDP 使用两个通道:UDP 646 负责发现,链路 hello 发往组播 224.0.0.2(点到点链路上也可单播),另有单播的目标 hello 用于定向发现;TCP 646 负责建立会话并交换标签映射。中间的防火墙或 ACL 必须放行这两条通道,只开其中一个会出现「hello 正常、会话永远建不起」或反过来的现象。

基本信息

UDP 646链路 hello,目的 224.0.0.2,点到点链路可单播
UDP 646目标 hello,单播定向发现,跨多跳或非广播网段
TCP 646会话通道,交换标签映射,主动方发起连接
源地址通常为本机传输地址(多为 loopback),不是接口地址
确认命令show mpls ldp discovery / show mpls ldp neighbor

典型使用场景

  • 跨防火墙或安全域部署 MPLS 时,需要放行 LDP 的两个通道
  • 会话不 Up 时,区分发现没通还是会话被拦
  • 抓包定位单向阻断:一端持续发 hello 而收不到响应
  • ACL 审计:确认放行范围覆盖两端传输地址,而非仅接口地址
  • 变更前评估:修改 loopback 或传输地址会改变套接字源地址

抓包与状态确认

抓包与状态确认
tcpdump -ni any port 646 -vv      # 同时观察 UDP hello 与 TCP 会话
# 关注三点:
# 1) 两端是否都在发 hello(组播或定向单播)
# 2) TCP SYN 方向,以及是否收到 SYN-ACK
# 3) 只有单向可见时,多为中间设备只放行了一个方向
!
show mpls ldp discovery               # 本机发现到的对端与传输地址
show mpls ldp neighbor                # 会话状态与建立时间

通道与用途

协议/端口用途说明
UDP 646链路 hello目的 224.0.0.2,点到点链路也可单播
UDP 646目标 hello单播定向发现,跨多跳或非广播网段
TCP 646会话通道标签映射交换,源通常为传输地址
核对工具抓包与状态命令配合两端同时取证,避免单向视角
会话源地址通常是 loopback 传输地址:ACL 只放行接口地址时,hello 能通而 TCP 连接被中间设备丢弃,现象就是发现正常、会话不建立。
使用目标 hello 做跨多跳发现时,放行范围要同时覆盖两端传输地址与 646 端口,漏掉任何一项都会表现为单向可见。
抓包位置决定结论:在设备本机抓到的报文未必真的穿过了中间安全设备,跨网段问题要选在链路中间或两端同时取证。

易错点

  • 只放行 UDP 646:hello 正常但 TCP 会话永远建不起来,标签映射无法交换
  • ACL 只匹配接口地址:会话源是传输地址(常为 loopback),连接被中间设备丢弃
  • 只从一端抓包就下结论:单向视角容易把双向问题判成对端故障
  • 修改传输地址前未评估:会话重建与标签重分发会带来短时转发中断

数据来源与参考

  • RFC 5036: LDP 传输层要求
  • IANA: 端口 646 注册
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌