BGP汇总路由震荡问题分析

发布时间:  2015-12-04 浏览次数:  1539 下载次数:  0
问题描述

图1-1 客户业务拓扑结构



现象描述:

BGP邻居从R1学习路由时出现震荡现象。

处理过程
将SW1&SW2上执行命令ip route-static ip-address { mask | mask-length } { nexthop-address | vpn-instance vpn-instance-name nexthop-address } ] [ preference preference | tag tag ] 将此条静态路由的优先级preference值从200调整到60,使SW1和SW2的路由表始终稳定在从静态路由学习的状态。
根因
1、首先根据路由策略,静态路由先被引入OSPF 500进程。

2、OSPF 500进程引入静态路由后计算出O_ASE路由,并通过LSA宣告给SW2:

Type      : External
            Ls id     : 10.154.2.0
            Adv rtr   : 11.154.127.244 
            Ls age    : 7
            Len       : 36
            Options   :  E 
            seq#      : 80000029
            chksum    : 0x3c1
            Net mask  : 255.255.255.224
            TOS 0  Metric: 100000
            E type    : 1
            Forwarding Address : 0.0.0.0
            Tag       : 5001             
            Priority  : Low

3、OSPF 1进程通过SW2引入OSPF 500的O_ASE路由后,计算自身的O_ASE路由,通过LSA宣告给SW1:

<SW1>disp ip rou 10.154.2.0 27 v
       Route Flags: R - relay, D - download to fib
       ----------------------------------------------                    Routing Table : Public
       Summary Count : 2
                  
       Destination: 10.154.2.0/27
         Protocol: O_ASE            Process ID: 500      
        Preference: 190                    Cost: 100100
          NextHop: 11.154.69.249     Neighbour: 0.0.0.0
           State: Active Adv              Age: 00h00m03s
            Tag: 5001               Priority: low
           Label: NULL                QoSInfo: 0x0
         IndirectID: 0x0             
        RelayNextHop: 0.0.0.0           Interface: Vlanif842
         TunnelID: 0x0                   Flags:  D
                  
       Destination: 10.154.2.0/27
         Protocol: Static           Process ID: 0
        Preference: 200                    Cost: 0
          NextHop: 0.0.0.0           Neighbour: 0.0.0.0
           State: Inactive Adv            Age: 02h42m07s
            Tag: 0                  Priority: medium
           Label: NULL                QoSInfo: 0x0
         IndirectID: 0x0             
        RelayNextHop: 0.0.0.0           Interface: NULL0
         TunnelID: 0x0                   Flags:

4、由于O_ASE优先级高于静态路由,SW1将路由表项中静态路由覆盖:

<SW1>disp ip rou 10.154.2.0 27 v
       Route Flags: R - relay, D - download to fib
       -----------------------------------------------                   Routing Table : Public
       Summary Count : 2
                  
       Destination: 10.154.2.0/27
         Protocol: O_ASE            Process ID: 1      
        Preference: 190                    Cost: 101000
          NextHop: 10.250.210.178    Neighbour: 0.0.0.0
           State: Active Adv Del          Age: 00h00m00s
            Tag: 931                Priority: low
           Label: NULL                QoSInfo: 0x0
         IndirectID: 0x0             
       RelayNextHop: 0.0.0.0           Interface: Vlanif819

并宣告给SW2。SW2得知静态路由覆盖后,通知OSPF 500进程中O_ASE路由失效,进而导致OSPF 1进程O_ASE路由失效。

5、在OSPF 1进程撤销了O_ASE路由后,并宣告给SW1后,SW1路由表项中静态路由状态变为活跃。

6、OSPF 500 在重新引入静态路由时又会重复上述过程,导致了SW1&SW2上路由表将在OSPF和静态路由之间频繁切换。

7、由于SW1&SW2是通过network的方式注入BGP路由的,此时SW1&SW2上的路由表在OSPF和静态路由之间切换会导致BGP路由撤销再学习,从而在R1上此条路由会也会出现震荡现象。
建议与总结
OSPF引入静态路由时需要注意由于优先级大小的原因造成的IGP路由震荡。BGP路由汇总时也会由于IGP路由的震荡出现震荡现象。

END