某银行AR2220路由器EBGP邻居状态震荡的问题分析

发布时间:  2015-10-07 浏览次数:  326 下载次数:  0
问题描述

两局点之间建立EBGP邻居关系,BGP的邻居状态在IdleEstablished反复震荡,通过采集debug信息发现本端AR路由器在BGP邻居状态到Established后收不到对端设备的Keeplive消息,以致Hold Timer超时邻居状态中断。

 

Sep 14 2015 07:29:08.169.4+00:00 CHN_SHE_BRA_AR02 RM/6/RMDEBUG:

 BGP_TIMER: HOLD Timer Expired for Peer 10.27.251.225

Sep 14 2015 07:29:08.169.5+00:00 CHN_SHE_BRA_AR02 RM/6/RMDEBUG:

 BGP.public: 10.27.251.225 Current event is HoldTimerExpired.

Sep 14 2015 07:29:08.169.6+00:00 CHN_SHE_BRA_AR02 RM/6/RMDEBUG:

 BGP.Public: Send NOTIFICATION MSG to peer 10.27.251.225

 Err/SubErr: 4/0 (Hold Timer Expired)

 Error data NULL.

Sep 14 2015 07:29:08.169.7+00:00 CHN_SHE_BRA_AR02 RM/6/RMDEBUG:

        BGP: Sent to 10.27.251.225 (AS Number: 9929)

        (Displaying bytes from 1 to 21)

        FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

        00 15 03 04 00

Sep 14 2015 07:29:08.169.8+00:00 CHN_SHE_BRA_AR02 RM/6/RMDEBUG:

 BGP.Public: 10.27.251.225 State is changed from ESTABLISHED to IDLE.

告警信息

Sep 14 2015 08:04:32+00:00 CHN_SHE_BRA_AR02 %%01BGP/3/STATE_CHG_UPDOWN(l)[10]:The status of the peer 10.27.251.225 changed from ESTABLISHED to IDLE. (InstanceName=Public, StateChangeReason=Hold Timer Expired)

Sep 14 2015 08:04:23+00:00 CHN_SHE_BRA_AR02 %%01BGP/3/STATE_CHG_UPDOWN(l)[11]:The status of the peer 10.27.251.225 changed from OPENCONFIRM to ESTABLISHED. (InstanceName=Public, StateChangeReason=Up)

处理过程


步骤1AR1到总行的EBGP邻居状态正常,AR2的配置和AR1相同,排除配置问题原因。

步骤2EBGP邻居状态可以达到Established,排除俩段EBGP多跳未配置原因。

步骤3、在AR2上做镜像抓包发现BGP报文有丢包的情况发生:



从抓包的信息上看有总行BGP报文丢失的情况出现,怀疑是报文较大的Update消息被丢失。

步骤4、在AR2上通过ping –s 2000 对端ip测试连通性,发现ping测不通,1474以下的报文可以ping通。

至此基本可以确定是中间运行商传输链路MTU值不匹配导致此问题。


根因

AR2CR2BGP邻居状态到达EstablishedCR先发Update报文传递路由,因为路由数量较大导致报文的大小超过传输链路的最大值,估计在封装TCPIP包头后报文大小接近1500,报文在传输设备侧被丢失导致BGP邻居反复震荡。

解决方案
1、 临时将AR2CR2之间的以太网接口TCP MSS更改为1440,配置后BGP邻居状态可以稳定在Established状态,故障问题解决

2、通知客户故障原因,由客户去协调运行商更改传输链路的MTU值和路由器接口匹配 


建议与总结

熟练使用DEBUG功能和抓包工具是发现网络故障问题的重要手段。

END