电子政务 网络管理 常见故障处理

优先级引发IBGP出错

来源:网络部撰稿人:网络部发布时间:2015-07-07 字体:[] [][关闭][打印]

  

  作为应用于AS间的路由协议,IBGP经常被应用于大规模的网络中,而这些大规模的网络中往往由于设备众多、配置繁琐,维护管理难度大、路由复杂等而存在各种各样的问题。而网络管理员一般可以通过增强配置来解决在大规模网络中遇到的BGP对等体众多、BGP路由表庞大、IBGP全连接以及路由表震荡等问题。

 

  故障现象

  单位网络由H3C-MSR5660路由器组网,H3C-MSR5660 A和H3C-MSR5660 B、H3C-MSR5660 C之间建立OSPF连接,而H3C-MSR5660 B和H3C-MSR5660 C之间建立IBGP邻居,H3C-MSR5660 A分别向H3C-MSR5660 B和H3C-MSR5660 C发布了网段/14,结果是H3C-MSR5660 B的OSPF路由表中可以看到,但在H3C-MSR5660 C的OSPF路由表中没有该路由。

 

  原因分析

  我们通过下面的策略来进行分析。

  首先,检查H3C-MSR5660 C的OSPF LSDB,在出现故障的时候,可以看到LSDB中有该14位网段的信息,,但是没有生成OSPF路由,把10.211.4.0/14分为两个19位掩码的网段发布,在H3C-MSR5660 B和H3C-MSR5660 C上都可以看到此网段OSPF路由信息。

  接着,在H3C-MSR5660 C上,执行display ip routing-table命令查看全局路由表信息,发现其14位掩码的该网段路由是通过BGP的方式,从H3C-MSR5660 B中学习得到的,而且优先级为中高。

  最后,我们通过在H3C-MSR5660 C上执行display current-configuration检查路由器当前配置,发现在BGP IPv4单播地址簇视图下,配置了preference 20 100 200,这条命令导致IBGP路由优先级为中高,高于OSPF的路由优先级,所以当网段掩码为14位的时候,选择了优先级更高的IBGP路由,导致OSPF LSDB不能生成OSPF路由。

 

  故障解决

  从上面的检查结果看,我们可以从优先级这个概念进行处理,在H3C-MSR5660 C上分别执行以下操作:

  执行system-view,进入到系统视图,接着执行bgp进入BGP视图,执行undo preference,取消之前的优先级设置,执行preference20 180 200命令重新设置路由器优先级,将IBGP路由优先级从原来的100设置为当前的180。

  经过上面简单的设置后,可以发现整个网络可以正常运行了。

 

  经验总结

  从本次故障看,我们需要清楚地知道H3C-MSR5660 C从H3C-MSR5660 B学习的IBGP路由优先级虽然高于150,但掩码位为14位时,自然本地的LSDB就可以计算出15位掩码的路由了,但是本案例中,问题的根本原因还在于各协议路由优先级的设置,这是我们在设置路由器时需要特别注意的。

  为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2。当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。

  利用反射路由可以解决这一问题。在一个AS内,其中一台路由器作为路由反射RR,其他路由器作为客户机与路由反射器之间建立IBGP连接。路由反射器在客户机之间传递路由信息,而客户机之间不需要建立BGP连接。

  IBGP必须保持全连接的原因如下:

  1. 防止在AS内部形成BGP路由环路;

  2. 确保BGP路由路径上的所有路由器都知道如何将数据包转发到目的地。

  IBGP路由器必须以全网状结构相连,以防止路由环回。如果使用了路由反射器或路由联盟,那么IBGP网状结构可能遭遇收敛问题,而导致路由黑洞。