华为NE5000E设备与Alcatel设备的LDP协议无法互通

发布时间:  2012-07-26 浏览次数:  108 下载次数:  4
问题描述
当华为NE5000E设备LDP采用loopback地址作为hello报文的源地址时,与阿尔卡特设备无法建立LDP邻居关系。
[华为设备]
NE5000E
NE5000E Version V200R001B028SP05.
VRP NE5000E Software Version VRPV5R1B12D034-GR
[Alcatel设备]
7750SR-7
TiMOS-C-2.1.R5 cpm/hops ALCATEL SR 7750 Copyright (c) 2000-2005 Alcatel.
All rights reserved. All use subject to applicable license agreements.
告警信息
在NE5000E和7750上都可以发现ldp邻居,但是无法建立ldp session
<NE5000E>display mpls ldp session
               LDP Session(s) in Public Network
 ------------------------------------------------------------------------------
 Peer-ID            Status      LAM  SsnRole  SsnAge      KA-Sent/Rcv
 ------------------------------------------------------------------------------
 2.2.2.1:0          Open Sent        Active               0/0
 ------------------------------------------------------------------------------
 LAM : Label Advertisement Mode      SsnAge Unit : DDD:HH:MM
<NE5000E>display mpls ldp peer
         LDP Peer Information in Public network
 ------------------------------------------------------------------------------
 Peer-ID                Transport-Address  Discovery-Source
 ------------------------------------------------------------------------------
 2.2.2.1:0              2.2.2.1            Pos1/0/0
 ------------------------------------------------------------------------------
B:7750SR#           show router ldp session
===============================================================================
LDP Sessions
===============================================================================
Peer LDP Id           Adj Type State        Mesg Sent  Mesg Recv  Up Time
-------------------------------------------------------------------------------
No Matching Entries Found
===============================================================================
B:7750SR#           show router ldp peer
===============================================================================
LDP Peers
===============================================================================
Peer              Adm  Opr  Hello   Hold    KA      KA       Passive   Auto
                            Factor  Time    Factor  Timeout  Mode      Created
-------------------------------------------------------------------------------
202.1.1.1         Up   Up   3       45      4       40       Disabled  Yes
202.1.1.3         Up   Up   3       45      4       40       Disabled  Yes
-------------------------------------------------------------------------------
No. of Peers: 2
===============================================================================
B:7750SR#
处理过程
如果碰到上述现象,并且要成功建立两个厂家之家的ldp session,临时只能采用规避的办法:
通过命令行修改LDP的传输地址后(mpls ldp transport interface),session可以正常建立。
根因
在华为NE5000E设备上,通过命令行修改LDP的传输地址后(mpls ldp transport interface),session可以正常建立。通过调试信息,当华为NE5000E设备使用loopback接口地址作为LDP的传输地址时,阿尔卡特设备收到了华为NE5000E设备发送的hello报文,但没有送给LDP模块处理。后 据阿尔卡特的研发确认:因为其源地址为loopback口地址,就把报文丢弃了,从而导致邻居无法发现,不能建立LDP的session。
建议与总结
从目前的分析结果看,华为设备的实现是没有问题的,而且具有更强的兼容性,有如下几点来证明:
1、在LDP的标准中(主要是RFC3036)没有对hello的源地址做任何的规定和限制,具体细节请参考RFC3036。
2、之所以如此实现,是为了增强华为设备对其他设备的兼容性问题。在RFC3036里描述,Hello报文中传输地址TLV是一个可选的TLV,当有设备没有支持处理传输地址TLV时(在实际应用时也遇到过这种互通情况),对方就只能根据收到的hello报文的源地址来作为TCP连接端地址,此时我们就可以通过修改hello报文的源地址来告诉对方设备。当然,我们同时在hello报文里也携带了传输地址TLV,这样,我们就可以兼容更多的设备。
3、华为的设备目前可以和Cisco、Juniper、RedBack等大部分厂家互通,这也证明了大部分厂家都是不会对hello报文的源地址做这种检查。
4、从目前的分析,hello报文的源地址采用什么地址,实际上对LDP报文的处理是没有任何影响的。

END