◆ BGP - パスアトリビュート
BGPで交換される4つのメッセージのうち、Updateメッセージがありましたが、Updateメッセージの中に
パスアトリビュート(パス属性)が含まれています。パスアトリビュートはBGPで使用するメトリックです。
このパスアトリビュートを組み合わせることで「AS」に対して様々な経路制御が可能となります。
◆ BGP - パスアトリビュート
BGPの10種類以上あるパスアトリビュートは、大きく以下の4つのカテゴリーに分類することができます。
カテゴリー |
説明 |
Well-known mandatory( 既知必須 ) |
全てのBGPルータで識別できて、全てのUpdateメッセージに含まれる |
Well-known discretionary( 既知任意 ) |
全てのBGPルータで識別できるが、Updateメッセージに含まれるかは任意 |
Optional transitive( オプション通知 ) |
全てのBGPルータで識別できない可能性があるが、BGPネイバーへは通知する |
Optional non-transitive(オプション非通知) |
全てのBGPルータで識別できない可能性があり、BGPネイバーへは通知しない |
◆ BGP - パスアトリビュートの一覧
BGPのパスアトリビュートには以下のようなものがあります。一番下の「Weight」はCisco独自の属性です。
タイプコード |
パスアトリビュート |
アトリビュートタイプ |
1 |
ORIGIN |
Well-known mandatory |
2 |
AS_PATH |
Well-known mandatory |
3 |
NEXT_HOP |
Well-known mandatory |
4 |
MULTI_EXIT_DISC |
Optional non-transitive |
5 |
LOCAL_PREF |
Well-known discretionary |
6 |
ATOMIC_AGGREGATE |
Well-known discretionary |
7 |
AGGREGATOR |
Optional transitive |
8 |
COMMUNITY |
Optional transitive |
9 |
ORIGINATOR_ID |
Optional non-transitive |
10 |
CLUSTER_LIST |
Optional non-transitive |
- |
WEIGHT |
- |
◆ BGP - ベストパス選択のアルゴリズム
BGPでは、宛先に到達するためのパスが複数ある場合、先ずそれらのパスをBGPテーブルに格納します。
ただし、BGPテーブルからルーティングテーブルにインストールされるパスは1つだけです。複数のパス
の中から最適経路を1つだけ選択するためには以下の「ベストパス選択のアルゴリズム」を使用します。
BGPのパス属性には以下のような優先順位があり、以下の比較条件が満たせるまで次の比較条件に進み
ベストパスが1つだけ選択されます。ベストパスはBGPテーブルで「>」と表示されます。ベストパスの
選択プロセスが行われる前提として「NEXT_HOPアトリビュートのIPアドレスに到達できること」です。
※ つまり「 宛先ネットワークのネクストホップに到達できなければ、そのルートはベストパスにはならない 」ということです。
優先度 |
説明 |
1 |
Cisco独自のWEIGHTアトリビュートが最も大きいルートを優先 |
2 |
LOCAL_PREFアトリビュートが最も大きいルートを優先 |
3 |
ローカルルートが発生元であるルート(networkコマンドで生成したルート)を優先 |
4 |
AS_PATHアトリビュートが最も短いルートを優先 |
5 |
ORIGINアトリビュートが最も小さいルートを優先( IGP < EGP < Incomplete ) |
6 |
MED(MULTI_EXIT_DISC)アトリビュートが最も小さいルートを優先 |
7 |
IBGPで学習したルートよりもEBGPで学習したルートを優先 |
8 |
ネクストホップに対して最小のIGPメトリックを持つルートを優先 |
9 |
EBGPネイバーから受信したルートのうち、最も古いルート(先に受信したルート)を優先 |
10 |
ルータIDが最小のBGPピアから受信したルートを優先 |
11 |
BGPピアのIPアドレスが最小のルートを優先 |
ルートのWEIGHT値が同じである場合はLOCAL_PREF値を比較して、LOCAL_PREF値も同じである場合は、
ローカルルートが発生元であるかを確認する、という流れで優先度順で比較差が出るまでチェックされます。
|