8つの最も一般的なBGPコミュニティ
BGPコミュニティとは何ですか?BGPコミュニティは、任意の推移的なBGP属性であり、他のBGPピアに認識されて渡されます。 BGPコミュニティは、2つのBGPピア間で交換されるBGPルートに添付されたタグとして表示される場合があります。
開始するには、ルートに設定されたBGPコミュニティが更新メッセージでどのように見えるかを見てみましょう。 R111がAS11BGPピアに10.10.10.0/24ルートをアドバタイズするこの単純なネットワークを考えてみましょう。 R111は、R11にアドバタイズするルート上のコミュニティ1:110を設定します。
R111(1.1.3.2)からR11(1.1.3.1)へのBGP更新メッセージを見ると、複数のBGP属性とその値が表示されます。 これらのBGP属性の1つはコミュニティです。 この属性はオプションであり、アドバタイズされる前にルートに設定されていたために表示されていることに注意してくださ:
R11でルートをチェックすると(R11はルートを受け入れ、コミュニティでも操作を実行しないため)、1:110コミュ:
R11#show ip bg 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 2Paths: (1 available, best #1, table default) Advertised to update-groups: 1 Refresh Epoch 1 111 1.1.3.2 from 1.1.3.2 (10.10.10.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 1:110 rx pathid: 0, tx pathid: 0x0R11#
更新メッセージ内でBGPコミュニティがどのように見えるかを確認したので、この属性を取り巻くより高度な概念を検討し始めましょう。
高度なBGPコミュニティの概念
コミュニティは、32ビット値を2つの16ビットセクションに分割したものです。 最初の16ビットはコミュニティを発信したAS番号をエンコードし、最後の16ビットはASによって割り当てられた一意の番号を表します。 各AS番号は一意であるため、各コミュニティはインターネット上でも一意です。 これは、ASN9999(16進数では0x270F)のASは、0x270F0000-0x270FFFFFの範囲のコミュニティを持つことができることを意味します。
よく知られたBGPコミュニティ
以下は、すべてのコミュニティ対応のBGP実装によって認識されなければならないいくつかのよく知られたコミュ
No-Advertise Community
No-Advertise communityがルートに接続されている場合、BGPスピーカーは内部または外部のBGPピアにルートをアドバタイズしません。次の例は、R1によってピアR11、r12、r111にアドバタイズされていないNo-Advertiseルート(10.10.10.0/24)を示しています。
No-Export Community
No-Export communityがルートに接続されている場合、ルータは外部ピアにルートをアドバタイズしません。 次の例は、R1、R11、またはR12によって外部ピアR111にアドバタイズされていないエクスポートなしルート(10.10.10.0/24)を示しています。
この特定のケースでは、これら2つは内部BGPピアであるため、R1はR111へのルートをアドバタイズせず、R11とR12へのルートのみをアドバタイズします。 その後、R11とR12はR111が外部BGPピアであるため、どちらのルートもr111にアドバタイズしません。
Local AS Community
BGPルーティングループを回避するために、内部BGPネイバーに関する重要なルールがあります。IBGPネイバーは、別のIBGPネイバーからそのルートを受信した場合、IBGPネイバーにルートをアドバタイズできません。次の例は、ローカルAS内のIBGPネイバー R11とR111の間で、ローカルASルート10.10.10.0/24がアドバタイズされていないことを示しています。
より正確には、R11はR22へのルートをアドバタイズしますが、R22は上記のルールに基づいてR111へのルートをアドバタイズしません。 R111がルートを持つためには、AS11のルータ間でIBGPセッションの完全なメッシュを作成するか、as11をコンフェデレーション内のサブASに分割するなど、複数の解決策があります。
内のサブASにのみルートを交換するルータの描写AS11の外側の世界はAS1000とAS1001を認識しません。 これにより、R111はフルメッシュBGPピアリングなしで10.10.10.0/24ルートを受信することができます。 Local-ASコミュニティは、サブAS以外のルートをアドバタイズしません。
Graceful Shutdown Community
graceful_Shutdown(65535:0)communityは、ピアルータが意図的にシャットダウンしようとしているときにルータが使用する可能性のあるパスをスムーズにシャットダウンす 説明のために、R111がR11を使用して10.10.10.0/24サブネットに到達しているが、r11がダウンして再起動してアップグレードするとします:
R11がこのコミュニティをアドバタイズすると、R111はトラフィックをr12に切り替えて最小限の影響で応答します:
Extended Community
Extended communityは、8バイトの値で、2つの主要なセクションに分割されています:
- 最初の2バイト:コミュニティタイプ
- 最後の6バイトを指定します: コミュニティタイプ
に固有の一意の情報を提供します拡張コミュニティには、type、administrator、assigned number(type:administrator:assigned-number)の三つのフィールドがあります。 [Type]フィールドの上位バイトの値に基づいて、[administrator]フィールドはASまたはIPアドレスにすることができます。
拡張コミュニティのための最もよく知られているアプリケーションは、二つの拡張コミュニティを利用するMPLS-VPNにあります:
- Route Target community:特定のルートセットを受信できるルータを識別します。
- : 特定のルートセットをBGPに挿入するルータを識別します。
仮想ルーティングおよび転送(VRF)は、グローバルルーティングテーブルまたは他のVrfとは別の独自のルーティングポリシーを持つことができる仮想ルーティン 基本的には、顧客の複数のサイトを接続し、この顧客のためだけにネットワーク全体に個別のルーティングテーブル(VRF)を配置し、別の顧客のルーティングポリシーとは異なるルーティングポリシーを実装することができます。
この分離は、マルチプロトコルBGP拡張とMPLSが原因で可能です。
Route Target Community
次の図に示すように、ROUTE Target communityはMPLS VPN環境で2つの顧客ルーティングテーブルを分離するために使用されます。:
この特定のケースでは、VRFの顧客の赤はR1およびR12にだけあり、VRFの顧客の青はR11およびR22にだけありますが、それらは4つすべてのルータにルートがVRF RedからBGP経由でエクスポートされると、route-target100:100がエクスポート経由のルートに割り当てられます。 ルートがR12に到達すると、r1からルートをインポートして、R1とR12に接続されているサイトが通信できるようにします。
ルートオリジンコミュニティ
MPLS VPN環境では、ルートオリジンコミュニティを使用してルートの発信元を識別し、そのサイトへの再表示を回避します。
この場合、PE1がCE1からルートを受信すると、ルートにアタッチされているroute-targetのほかに(exportを使用して)、ルートオリジンコミュニティもアタッチされます。
ルートはPE2に到達しますが、PE2はサイトからのものであることを知っているため、CE2にはアドバタイズしません。
大規模なコミュニティ
大規模なコミュニティは、4バイトのASが割り当てられ始めたときに開発された12バイトのBGPコミュニティです。 標準または拡張コミュニティのそれぞれはASに2バイトの値を使用するため、4バイトのASは標準の2バイトの値には収まりません。
The Large community is displayed as follows:
32-bit-ASN:32-bit-value:32-bit-value.
BGPベストパス選択アルゴリズム
これまで見てきたように、BGPコミュニティには複数のアプリケーションがあります。 これらは、ルートのタグ付け、トラフィックの操作、および特定のコミュニティに一致するルートのBGP属性に対するさまざまなアクショ
ルータは、特定の宛先に到達する多数のパスを決定する必要がある場合は常に、BGP属性を評価するBGPベストパス選択アルゴリズムに従う必要があります。 BGPの最適パス選択アルゴリズムの詳細については、前回の記事「BGP属性」を参照してください。
BGPコミュニティの例
このセクションでは、ルートに接続されたBGPコミュニティが、そのプレフィックスからのホストとの間のアップロードおよびダウンロー
Upload
アップロードトラフィックパスに影響を与える方法は複数ありますが、最も一般的な方法はローカル設定を使用することです。
BGP属性の記事で見たように、ルートのローカル設定の値が高いほど、BGPベストパス選択アルゴリズムによってパスが選択される可能性が高くなります。
次の図では、R11とR12は次のように構成されています:
- コミュニティ1:205のルートを受信した場合は、ローカル設定を205に設定します。
- コミュニティ1:210のルートを受信した場合は、ローカル設定を210に設定します。
これらのルータの両方が、使用するパスを決定する必要があるR1へのルートをアドバタイズします。 この場合、r1はr11からのパスを使用し、トラフィックは次のように流れることを意味します:
アップロードルーター出力
R1#sh ip bgp 10.10.10.0BGP routing table entry for 10.10.10.0/24, version 2Paths: (2 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 111 1.1.3.2 (metric 20) from 1.1.1.2 (1.1.100.11) Origin IGP, metric 0, localpref 210, valid, internal, best Community: 1:210 rx pathid: 0, tx pathid: 0x0 Refresh Epoch 1 111 1.1.4.2 (metric 20) from 1.1.2.2 (1.1.100.12) Origin IGP, metric 0, localpref 205, valid, internal Community: 1:205 rx pathid: 0, tx pathid: 0R1#
Download
ダウンロードトラフィックパス(または他のユーザーがASにトラフィックを送信する方法)に影響を与える一般的な方法は、AS_PATH prependを実行することです。 AS_PATHが長いほど、最良のパス選択アルゴリズムによってパスが選択される可能性は低くなります。次の図では、AS1は、AS111から転送されたトラフィックがR12から送信されることを優先します。
AS111(R111のため)は、AS1がコミュニティ1の接頭辞をアナウンスする場合、次のようなポリシーを持っています:1、1つのAS_PATHの先頭に追加を実行します。 したがって、R111は、ルートasのAS_PATHを設定します。 ルートが1:3のコミュニティで行われている場合は、3つのAS_PATH prepends()を実行します。
R111は2つのパスを受け取り、それらのパスに接続されているコミュニティに基づいて動作する必要があります。 R12からのルートを好むので、交通はこのように流れます:
ルーター出力のダウンロード
R111#sh ip bgp 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 4Paths: (2 available, best #2, table default) Advertised to update-groups: 6 Refresh Epoch 2 1 1 1 1 1.1.3.1 from 1.1.3.1 (1.1.100.11) Origin IGP, metric 100, localpref 100, valid, external Community: 1:3 rx pathid: 0, tx pathid: 0 Refresh Epoch 2 1 1 1.1.4.1 from 1.1.4.1 (1.1.100.12) Origin IGP, localpref 100, valid, external, best Community: 1:1 rx pathid: 0, tx pathid: 0x0R111#
概要
この記事では、BGP Community属性で使用できる最も一般的なBGPコミュニティと、それらを使用してトラフィックを誘導する方法について説明しました。 BGPコミュニティはオプションの属性ですが、内部と外部の両方のトラフィックルーティングに強力です。 これらを使用して、計画された再起動とシャットダウンのトラフィックリダイレクトを準備することもできます。
BGPの概念の詳細については、Network Administrator’s guideを参照してください。
Leave a Reply