Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGPコミュニティ、拡張コミュニティ、大規模コミュニティをルーティングポリシー一致条件として理解する

BGPコミュニティは、共通のプロパティを共有する宛先のグループです。コミュニティ情報は、BGP アップデート メッセージのパス属性として含まれます。この情報により、コミュニティー メンバーが識別され、各メンバーについて詳しく説明しなくてもグループに対してアクションを実行できます。コミュニティーおよび拡張コミュニティー属性を使用して、受け入れ、拒否、プリファレンス、再配布などのルーティング決定をトリガーできます。

コミュニティタグは、設定(スタティックルート、集約ルート、生成ルートの場合)またはインポートルーティングポリシーを使用して、BGP以外のルートに割り当てることができます。BGPがルートをエクスポートするときに、これらのタグを照合できます。

コミュニティ値は、2つのメインセクションに分割された32ビットのフィールドです。値の最初の16ビットはコミュニティを発信したネットワークのAS番号を符号化し、最後の16ビットはASによって割り当てられた固有の番号を伝送します。このシステムは、インターネット上の各ASに対して、グローバルに一意なコミュニティ値のセットを保証しようとします。Junos OS では as-number:community-value 表記が使用されており、各値は 10 進数です。0と65,535のAS値は予約されており、これらのAS番号内のすべてのコミュニティ値も予約されています。各コミュニティ、またはコミュニティのセットには、 [edit policy-options] 設定階層内で名前が付けられます。コミュニティ名は、ルーティングデバイスに対してコミュニティを一意に識別し、ルートを分類する方法として機能します。たとえば、コミュニティ値 64510:1111 のルートは、 AS64510-routes という名前のコミュニティに属している可能性があります。コミュニティ名は、ルーティングポリシー内で一致条件またはアクションとしても使用されます。コミュニティを作成するためのコマンド構文は次のとおりです。ポリシーオプション community name members [community-ids]community-idsは、単一のコミュニティ値または複数のコミュニティ値のいずれかです。コミュニティ名に複数の値が割り当てられている場合、ルーティングデバイスはこれをコミュニティ値の論理 AND として解釈します。つまり、ルートには、コミュニティ名が割り当てられる前に、設定された値がすべて含まれている必要があります。

通常のコミュニティ属性は4オクテットです。VPNなどのネットワーク拡張機能には、コミュニティなどの属性によって満たせる機能要件があります。しかし、4オクテットのコミュニティ値では、VPNの要件に対応するのに十分な拡張性と柔軟性が得られません。これは、拡張されたコミュニティの作成につながります。拡張コミュニティーは 8 オクテット値で、これも 2 つの主要なセクションに分かれています。コミュニティの最初の 2 オクテットはタイプ フィールドをエンコードし、最後の 6 オクテットはタイプ フィールドで定義された形式で一意のデータ セットを伝送します。拡張コミュニティーは、コミュニティーをグループ化または分類するためのより広い範囲を提供します。

BGP拡張コミュニティ属性フォーマットには、3つのフィールドがあります。type:administrator:assigned-number. ルーティング デバイスは、type フィールドを表すのに target または origin という語を使用することを想定しています。管理者フィールドはASまたはIPv4アドレスに10進数を使用しますが、割り当てられた番号フィールドはフィールドのサイズ以下の10進数を想定しています(2オクテットの場合は65,535、4オクテットの場合は4,294,967,295)。

標準および拡張コミュニティ属性のコミュニティ ID を指定する場合は、UNIX スタイルの正規表現を使用できます。唯一の例外はVPNインポートポリシー(vrf-import)で、拡張コミュニティ属性の正規表現をサポートしていません。

標準BGPコミュニティ属性は、16ビット値に分割された1つ以上の4バイト値のセットで構成される可変長属性です。最上位ワードはAS番号として解釈され、最下位ワードはASのオペレータによって割り当てられたローカル定義値です。4バイトASNの導入以降、4バイトBGP標準コミュニティーと6バイトBGP拡張コミュニティーはBGPコミュニティ属性をサポートできなくなります。オペレーターはBGPコミュニティのローカル部分でAS番号をエンコードすることが多いため、コミュニティの形式がASN:ASNである場合があります。4 バイトの ASN では、エンコードに 8 バイトが必要です。BGP拡張コミュニティではグローバル管理者フィールドとしてエンコードされるように4バイトASを使用できますが、ローカル管理者フィールドには2バイトの空き領域しかありません。したがって、6バイトの拡張コミュニティ属性も不適切です。これを克服するために、Junos OSでは、オプションの推移パス属性を設定することができます。12バイトのBGP大規模コミュニティでは、グローバル管理者として自律システム番号をエンコードするための最も重要な4バイト値を提供し、残りの2つはRFC8092で定義されているように、ローカル値をエンコードするために割り当てられた4バイトの番号です。BGP大規模コミュニティは、 [edit policy-options community community-name members] および [edit routing-options static route ip-address community] 階層レベルで設定できます。BGP ラージ コミュニティ属性フォーマットには、4 つのフィールドがあります。large:global administrator:assigned number:assigned number

BGP IPv6 ユニキャスト アドレス固有の拡張コミュニティは、20 バイト値のセットとしてエンコードされます。20 バイトの値は、次の形式で解釈されます。

  • 最上位 2 バイトは、タイプとサブタイプの値 (高い値 (最上位バイト) と低い値 (2 番目に大きいバイト)) をエンコードします。

  • 次の 16 バイトは、IPv6 ユニキャスト アドレスをエンコードします。これは、IETF RFC のグローバル管理者です。

  • 最後の 2 バイトは、演算子定義のローカル値をエンコードします。IETF RFC のローカル管理者です。

IPv6ユニキャストアドレス固有のBGP拡張コミュニティ属性は、キーワード<c0/>、<c1/>、または<c2/>で表され、その後にIPv6とローカル管理者が<、>、:で区切られます。ipv6-targetipv6-originipv6-extended

注:

BGPラージコミュニティ属性値の長さは、ゼロ以外の12の倍数でなければなりません。