解説書 Vol.1
本装置は,各プロトコルで学習した同じ宛先への経路情報をそれぞれ独立した経路選択手順に従って一つの最適の経路を選択します。同じ宛先への経路情報が各プロトコルでの生成によって複数存在する場合,それぞれの経路情報のプリファレンス値が比較され優先度の最も高い経路情報が有効になります。
BGP4では,自プロトコルを使用し学習した同じ宛先への複数の経路情報から次の表に示す優先順位で一つの最適の経路を選択します。そのあと,同じ宛先への経路情報が各プロトコル(RIP,OSPF,スタティック)での経路選択によって複数存在する場合は,それぞれの経路情報のプリファレンス値が比較されて,優先度の最も高い経路情報をルーティングテーブルに設定します。
優先順位 内容 高
↑
↓
低LOCAL_PREF属性の値が最も大きい経路を選択します。 AS_PATH属性のAS数が最も短い経路を選択します。 ORIGIN属性の値でIGP,EGP,Incompleteの順で選択します。 MED属性の値が最も小さい経路を選択します。 外部ピアで学習した経路,内部ピアで学習した経路の順で選択します。 ネクストホップが最も近い(ネクストホップ解決時に使用したIGP経路のメトリック値が最も小さい)経路を選択します。 相手BGP識別子(ルータID)が最も小さい経路を選択します。 比較する経路がBGP4マルチパスの関係にある場合に,学習元ピアのアドレスが若い経路を選択します。 経路選択に関連する経路情報に含まれるBGP属性(LOCAL_PREF属性,AS_PATH属性,ORIGIN属性,MED属性,NextHop属性)の概念を次に説明します。
- 経路選択上の注意事項
- AS_PATH属性上のパスタイプAS_SETは全体で一つのASとしてカウントします。
- コンフィグレーションコマンドbgpのcompare-aspathサブコマンドにnoを指定することによって,ASパス長による経路選択を無効化できます。
- MED属性値による経路選択は,同一隣接ASから学習した重複経路に対してだけ有効です。なお,コンフィグレーションコマンドbgpのcompare-medサブコマンドにall-asを指定することによって,異なる隣接ASから学習した重複経路に対しても有効となります。
- <この項の構成>
- (1) LOCAL_PREF属性
- (2) AS_PATH属性
- (3) ORIGIN属性
- (4) MED属性
- (5) NextHop属性
LOCAL_PREF属性は,同じAS内のルータ間で通知される属性です。同じ宛先ネットワークに対して複数の経路がある場合,LOCAL_PREF属性は該当する宛先ネットワークに対する優先経路を示します。より大きいLOCAL_PREF属性値を持つ経路が優先されます。
本装置で使用できるLOCAL_PREF属性値は0〜65535の範囲で指定します。デフォルト値は100です。
(a) LOCAL_PREF属性のデフォルト値の変更
本装置ではコンフィグレーションコマンドbgpのdefault-localprefサブコマンドを指定して,外部ピアから自装置内に取り込む経路情報のLOCAL_PREF属性値を変更できます。
(b) LOCAL_PREF属性のフィルタ単位での変更
本装置ではインポート・フィルタやエキスポート・フィルタとコンフィグレーションコマンドattribute-list/route-filterのlocalprefサブコマンド(パラメータ)を組み合わせることによって,自装置内に取り込む経路情報や通知する経路情報のLOCAL_PREF属性を変更できます。
(c) LOCAL_PREF属性による経路選択の例
LOCAL_PREF属性による経路選択を次の図に示します。
この図で,AS400はAS200とAS300からネットワークAに対する経路情報を受け取ります。本装置Dのdefault-localpref値を150に,本装置Eのdefault-localpref値を50に設定するとします。それによって,本装置DはAS200からの経路情報を本装置Fに通知するときLOCAL_PREF値を150に設定し,本装置EはAS300からの経路情報を本装置Fに通知するとき,LOCAL_PREF値を50に設定します。本装置FでのネットワークAへの経路情報は,本装置Dからの経路情報が本装置Eからの経路情報より大きいLOCAL_PREF属性値を持つため,本装置Dからの経路情報(AS200経由の経路情報)を選択します。
AS_PATH属性は,経路情報の宛先ネットワークに到達するまでに通過するAS番号のリストです。経路情報がほかのASに通知されるとき,その経路情報のAS_PATH属性に自AS番号を追加します。また,コンフィグレーションの指定(コンフィグレーションコマンドattribute-list/route-filterのascountサブコマンド(パラメータ)とimport,exportコマンドとの組み合わせ)によって複数の自AS番号をAS_PATH属性に追加することもできます。これはある宛先ネットワークへの複数の経路がある場合に特定の経路を選択するのに有効です。
(a) AS_PATH属性による経路選択の例
AS_PATH属性による経路選択を次の図に示します。
ルータAが自ASに存在するネットワークAをAS200経由で通知するとき,AS500に到達する経路情報のAS_PATH属性は「200 100」を持ちます。ルータAが自AS内のネットワークAをAS300,AS400経由で通知するとき,AS500に到達する経路情報のAS_PATH属性は「400 300 100」を持ちます。したがって,AS500の本装置Eは最も短いAS_PATH属性を持つAS200経由で到達した経路を選択します。
(b) AS_PATH属性のascountサブコマンド(パラメータ)使用時の経路選択
ascountサブコマンド(パラメータ)の例を次の図に示します。
この図で,本装置Aが本装置Eに対しAS300 AS400経由の経路を選択させたい場合,AS200に通知する経路情報のAS_PATH属性に複数の自AS番号を追加します。例えば,自AS番号を三つ追加(ascount=3)した場合,AS200経由でAS500に到達する経路情報のAS_PATH属性は「200 100 100 100」を持ち,本装置Eは最も短いAS_PATH属性を持つAS300 AS400経由で到達した経路を選択します。
ORIGIN属性は,経路情報の生成元を示します。ORIGIN属性を次の表に示します。
表9-9 ORIGIN属性
ORIGIN属性 内容 IGP 該当する経路がAS内部で生成されたことを示す。 EGP 該当する経路がEGP経由で学習されたことを示す。 Incomplete 該当する経路が上記以外の方法で学習されたことを示す。 経路選択では,同一宛先への複数の経路が存在する場合,IGP,EGP,Incompleteの順で選択します。
本装置ではインポート・フィルタやエキスポート・フィルタとコンフィグレーションコマンドattribute-list/route-filterのoriginサブコマンド(パラメータ)を組み合わせることによって,自装置内に取り込む経路情報や通知する経路情報のORIGIN属性を変更できます。
MED属性は,同一の隣接ASから学習した,ある宛先への複数のBGP4経路の優先度を決定する属性です。より小さいMED属性値を持つ経路情報が優先されます。コンフィグレーションコマンドbgpのcompare-medサブコマンドにall-asを指定して,異なる隣接ASから学習したBGP4経路間の優先度選択に使用できます。
(a) MED属性による経路選択の例
MED属性による経路選択を次の図に示します。
ある宛先ネットワークに対する経路情報をルータCはMED属性値10で,ルータDはMED属性値20で本装置Aに通知しているものとします。この場合,本装置AはルータCから通知された経路情報を該当する宛先ネットワークへの経路として選択します。
MED属性による経路選択はコンフィグレーション(コンフィグレーションコマンドbgpのmedサブコマンド)で設定する必要があります。medサブコマンドが設定されていない場合,MED属性による経路選択は行いません。
本装置ではインポート・フィルタやエキスポート・フィルタとコンフィグレーションコマンドattribute-listまたはroute-filterのmedサブコマンド(パラメータ)を組み合わせることによって,自装置内に取り込む経路情報や通知する経路情報のMED属性値を変更できます。
また,medサブコマンド(パラメータ)にinternal-metricを指定した場合,NextHop解決に使用しているIGP経路のメトリック値を,通知するBGP4経路のMED属性値にすることができます。internal-metricの使用例を次の図に示します。
この図では本装置A,本装置Bの間でルーティングピアを形成しています。MED属性値=100で本装置Aから通知されたBGP4の経路情報を本装置BがルータCに通知するとき,本装置Bから本装置AまでのIGP経路のメトリック値=2をMED属性値に設定したい場合,本装置Bのエキスポート・フィルタでmedサブコマンド(パラメータ)にinternal-metricを指定します。
NextHop属性は,ある宛先ネットワークに到達するために使用されるネクストホップのIPアドレスです。本装置では相手BGPスピーカに経路情報を通知する場合,NextHop属性にピアリングに使用した自側のIPアドレスを設定します。
(a) NextHop属性の設定例
通知する経路情報のNextHop属性の設定例を次の図に示します。
- 外部ピアを形成するルータBへの経路情報
NextHop属性は本装置AとルータB間のインタフェースの本装置A側のインタフェースアドレスIbになります。
- 内部ピア(インターナルピア)を形成するルータCへの経路情報
NextHop属性は本装置AとルータC間のインタフェースの本装置A側のインタフェースアドレスIcになります。
- 内部ピア(ルーティングピア)を形成するルータDへの経路情報
NextHop属性は本装置AとIGPルータ間のインタフェースの本装置A側のインタフェースアドレスIaになります。
なお,ピアリングアドレスに「9.3.1 BGP4の基礎 (2) 装置アドレス」で説明した装置アドレスを使用している場合には,装置アドレスがNextHop属性に設定されます。
(b) NextHop属性を書き換えない場合
ブロードキャスト型インタフェースで接続されたピア間で経路情報を通知する場合,通知する経路情報のNextHop属性を書き換えません。ブロードキャスト型インタフェース接続でのNextHop属性の設定例を次の図に示します。
図9-11 ブロードキャスト型インタフェース接続でのNextHop属性の設定例
本装置Aと外部ピアを形成するルータBから通知された経路情報を,内部ピアを形成するルータCに通知する場合,通知するNextHop属性はルータBから通知されたネクストホップ(Ib)のままになります。また,ルータCから通知された経路情報をルータBに通知する場合,通知する経路情報のNextHop属性はルータCから通知されたネクストホップ(Ic)のままになります。つまり,通知する経路情報のネクストホップが通知するインタフェースと同一のネットワーク上に存在する場合,NextHop属性は書き換えません。
(c) NextHop属性の解決
ルーティングピアからBGP4経路情報を学習した場合,NextHop属性で示されたアドレスへ到達するためのパスを,IGP経路,スタティック経路,および直結経路によって解決します。BGP4経路のNextHopへ到達可能な経路の中から,宛先のマスク長が最も長い経路を選択し,当該経路のパスをBGP4経路のパスとして使用します。また,bgpコンフィグレーションコマンドのresolve-nexthopオプションでallを指定すると,上記の経路に加えて,BGP4経路をNextHopの解決に使用します。
なお,NextHopを解決した経路がスタティック経路で,かつ,noinstallオプションの指定がある場合,当該BGP4経路を抑止します。この機能はローカルVPNサイト以外のBGP4ピアから学習した経路に対して有効で,次のような場合に利用できます。
- 宛先不明の中継トラフィックを廃棄するため,nullインタフェース向けのデフォルト経路を設定してあるルータで,当該デフォルト経路によってBGP4経路のNextHopが解決されてしまうことを防ぐために,NextHop宛のスタティック経路を定義し,noinstallオプションを指定します。
Copyright (c)2005, 2011, ALAXALA Networks Corporation. All rights reserved.