2009年5月16日土曜日

bgp suppress-inactive


bgp suppress-inactive コマンドについて、GNS3 で検証してみた。

IP アドレス
  • R1 - f0/0: 192.168.12.1/24
  • R1 - f0/1: 192.168.15.1/24
  • R1 - lo10: 10.10.1.1/24
  • R1 - lo11: 10.11.1.1/24
  • R2 - f0/0: 192.168.12.2/24
  • R2 - f0/1: 192.168.23.2/24
  • R3 - f0/0: 192.168.23.3/24
  • R3 - f0/1: 192.168.34.3/24
  • R4 - f0/0: 192.168.34.4/24
  • R4 - lo10: 10.10.4.1/24
  • R5 - f0/0: 192.168.15.5/24
  • R5 - f0/1: 192.168.23.5/24
BGP に関わる設定
  • R1
    router bgp 1
    no synchronization
    bgp log-neighbor-changes
    network 10.10.1.0 mask 255.255.255.0
    network 10.11.1.0 mask 255.255.255.0
    neighbor 192.168.12.2 remote-as 2
    no auto-summary
  • R2
    router bgp 2
    no synchronization
    bgp log-neighbor-changes
    network 192.168.23.0
    neighbor 192.168.12.1 remote-as 1
    neighbor 192.168.23.3 remote-as 3
    no auto-summary
  • R3
    router bgp 3
    bgp log-neighbor-changes
    neighbor 192.168.23.2 remote-as 2
    neighbor 192.168.34.4 remote-as 4
    !
    address-family ipv4
    neighbor 192.168.23.2 activate
    neighbor 192.168.34.4 activate
    no auto-summary
    no synchronization
    bgp suppress-inactive
    exit-address-family
  • R4
    router bgp 4
    no synchronization
    bgp log-neighbor-changes
    network 10.10.4.0 mask 255.255.255.0
    neighbor 192.168.34.3 remote-as 3
    no auto-summary
show コマンド
  • R3 - show ip route
    R3#sh ip ro | b Gateway
    Gateway of last resort is not set
    10.0.0.0/24 is subnetted, 3 subnets
    S 10.11.1.0 [1/0] via 192.168.23.2
    S 10.10.1.0 [1/0] via 192.168.23.5
    B 10.10.4.0 [20/0] via 192.168.34.4, 00:37:24
    C 192.168.23.0/24 is directly connected, FastEthernet0/0
    C 192.168.34.0/24 is directly connected, FastEthernet0/1
  • R3 - show ip bgp
    R3#sh ip bgp | b Network
    Network Next Hop Metric LocPrf Weight Path
    r> 10.10.1.0/24 192.168.23.2 0 2 1 i
    *> 10.10.4.0/24 192.168.34.4 0 0 4 i
    r> 10.11.1.0/24 192.168.23.2 0 2 1 i
    r> 192.168.23.0 192.168.23.2 0 0 2 i
  • R3 - show ip bgp rib-failure
    R3#sh ip bgp rib-failure
    Network Next Hop RIB-failure RIB-NH Matches
    10.10.1.0/24 192.168.23.2 Higher admin distance No
    10.11.1.0/24 192.168.23.2 Higher admin distance Yes
    192.168.23.0 192.168.23.2 Higher admin distance Yes
  • R4 - show ip route
    R4#sh ip ro | b Gateway
    Gateway of last resort is not set
    10.0.0.0/24 is subnetted, 2 subnets
    B 10.11.1.0 [20/0] via 192.168.34.3, 00:40:22
    C 10.10.4.0 is directly connected, Loopback10
    B 192.168.23.0/24 [20/0] via 192.168.34.3, 00:40:22
    C 192.168.34.0/24 is directly connected, FastEthernet0/0
  • R4 - show ip bgp
    R4#sh ip bgp | b Network
    Network Next Hop Metric LocPrf Weight Path
    *> 10.10.4.0/24 0.0.0.0 0 32768 i
    *> 10.11.1.0/24 192.168.34.3 0 3 2 1 i
    *> 192.168.23.0 192.168.34.3 0 3 2 i
結果の考察

R3 で bgp suppress-inactive コマンドを使っている。

R3 の show ip bgp rib-failure を確認してみた。
BGP より優先される AD 値の ルートがルーティングテーブルにあるネットワークは、Higher admin distance となっている。
その中で、RIB-NH Matches の列が、No になっているネットワーク (10.10.1.0/24) のみが、R4 にアドバタイズされていない。

コマンドレファレンスを調べてみると、RIB-NH Matches の列は、以下の 3 種類がある。(※ 訳に自信無し)
  • Yes: RIB のネクストホップが BGP ルートと同じか、再帰的に辿った結果が、BGP のネクストホップと同じネットワークに隣接している場合。
  • No: RIB のネクストホップを再帰的に辿った結果が、BGP のネクストホップと違う場合。
  • n/a: bgp suppress-inactive が設定されていない。
R3#sh ip bgp rib-failure
Network Next Hop RIB-failure RIB-NH Matches
10.10.1.0/24 192.168.23.2 Higher admin distance No
10.11.1.0/24 192.168.23.2 Higher admin distance Yes
192.168.23.0 192.168.23.2 Higher admin distance Yes

  • 10.10.1.0/24 の BGP のネクストホップは、192.168.23.2 で、スタティックルートのネクストホップは、192.168.23.5 で違うため、RIB-NH Matches = No となる。即ち、BGP でアドバタイズされない。
  • 10.11.1.0/24 の BGP のネクストホップは、192.168.23.2 で、スタティックルートのネクストホップは、192.168.23.2 で同じため、RIB-NH Matches = Yes となる。即ち、BGP でアドバタイズされる。
  • 192.168.23.0 の BGP のネクストホップは、192.168.23.2 で、ルーティングテーブルでは、directly connected である。BGP のネクストホップと同じネットワークに隣接しているため、RIB-NH Matches = Yes となる。即ち、BGP でアドバタイズされる。
bgp suppress-inactive コマンドで、BGP のアドバタイズが抑制されるのは、rib-failure の原因となった、ルーティングテーブルにある AD 値優先のルートと、ネクストホップが違う場合のようだ。
厳密に整合性を維持できるルートのみ BGP でアドバタイズすることを目的とするコマンドと考えれば、この動作は納得がいく。

(注意) 結果の考察に書いてあることは、完全に私の推測です。シスコのドキュメントに基づいた記述ではないことをご了承ください。

参考

0 件のコメント: