NE40X8路由数未超限导致BGP邻居中断

发布时间:  2015-09-06 浏览次数:  372 下载次数:  0
问题描述

     在设备C 上配置了peer route-limit 命令限制从设备B 接收的路由数目。在设备B 发往设备C 的路由数目没有超过上限的情况下,设备C 中断了与设备B 的对等体连接。


      组网:设备A<-->设备B<-->设备C

详细配置过程如下:

1. A、B、C 设备间建立EBGP 连接。

2. 设备A 上配置了5 条静态路由,通过BGP 协议通告给其它设备。

huawei_A(config)#ip route-static 222.1.1.1 24 NULL 0

huawei_A(config)#ip route-static 222.1.2.1 24 NULL 0

huawei_A(config)#ip route-static 222.1.3.1 24 NULL 0

huawei_A(config)#ip route-static 222.1.4.1 24 NULL 0

huawei_A(config)#ip route-static 222.1.5.1 24 NULL 0

huawei_A(config)#bgp 64632

huawei_A(config-bgp)#import-route static

在设备C 上查看BGP 路由表,可以看到设备C 学到了设备A 上的5 条静态路由。

3. 在设备B 上配置路由策略,过滤掉2 条发往设备C 的路由。

huawei_B(config)#acl 2001

huawei_B(config-acl-basic-2001)#rule permit source 222.1.1.0 0.0.0.255

huawei_B(config-acl-basic-2001)#rule permit source 222.1.2.0 0.0.0.255

huawei_B(config-acl-basic-2001)#quit

huawei_B(config)#route-policy out deny node 20

huawei_B(config-route-policy)#if-match acl 2001

huawei_B(config-route-policy)#quit

huawei_B(config)#route-policy out permit node 30

huawei_B(config-route-policy)#quit

huawei_B(config)#bgp 64633

huawei_B(config-bgp)#peer 10.1.1.2 route-policy out export

查看设备C 的BGP 路由表,发现2 条路由被过滤掉。

4. 在设备C 上配置了peer route-limit 命令,设置允许接收从设备B 发来的最大路由

数量为4,当从设备B 发来的路由超过上限时,设备C 与设备B 的邻居关系将中

断。

huawei_C(config)#bgp 64634

huawei_C(config-bgp)#peer 10.1.1.1 route-limit 4

由于此时从设备B 只发来了3 条路由,所以设备C 与设备B 间的邻居关系正常。

5. 改变设备B 上的策略,指定匹配模式是permit,索引号是10 的“out”策略,只允

许匹配ACL 2001 的2 条路由发往设备C。邻居关系立即中断了。

huawei_B(config)#route-policy out permit node 10

告警信息

处理过程

   因为配置了peer route-limit 命令,设备B 和设备C 之间反复的断开连接和重建邻居,所以一定是设备B 发来的路由数目超过了配置的上限4 条。查看设备C显示接收路由超限。问题产生过程分析如下:

l. 修改路由策略是为了使发往设备C 的路由为2 条,小于上限4 条。

2. 但在配置了route-policy out permit node 10 后,邻居关系立即因为路由超过限制而中断了。一定是BGP 协议立即执行了新的permit 策略。

3. RM 在执行路由策略的时候,路由项首先从索引号最小的节点开始匹配,如果有一个节点匹配成功,该路由项的匹配就结束。

4. 因为这个permit 节点的索引号为10,且表示允许所有路由通过。所以这时发往设备C 的路由数目是5 条,造成了路由数超限。

5. 使用display current-configuration 查看设备B 的配置情况,发现路由策略执行延迟时间为0s。路由策略变化,路由模块立即通知各协议执行新的策略。导致配置尚未完成,BGP 协议就开始执行这个不完整的策略。

根因
   路由器C上配置了peer route-limit  命令 导致设备B 发来的路由数目超过了配置的上限4 条。查看设备C显示接收路由超限
解决方案

  在设备B 上,执行route-policy-change notify-delay 命令,调整路由策略变化后的执行延迟时间

建议与总结

   


    在路由策略更新延迟时间较短的情况下,配置了peer route-limit 命令后,改变路由策略很可能导致路由超限,致使BGP 邻居中断。


    建议在进行网络规划的时候就优先考虑路由容量的配置问题,为可能的路由振荡留出一定的空间,或者是配置成超限后仅告警而不断邻居,提高系统的稳定性。

END