一、故障现象
R1和R2建立LDP邻居失败。
二、组网拓扑

拓扑描述:
R1和R2直连,通过OSPF互相学习对方环回口路由,之后通过两端环回口地址建立LDP邻居。
三、可能原因
1、LDP配置不正确;
2、LDP两端参数不一致;
3、两端参数不一致;
4、没有正常收到hello包;
5、双方TCP连接建立失败
四、排查步骤
步骤一:检查是否LDP没有建立

通过show mpls ldp neighbor命令查看ldp邻居是否建立,若如上图显示为空,代表LDP未建立。
步骤二:检查LDP配置是否正确
通过show run命令的输出,检查要建立LDP的两台路由器是否有如下必备的配置——
R1(config)#mpls ip //全局开启mpls开关 R1(config)#mpls router ldp //使用mpls ldp协议 R1(config-mpls-router)#ldp router-id interface loopback 0 force //配置ldp的router-id为环回口0的IP R1(config-mpls-router)#exit R1(config)#interface gigabitEthernet 0/1 //进入与建立LDP的对端互联的接口 R1(config-if-GigabitEthernet 0/1)#mpls ip //打开接口LDP ipv4的功能 R1(config-if-GigabitEthernet 0/1)#label-switching //打开接口转发mpls标签报文的能力 R1(config-if-GigabitEthernet 0/1)#end R2配置同理,略
步骤三:检查两端参数是否一致
检查R1和R2的标签分发模式是否是DU模式(控制模式:独立,保留模式:自由,环路检测:关闭 ),只有两端模式一样才可以建立邻居,如下图两台路由都是一样,都为DU模式


步骤四:检查是否有正常收到hello包

通过分别在R1和R2上通过show mpls ldp discovery命令检查是否两端都有收发hello包,其中xmit代表发,recv代表收。如果有发无收,需要检查如下情况
情况一:对端接口是否确实开启ldp,在对端路由器上show run interface [互联接口],查看接口的ldp

情况二:接口配置了ACL,deny了到224.0.0.2的udp 646端口的LDP报文
如下图,接口出方向对LDP报文做了过滤,接口进出方向调用ACL过滤LDP报文均会影响LDP建立。但是ip fpm session filter不影响。

情况三:中间环境过滤了到224.0.0.2的udp 646端口的LDP报文
若检查了情况二仍未解决问题,需要检查中间环境的过滤问题。
步骤五:检查双方TCP连接建立情况
首先需完成步骤四排查,确保双方的hello包收发都正常后,进行此步排查。LDP邻居的建立还同样用到TCP 646端口,如果TCP 646端口的交互存在异常,也同样会导致LDP邻居建立失败。
通过show mpls ldp adj可以看到TCP连接是否建立正常。正常举例如下

若TCP connection显示n/a代表TCP连接未建立。则需排查如下情况:
情况一:确认是否有建立TCP连接所需的路由:通过show ip route查看路由表,确认是否有对端路由器的传输地址(默认LDP router-id即为本路由器传输地址)的路由

情况二:是否存在ACL或者安全设备过滤了TCP建联的报文:源目标IP地址为两端路由器的LDP router-id。如下图通过show ip f f | in 646的输出可以发现2.2.2.2向1.1.1.1发送了TCP的646端口,报文有收有发。

五、信息收集
信息收集命令参考
主控:
ping [对端传输地址] source [本段传输地址]
show run
show memory
show version
show version slot
show bgp vpnv4 unicast all summary
show mpls ldp neighbor
show mpls ldp discovery
show mpls ldp adj
sho mpls forwarding-table summary detai
show log
Show ip route
show ip ref mpls summary
show ip ref mpls for ftn vrf xxx,或者show ip ref mpls for ilm
sho core | b Buff
show interface
show ip fpm st
show ip fpm count
线卡(集中式盒式设备忽略):
vtty 相关线卡
sho mpls forwarding-table summary
show ip ref mp sum detai
show ip ref excep
show ip ref mpls packet debug-buf
show ip ref mpls for ftn vrf xxx,或者show ip ref mpls for ilm
sho core | b Buff
show ip fpm st
show ip fpm count
六、总结与建议
LDP邻居无法建立时,需注意以下几点:
1、LDP配置不正确;
2、LDP两端参数不一致;
3、两端参数不一致;
4、没有正常收到hello包;
5、双方TCP连接建立失败。