BGPの属性と最適パス選択のアルゴリズム

属性とは

BGP (Border Gateway Protocol) には、ルートの選択やルートアドバタイズを制御するためにいくつかの属性があります。これらの属性は、BGPルートの特性を示し、BGPピア間でどのルートが優先されるかを決定するために重要です。BGP属性には以下の4種類があります。

カテゴリ内容
Well-known mandatory必須で送信される属性です。すべてのBGPルーターがこの属性を認識し、必ずBGPピア間で送信されなければなりません。これが含まれていないBGPメッセージは無効と見なされます。
Well-known discretionaryよく知られているが、送信が必須ではない属性です。この属性はBGPピア間で交換されますが、BGPメッセージに必ず含まれるわけではなく、送信するかどうかは任意です。
Optional transitive任意の属性で、他のBGPピアを通過しても引き継がれる(転送される)属性です。この属性は、BGPピアが認識できなくても、そのまま他のピアに転送する必要があります。
Optional non-transitive任意の属性で、他のBGPピアには引き継がれない属性です。この属性は、BGPピアが認識できない場合、他のピアには転送されません。

BGPの属性一覧

属性カテゴリ内容
OriginWell-known mandatoryルートがどのプロトコルから学習されたかを示す属性です。
AS-PathWell-known mandatory通過してきた自律システム(AS)のリスト。ルート選択やループ防止に使用されます。
Next-HopWell-known mandatory目的地へのネクストホップIPアドレスを示します。
MEDOptional non-transitive他のASに対してどの経路を優先すべきかを示す属性です。
Local PreferenceWell-known discretionaryBGPルートの優先度を決定するための属性。数値が高いルートが優先されます。
Atomic AggregateWell-known discretionaryBGPルートが集約された場合に、その情報を示す
AggregatorOptional transitiveルートが集約された際に、集約を行ったASとルーターの情報を保持するための属性。
CommunityOptional transitiveルートに付与されるタグ
Originator IDOptional non-transitiveルートリフレクタが使用する属性で、ルートの発信元のルーターIDを示します。
Cluster ListOptional non-transitiveルートリフレクタ環境で、ルートがどのルートリフレクタを通過してきたかを示すリストです。
Extended CommunityOptional transitiveCommunity属性の拡張版で、64ビットの長さを持つ
WeightCisco 独自Ciscoルーターの独自属性で、ルートの優先度を決定します。数値が高いほど優先されます。

BGP最適パス選択アルゴリズムのステップ

優先度内容詳細
1優先度の高いウェイト(Weight)を持つパスを選択説明: Cisco独自の属性で、ルーター上でのルート選択に使用されます。Weightはローカルにのみ適用され、ルーター外に送信されません。数値が大きいパスが優先されます。
ルール: Weightが大きいルートが優先される。
2Local Preferenceが高いパスを選択説明: AS内で複数の経路がある場合、どの経路が好ましいかを示す属性です。数値が高い方が優先されます。
ルール: Local Preferenceの値が高いパスが優先される。
3自身が生成したルートを選択説明: ルーターが自身で生成したルート(networkコマンドや再配布により学習したルート)は、他のルートより優先されます。
ルール: 自身で生成したルートがある場合、それが優先される。
4AS Pathが短いパスを選択説明: ルートが通過してきたASのリストであるAS Pathが短いルートが優先されます。AS Pathが短いルートは、より直接的な経路を示しています。
ルール: AS Pathが短いパスが優先される。
5オリジンコード(Origin)が最も優先されるパスを選択説明: Origin属性はルートの出所を示します。優先順位は以下の通りです:
IGP (i)
EGP (e)
Incomplete (?)
ルール: OriginがIGPのパスが最も優先され、それ以外は順に優先度が低くなります
6最も低いMEDのパスを選択説明: MEDは他のASに対して、どのパスが優先されるべきかを示す属性です。数値が低い方が優先されます。
ルール: MEDが最も低いパスが優先される(同一ASからの経路間でのみ比較されます)。
7外部BGP(eBGP)ルートが優先される説明: 外部BGPピア(eBGP)から受信したルートは、内部BGPピア(iBGP)から受信したルートよりも優先されます。
ルール: eBGPで学習したルートが優先される。
8最も近いIGPネクストホップを持つパスを選択説明: IGP(内部ゲートウェイプロトコル)で計算されたネクストホップまでのコスト(ホップ数、メトリック値)が最も低いパスが優先されます。
ルール: IGPメトリックが低いパスが優先される。
9BGPピアの最も若い(最近確立された)セッションを優先説明: 同じ条件の場合、最も最近確立されたBGPピアのセッションから受信したルートが優先されます。
ルール: 最も若いBGPピアのセッションが優先される。
10BGPルーターIDが最も小さいパスを選択説明: 全ての条件が同じ場合、BGPルーターIDが最も小さいパスが優先されます。
ルール: ルーターIDが最も小さいルートが優先される。
11ネクストホップIPアドレスが最も小さいパスを選択説明: 最後の手段として、ネクストホップのIPアドレスが最も小さいパスが選択されます。
ルール: ネクストホップIPアドレスが最も小さいパスが優先される。