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 では、各値が 10 進数である as-number:community-value の表記を使用します。AS値の0および65,535は予約されており、それらのAS番号内のすべてのコミュニティ値も予約されています。各コミュニティ(またはコミュニティのセット)には、 [edit policy-options] 設定階層内で名前が付けられます。コミュニティの名前は、ルーティングデバイスに対してそれを一意に識別し、ルートを分類する方法として機能します。例えば、コミュニティ値が64510:1111のルートは、 AS64510-routesという名前のコミュニティに属している可能性があります。コミュニティ名は、ルーティングポリシー内で一致基準またはアクションとしても使用されます。コミュニティを作成するためのコマンド構文は、policy-options community name members [community-ids]です。 community-ids は、単一のコミュニティ値または複数のコミュニティ値のいずれかです。コミュニティ名に複数の値が割り当てられている場合、ルーティングデバイスはこれをコミュニティ値の論理的なANDとして解釈します。つまり、コミュニティ名が割り当てられる前に、ルートが設定された値すべてを持っている必要があります。

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

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

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

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

注:Junos OSでは、スタティックルートは設定で標準(ネイティブ)BGPコミュニティのみをサポートします。拡張コミュニティは、スタティックルートではサポートされていません。

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

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

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

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

IPv6 ユニキャスト アドレス固有のBGP拡張コミュニティ属性は、キーワード ipv6-target、 ipv6-origin、または ipv6-extended の後に IPv6 とローカル管理者が続き、<、>、で区切って表されます。

注:

BGPの大規模コミュニティ属性値の長さは、12のゼロ以外の倍数である必要があります。