パス属性
ルータが BGP プレフィックスを受信すると、そこにはいくつかのパス属性が付属されています。 すべての BGP パス属性は、4 つの主なカテゴリのいずれかに分類されます。以下、各カテゴリの名前と属性の例を示しています。
Well-known(よく知られている)とは、すべてのルータがこのパス属性を認識しなければならないことを意味します。Optional は、ルータがそのパス属性を必ずしも認識する必要がないことを意味します。
Well-known(よく知られている)の中には、mandatory(必須)と discretionary(任意)の2つに分かれます。mandatory(必須)はUpdateメッセージ(BGP更新)にこの属性が必ず含まれていなければならないことを意味します。属性が存在しない場合は、エラーが通知されます。discretionary(任意)とは、その属性がUpdateメッセージ(BGP更新)に含まれていなくてもよいことを意味します。
Optionalの属性カテゴリには、 Transitive(透過的)とNon-Transitive(非透過的)があります。 Transitive(透過的)の場合、ルータはUpdateメッセージ(BGP更新)でそのパス属性をネイバーに渡す(通知する)必要があります。Non-Transitive(非透過的)の場合は、Updateメッセージ(BGP更新)でその属性値を渡す必要がありません(無視します)。
Well-Known Mandatory
すべてのBGPルータによって認識され、すべてのBGP更新に含まれ、他のBGPルータに渡されなければなりません。例えば、Origin、AS Path、Next Hopの3つがあります。
Origin
あるプレフィックスがどこから発生したのか記録されます。この属性値には、IGP(i)、EGP(e)、Incomplete(?)があります。IGPは、主にnetworkコマンドにより発生したプレフィックスであり、Incompleteは、ルートの生成元が不明なルートで、主にルート再配信により発生したプレフィックスであることがわかります。EGPは現在使われていません。
AS Path
あるプレフィックスに到達するために通過すべきAS番号の順序付きリストです。ある同一プレフィックスで複数のルートを学習している場合、AS番号のリストが少ない方(AS-Pathが短い方)が最適なパスとして認識されます。内部BGPでループを防ぐためにも参照されます。
Next Hop
そのプレフィックスへ到達するのに、次にどのネクストホップにトラフィックを送ればいいのかを表します。 eBGPピアリングでプレフィックスを送信すると、デフォルトでは、更新を送信したeBGPルータのIPアドレスがネクストホップになります。しかし、iBGP ピアリングでプレフィックスを送信すると、デフォルトでは、ネクストホップは変更されず、保持されます。BGPのネクストホップは、IGPのような隣接ルータではなく、次のASへのルータを指します。
Well-Known Discretionary
すべてのBGPルータで認識され、他のBGPルータに渡す必要がありますが、BGP更新に含める必要はありません。
Local Preference
iBGPピアへ自ASを出るトラフィックはどのルータを選択させるのか指定する値。デフォルト値は100です
Optional Transitive
BGPルータは認識しても、しなくても良いが、他のBGPルータに渡す必要があります。例えば、community属性があります。
Optional Non-Transitive
BGPルータは認識しても、しなくても良いし、他のルータには渡す必要もありません。
MULTI_EXIT_DISC (MED)
自ASへのインバウンドトラフィックに対して、複数のパスの中からどのパスを選択させるかを隣接ASルータにメトリック値として通知します。
BGP更新パケットの確認
以下の図で、BGPの更新パケットのキャプチャデータから、BGP属性がどのように付与されているのか確認します。
R1〜R2のeBGPでのBGP更新パケット(UPDATEメッセージ)
R2〜R3のiBGPでのBGP更新パケット(UPDATEメッセージ)
その他 BGP関連記事は >> ルーティングプロトコル(BGP)まとめ << より参照できます。
コメント