◆ AS_PATH( タイプコード 2:Well-known mandatory )
AS_PATHは、ルート情報がどのASを経由してきたのか分かるAS番号のリストを示すアトリビュートです。
このアトリビュート値はBGPの update メッセージに必ず含まれます。AS番号のリストは、EBGPピアに
ルート情報をアドバタイズする時、AS_PATHアトリビュートの先頭に自分のAS番号を付加していきます。

AS1のBGPルータで、networkコマンドで「1.1.0.0/16」のネットワークをアドバタイズするとします。
その時、AS1のBGPテーブルでは 1.1.1.0/16 のルートのAS_PATHアトリビュートは「空」の状態です。
最初に、AS1からEBGPピアにそのルートをアドバタイズする際に、自身のAS番号を先頭に付加します。
上図のAS4では、IBGPピアにルートをアドバタイズしているので、当然AS_PATHに変化はありません。
最後に、AS1がAS4からルート情報を受信した時、そのルート情報のAS_PATHアトリビュートに自身の
AS番号が含まれている時はそのルート情報は破棄されます。AS_PATHによりループを防止しています。
上図では理解しやすいように、AS1からAS2へ「1.1.0.0/16」を通知した時の状態を確認していきましたが
実際にはAS1からAS4へも「1.1.0.0/16」をアドバタイズしています。その時のフローは下図のとおりです。

その結果、AS2、AS3、AS4は「1.1.0.0/16」宛のネットワークに対し2通りのパスを知ることができます。
AS_PATHアトリビュートでは最も短いルートを優先します。そのため、例えばAS2では2つのルート情報を
受信しますが、AS_PATHアトリビュートの短い AS_PATH 1 経由のルートをベストパスとして選択します。

|