BGPはネットワーク運用において非常に重要な役割を果たします。その中でも、Origin属性は最適なパスを選択するために欠かせない要素の一つです。このブログでは、Ciscoルーターを使用してOrigin属性の動作を実際に確認する方法をステップバイステップで解説します。
Origin属性とは
Origin属性はBGPにおける最も基本的な属性の一つであり、各プレフィックス(経路)がどこから発生したかを記録する属性です。これにより、ルーターは経路選択時に信頼性の高い情報に基づいて最適なパスを選定します。Origin属性には次の3種類があります。
- IGP: networkコマンドにより発生したルートを示し、通常最も優先されます。
- EGP: EGPプロトコルにより発生したルートを示しますが、現在ではほとんど使用されていません。
- Incomplete: 再配布された経路(redistributeコマンドによる)を示します。IGPと比較して、信頼性が低いとされます。
Origin属性の優先順位
BGPは複数のパスが存在する場合、最も信頼性の高いパスを選びます。Origin属性における優先順位は以下の通りです:
- IGP
- EGP(現在使用されない)
- Incomplete
これにより、同一のBGPプレフィックスに対しては、IGPの経路がIncompleteよりも優先されます。
検証の概要
この検証では、2つのルーター(R2とR3)から同じプレフィックス(23.23.23.23/32)を異なる方法でアドバタイズし、それらの経路が別のルーター(R6)でどのように扱われるかを確認します。
- R2: networkコマンドを使用して経路をアドバタイズし、OriginをIGPとして示します。
- R3: redistribute connectedコマンドを使用して経路をアドバタイズし、OriginをIncompleteとして示します。
- R6: BGPテーブルを確認し、最適経路の選択結果を確認します。
構成と設定
R2の設定(IGPとしてアドバタイズ)
R2(config)# int loopback 23
R2(config-if)# ip add 23.23.23.23 255.255.255.255
R2(config)# router bgp 23
R2(config-router)# network 23.23.23.23 mask 255.255.255.255
R2(config-router)# neighbor 192.168.26.6 remote-as 6
R3の設定(Incompleteとしてアドバタイズ)
R3(config)# int loopback 23
R3(config-if)# ip add 23.23.23.23 255.255.255.255
R3(config)# router bgp 23
R3(config-router)# redistribute connected
R6の設定(経路受信)
R6(config)# router bgp 6 R6(config-router)# neighbor 192.168.26.2 remote-as 23 R6(config-router)# neighbor 192.168.36.3 remote-as 23
動作確認
まず、R6のBGPテーブルを確認します。以下のコマンドで、R2とR3の両方からアドバタイズされた23.23.23.23/32のプレフィックスを確認します。
R6# show ip bgp BGP table version is 9, local router ID is 6.6.6.6 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path * 23.23.23.23/32 192.168.36.3 0 0 23 ? *> 192.168.26.2 0 0 23 i
次に、23.23.23.23/32の経路詳細を確認します。
R6# show bgp 23.23.23.23 BGP routing table entry for 23.23.23.23/32, version 4 Paths: (2 available, best #2, table default) Advertised to update-groups: 1 23 192.168.36.3 from 192.168.36.3 (3.3.3.3) Origin incomplete, metric 0, localpref 100, valid, external rx pathid: 0, tx pathid: 0 23 192.168.26.2 from 192.168.26.2 (2.2.2.2) Origin IGP, metric 0, localpref 100, valid, external, best rx pathid: 0, tx pathid: 0x0
R2からのルートはOriginがIGP 、R3からのルートはOriginがincomplete です。 そのため、R2の経路をベストパスとして認識します。
この結果から、R2からアドバタイズされたルートはOriginがIGPで、R3からのルートはOriginがIncompleteであることが確認できます。そのため、R6はR2からの経路を最適経路(ベストパス)として選択していることがわかります。
まとめ
このブログでは、BGPのOrigin属性がどのように最適な経路選択に影響を与えるかを、Ciscoルーターを使った実際の設定で確認しました。重要なポイントは、BGPにおいて、IGPの経路がIncompleteよりも優先されることです。このことは、BGPの経路制御や最適化を行う際に非常に役立ちます。
その他 BGP関連記事は >> ルーティングプロトコル(BGP)まとめ << より参照できます。
コメント