目次
COMMUNITYアトリビュートの概要
COMMUNITYアトリビュートを利用すると、「特定の条件に基づいてBGPルート情報をグループ化する」ことができます。
WEIGHT、LOCAL_PREFERENCE、MED、AS_PATHアトリビュートはベストパス決定で利用します。ですが、COMMUNITYアトリビュートはベストパスの決定とは直接関係しません。
グループ化したルート情報の識別情報(タグ)がCOMMUNITYアトリビュートです。COMMUNITYアトリビュートは32ビットの数値です。しかし、32ビットの数値をそのまま使うと分かりにくいため、COMMUNITYアトリビュートは次のように16ビットのAS番号と16ビットの識別子を組み合わせて表記されます。
COMMUNITYアトリビュートによってグループ化したルート情報をどのように扱うかは自由です。フィルタしたりLOCAL_PREFERENCEやMEDなどのアトリビュートを再設定したりします。
COMMUNITYアトリビュートの特徴として、アトリビュートが伝達されていく範囲も注目すべき点です。LOCAL_PREFERENCEは自AS内、MEDはネイバーAS内というようにアトリビュートが伝達される範囲が限られています。しかし、COMMUNITYアトリビュートは、ASを越えてルート情報に付加されて伝達されていきます。そのため、離れたAS間でのルート情報の制御にCOMMUNITYアトリビュートを利用することが可能です。
このようなCOMMUNITYアトリビュートの特徴をまとめると、次のようになります。
- 特定の条件に基づいてルート情報をグループ化するためにCOMMUNITYアトリビュートを利用する
- COMMUNITYアトリビュートはグループ化したルート情報の識別情報である
- COMMUNITYアトリビュートはASを越えて伝達されるので、離れたAS間でのルート情報の制御が可能になる
Well-known COMMUNITY
COMMUNITYの値には、予約されているWell-known COMMUNITYがあります。Well-known COMMUNITYをルートに付加すると、その種類に応じて自動的にルートのフィルタが可能です。Well-known COMMUNITYで、どこまでBGPルートが伝わるようにするかを簡単に制御することができます。
Well-known COMMUNITYの種類とその動作は次の通りです。
Well-known COMMUNITY | 動作 | 値(16進数) |
no_export | EBGPネイバーにルートを送信しない | 0xFFFFFF01 |
no_advertise | いかなるBGPネイバーにもルートを送信しない | 0xFFFFFF02 |
local_as | EBGP/IEBGPネイバーにルートを送信しない | 0xFFFFFF03 |
Well-known COMMUNITYとその動作を図で表すと次のようになります。
COMMUNITYを付加するルータと実際にルートをフィルタするルータが違うルータであるに注意してください。ここが通常のルートフィルタが異なる点です。Well-known COMMUNITYを付加することで、他のルータにおけるルートの送信に影響を及ぼすことができます。
Well-known COMMUNITYによるルートフィルタの設定例は、以下の記事で解説しています。
COMMUNITYアトリビュートを利用するための手順
Well-known COMMUNITY以外にも任意のプライベートCOMMUNITYでルート制御を行うことができます。プライベートCOMMUNITYでは、離れたAS間でフィルタだけでなくアトリビュートの再設定などのさまざまな制御を行うことができます。そのためには、次のような手順で行います。
制御を行いたいAS間で協議
- ASが異なるということは管理している組織も異なります。単体のASだけですべて完結するというわけにはいきせん。まず、AS間でどのようなルート情報に対してどのような制御を行うかを協議します。
- 制御したいルート情報に対してどのような値のCOMMUNITYアトリビュートを設定するかを決定します。
ルートの送信元ASでCOMMUNITYアトリビュートを付加
- COMMUNITYアトリビュートの付加はルートマップで行います。ルートマップのmatchの条件に一致したルート情報に対して、set communityコマンドで任意のCOMMUNITY値を付加することができます。あらかじめ協議した条件に基づいて、ルート情報にCOMMUNITYを付加します。
- Ciscoルータでは、デフォルトでネイバーに対してCOMMUNITYアトリビュートをアドバタイズしません。ネイバーに対してCOMMUNITYアトリビュートをアドバタイズするためには、neighbor send-communityコマンドが必要です。
ルートの宛先ASでCOMMUNITYアトリビュートを参照してルート情報を制御
- COMMUNITYアトリビュートの参照もルートマップで行います。ルートマップのmatch条件でmatch communityコマンドにより、ルート情報に付加されているCOMMUNITYアトリビュートを参照できます。
- ルートマップでCOMMUNITYアトリビュートを参照して、あらかじめ協議していたルート情報の制御を行います。ルート情報の制御として、フィルタを行うことが多いでしょう。
- Well-known COMMUNITYでは明示的な設定は不要です。前述のようにWell-known COMMUNITYの種類に応じて自動的にルートフィルタが行われます。
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPピアグループ(Peer Group) ~ネイバーの設定をまとめよう~
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート -ORIGIN/AS_PATH/NEXT_HOP-
- 図解!BGPベストパス選択アルゴリズム
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP KEEPALIVEタイマ/ホールドタイムの設定
- BGPルート 最小送信間隔の設定
- BGPルートダンプニング
- マルチホーム – インターネット接続の冗長化 –
- マルチホームAS BGPルートフィルタのポイント
- マルチホームAS ベストパス選択のポイント
- マルチホームAS IGPとBGPの連携のポイント
- マルチホームAS BGPの設定例
- IP-VPNでのBGPの利用 設定例
- BGPルートフィルタの種類
- BGPルートフィルタ -ディストリビュートリスト-
- BGPルートフィルタ -ディストリビュートリスト設定例-
- BGPルートフィルタ -プレフィクスリスト-
- BGPルートフィルタ -プレフィクスリスト設定例-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)設定例-
- BGPルートフィルタ -ルートマップ(route-map)-
- BGPルートフィルタ -ルートマップ(route-map)設定例-
- BGP neighbor allowas-inコマンド
- BGP neighbor as-overrideコマンド
- BGPルート RIB Failure
- BGPルート アドミニストレイティブディスタンスの制御
- BGPルートの負荷分散
- BGPルート 条件付き生成
- BGPルート 条件付きアドバタイズ
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGPルート集約 networkコマンドによる集約 設定例
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- aggregate-addressコマンド as-set/attribute-map/advertise-map 設定例
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP 選択型集約 suppress-map/unsuppress-map 設定例
- BGP local-as ~ネイバーに他のASのように見せる~
- BGP neighbor remove-private-ASコマンド
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- [演習]BGP応用 Part1:BGP基本設定
- [演習]BGP応用 Part2:ルート集約
- [演習]BGP応用 Part3:ポリシーベースルーティング
- [演習]BGP応用 Part4:トラブルシューティング
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- BGP 設定ミスの切り分けと修正 Part7
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- 2021年10月4日 Facebookに何が起こったか?
- IPv4 BGPネイバーでのIPv6プレフィックスの交換