属性とは
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の属性一覧
| 属性 | カテゴリ | 内容 |
|---|---|---|
| Origin | Well-known mandatory | ルートがどのプロトコルから学習されたかを示す属性です。 |
| AS-Path | Well-known mandatory | 通過してきた自律システム(AS)のリスト。ルート選択やループ防止に使用されます。 |
| Next-Hop | Well-known mandatory | 目的地へのネクストホップIPアドレスを示します。 |
| MED | Optional non-transitive | 他のASに対してどの経路を優先すべきかを示す属性です。 |
| Local Preference | Well-known discretionary | BGPルートの優先度を決定するための属性。数値が高いルートが優先されます。 |
| Atomic Aggregate | Well-known discretionary | BGPルートが集約された場合に、その情報を示す |
| Aggregator | Optional transitive | ルートが集約された際に、集約を行ったASとルーターの情報を保持するための属性。 |
| Community | Optional transitive | ルートに付与されるタグ |
| Originator ID | Optional non-transitive | ルートリフレクタが使用する属性で、ルートの発信元のルーターIDを示します。 |
| Cluster List | Optional non-transitive | ルートリフレクタ環境で、ルートがどのルートリフレクタを通過してきたかを示すリストです。 |
| Extended Community | Optional transitive | Community属性の拡張版で、64ビットの長さを持つ |
| Weight | Cisco 独自 | Ciscoルーターの独自属性で、ルートの優先度を決定します。数値が高いほど優先されます。 |
BGP最適パス選択アルゴリズムのステップ
| 優先度 | 内容 | 詳細 |
|---|---|---|
| 1 | 優先度の高いウェイト(Weight)を持つパスを選択 | 説明: Cisco独自の属性で、ルーター上でのルート選択に使用されます。Weightはローカルにのみ適用され、ルーター外に送信されません。数値が大きいパスが優先されます。 ルール: Weightが大きいルートが優先される。 |
| 2 | Local Preferenceが高いパスを選択 | 説明: AS内で複数の経路がある場合、どの経路が好ましいかを示す属性です。数値が高い方が優先されます。 ルール: Local Preferenceの値が高いパスが優先される。 |
| 3 | 自身が生成したルートを選択 | 説明: ルーターが自身で生成したルート(networkコマンドや再配布により学習したルート)は、他のルートより優先されます。 ルール: 自身で生成したルートがある場合、それが優先される。 |
| 4 | AS 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メトリックが低いパスが優先される。 |
| 9 | BGPピアの最も若い(最近確立された)セッションを優先 | 説明: 同じ条件の場合、最も最近確立されたBGPピアのセッションから受信したルートが優先されます。 ルール: 最も若いBGPピアのセッションが優先される。 |
| 10 | BGPルーターIDが最も小さいパスを選択 | 説明: 全ての条件が同じ場合、BGPルーターIDが最も小さいパスが優先されます。 ルール: ルーターIDが最も小さいルートが優先される。 |
| 11 | ネクストホップIPアドレスが最も小さいパスを選択 | 説明: 最後の手段として、ネクストホップのIPアドレスが最も小さいパスが選択されます。 ルール: ネクストホップIPアドレスが最も小さいパスが優先される。 |