BGP コミュニティはアドバタイズされたルートにタグ付けできる追加情報であり、これによってもう一方の側のルーターまたは BGP ピアは、共通プロパティを共有するルートをより適切に分類/処理できます。

コミュニティ値は 32 ビットのフィールドで、2 つのサブフィールドに分割されます。最初の 2 バイトはコミュニティを発信したネットワークの AS 番号をエンコードし、最後の 2 バイトは AS によって割り当てられた一意の番号を送信します。コミュニティは BGP を強化し、ルーティング プロトコルからシグナリングとポリシー適用のためのツールに変更します。

注:

この機能は IPv6 ではサポートされていません。

使用事例

  • BGP コミュニティは、IP アドレスの範囲またはネットワークに共通の要件がある場合に便利です。

  • ネットワーク トポロジとルーティング ポリシーの要件の理解を深めることができます。

  • これにより、ネットワークのスケーラビリティ、運用、トラブルシューティングが容易になります。BGP コミュニティの詳細については、「BGP コミュニティ属性の適用」を参照してください。

動作原理

NSX Advanced Load Balancer では、BGP 構成で新しいオプション ip_community をサポートします。NSX Advanced Load Balancer サービス エンジンからアドバタイズされた仮想 IP アドレス (VIP) またはバックエンド サーバの IP アドレスを適切なコミュニティで簡単にタグ付けできます。タグ付けにより、BGP ピアは BGP ルートを慎重に処理できます。

構成

NSX Advanced Load Balancer Controller コマンド ライン インターフェイス (CLI) にログインし、次の手順に従って、BGP ピアにアドバタイズされるすべてのルートに BGP コミュニティを構成します。

[admin:controller]: > configure vrfcontext global
Updating an existing object. Currently, the object is:
+----------------+-------------------------------------------------+
| Field          | Value                                           |
+----------------+-------------------------------------------------+
| uuid           | vrfcontext-ded10944-53da-4542-bbf1-1cd4f300fb29 |
| name           | global                                          |
| system_default | True                                            |
| tenant_ref     | admin                                           |
| cloud_ref      | Default-Cloud                                   |
+----------------+-------------------------------------------------+
[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile>
cancel               Exit the current submode without saving
community            Community string either in aa:nn format where aa, nn is within [1,65535] or local-AS|no-advertise|no-export|internet.
do                   Execute a show command
hold_time            Hold time for Peers
ibgp                 BGP peer type
ip_communities         (submode)
keepalive_interval   Keepalive interval for Peers
local_as             Local Autonomous System ID
new                  (Editor Mode) Create new object in editor mode
no                   Remove field
peers                (submode)
save                 Save and exit the current submode
send_community       Send community attribute to all peers.
show_schema          show object schema
watch                Watch a given show command
where                Display the in-progress object
[admin:controller]: vrfcontext:bgp_profile>
 
[admin:controller]: vrfcontext:bgp_profile> community internet
[admin:controller]: vrfcontext:bgp_profile> community 10:10
[admin:controller]: vrfcontext:bgp_profile> community 65000:20
[admin:controller]: vrfcontext:bgp_profile> save
[admin:controller]: vrfcontext> save
 
+---------------------------+-----------------------------------------------------------------------+
| Field                     | Value                                                                 |
+---------------------------+-----------------------------------------------------------------------+
| uuid                      | vrfcontext-ded10944-53da-4542-bbf1-1cd4f300fb29                       |
| name                      | global                                                                |
| bgp_profile               |                                                                       |
|   local_as                | 65000                                                                 |
|   ibgp                    | True                                                                  |
|   keepalive_interval.     | 60                                                                    |
|   hold_time               | 180                                                                   |
|   send_community          | True                                                                  |
|   community[1]            | internet                                                              |
|   community[2]            | 10:10                                                                 |
|   community[3]            | 65000:20                                                              |
| system_default            | True                                                                  |
| tenant_ref                | admin                                                                 | 
| cloud_ref                 | Default-Cloud                                                         |
+---------------------------+-----------------------------------------------------------------------+

次の手順に従って、構成済みのコミュニティのいずれかを削除します。

[admin:controller]: > configure vrfcontext global
[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile> no community 10:10
Removed community 10:10
[admin:controller]: vrfcontext:bgp_profile> save
[admin:controller]: vrfcontext> save

+----------------------------+-------------------------------------------------+
| Field                      | Value                                           |
+----------------------------+-------------------------------------------------+
| uuid                       | vrfcontext-ded10944-53da-4542-bbf1-1cd4f300fb29 |
| name                       | global                                          |
| bgp_profile                |                                                 |
|   local_as                 | 65000                                           |
|   ibgp                     | True                                            |
|   peers[1]                 |                                                 |
|     remote_as              | 1                                               |
|                            |                                                 |
|   send_community           | True                                            |
|   community[1]             | internet                                        |
|   community[2]             | 65000:20                                        |
| system_default             | True                                            |
| tenant_ref                 | admin                                           |
| cloud_ref                  | Default-Cloud                                   |
+----------------------------+-------------------------------------------------+

IP アドレス範囲に属するルーターに固有の BGP コミュニティを構成する手順

次の例は、特定の IP アドレス範囲にのみ適用される特定のコミュニティでルートをタグ付けする方法を示しています。この IP 固有のコミュニティは、すべてのルートに適用される bgp_profile のデフォルト コミュニティを上書きします。

[admin:controller]: > configure vrfcontext global
[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile> ip_communities
New object being created
[admin:controller]: vrfcontext:bgp_profile:ip_communities>
cancel        Exit the current submode without saving
community     Community string either in aa:nn format where aa, nn is within [1,65535] or local-AS|no-advertise|no-export|internet.
do            Execute a show command
ip_begin      Beginning of IP address range.
ip_end        End of IP address range. Optional if ip_begin is the only ip address in specified ip range.
no            Remove field
save          Save and exit the current submode
show_schema   show object schema
watch         Watch a given show command
where         Display the in-progress object
[admin:controller]: vrfcontext:bgp_profile:ip_communities> ip_begin 10.70.163.100
[admin:controller]: vrfcontext:bgp_profile:ip_communities> ip_end 10.70.163.200
[admin:controller]: vrfcontext:bgp_profile:ip_communities> community 200:200
[admin:controller]: vrfcontext:bgp_profile:ip_communities> community 100:100
[admin:controller]: vrfcontext:bgp_profile:ip_communities> save
[admin:controller]: vrfcontext:bgp_profile> save
[admin:controller]: vrfcontext> save
+----------------------------+-------------------------------------------------+
| Field                      | Value                                           |
+----------------------------+-------------------------------------------------+
| uuid                       | vrfcontext-ded10944-53da-4542-bbf1-1cd4f300fb29 |
| name                       | global                                          |
| bgp_profile                |                                                 |
|   local_as                 | 65000                                           |
|   ibgp                     | True                                            |
|   peers[1]                 |                                                 |
|     remote_as              | 1                                               |
|                            |                                                 |
|   hold_time                | 180                                             |
|   send_community           | False                                           |
|   community[1]             | internet                                        |
|   community[2]             | 65000:20                                        |
|   ip_communities[1]        |                                                 |
|     ip_begin               | 10.70.163.100                                   |
|     ip_end                 | 10.70.163.200                                   |
|     community[1]           | 200:200                                         |
|     community[2]           | 100:100                                         |
| system_default             | True                                            |
| tenant_ref                 | admin                                           |
| cloud_ref                  | Default-Cloud                                   |
+----------------------------+-------------------------------------------------+

記載されている手順に従い、BGP ピアにアドバタイズされる単一の IP アドレス(VIP アドレスなど)の BGP コミュニティを構成します。IP アドレスのコミュニティを 1 つだけ構成する場合、ip_end はオプションです。ただし、ユーザーは ip_beginip_end の両方を同じ IP アドレスに問題なく構成できます。

[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile> ip_communities
New object being created
[admin:controller]: vrfcontext:bgp_profile:ip_communities> ip_begin 10.70.164.150
[admin:controller]: vrfcontext:bgp_profile:ip_communities> community 150:150
[admin:controller]: vrfcontext:bgp_profile:ip_communities> save
[admin:controller]: vrfcontext:bgp_profile> save
[admin:controller]: vrfcontext> save
+----------------------------+-------------------------------------------------+
| Field                      | Value                                           |
+----------------------------+-------------------------------------------------+
| uuid                       | vrfcontext-ded10944-53da-4542-bbf1-1cd4f300fb29 |
| name                       | global                                          |
| bgp_profile                |                                                 |
|   local_as                 | 65000                                           |
|   ibgp                     | True                                            |
|   peers[1]                 |                                                 |
|                            |                                                 |
|   hold_time                | 180                                             |
|   send_community           | True                                            |
|   community[1]             | internet                                        |
|   community[2]             | 65000:20                                        |
|   ip_communities[1]        |                                                 |
|     ip_begin               | 10.70.163.100                                   |
|     ip_end                 | 10.70.163.200                                   |
|     community[1]           | 200:200                                         |
|     community[2]           | 100:100                                         |
|   ip_communities[2]        |                                                 |
|     ip_begin               | 10.70.164.150                                   |
|     community[1]           | 150:150                                         |
| system_default             | True                                            |
| tenant_ref                 | admin                                           |
| cloud_ref                  | Default-Cloud                                   |
+----------------------------+-------------------------------------------------+

CLI コマンドに従って、コミュニティを使用した BGP アドバタイズ ルートのタグ付けを停止します。このコマンドは、構成を保持したまま、コミュニティを使用したルートのタグ付けを停止します。

ユーザーは、必要に応じて後でタグ付けを有効にできます。

[admin:controller]: > configure vrfcontext global
[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile> no send_community
+--------------------------+----------------+
| Field                    | Value          |
+--------------------------+----------------+
| local_as                 | 65000          |
| ibgp                     | True           |
| peers[1]                 |                |
|   remote_as              | 1              |
|                          |                |
| hold_time                | 180            |
| send_community           | False          |
| community[1]             | internet       |
| community[2]             | 65000:20       |
| ip_communities[1]        |                |
|   ip_begin               | 10.70.163.100  |
|   ip_end                 | 10.70.163.200  |
|   community[1]           | 200:200        |
|   community[2]           | 100:100        |
| ip_communities[2]        |                |
|   ip_begin               | 10.70.164.150  |
|   community[1]           | 150:150        |
+--------------------------+----------------+
[admin:controller]: vrfcontext:bgp_profile> save

NSX Advanced Load Balancer CLI コマンドに従って、構成済みの ip_communities を削除します。

|   send_community           | False                                           |
|   community[1]             | local-AS                                        |
|   community[2]             | no-export                                       |
|   ip_communities[1]        |                                                 |
|     ip_begin               | 10.70.163.100                                   |
|     ip_end                 | 10.70.163.200                                   |
|     community[1]           | 200:200                                         |
|     community[2]           | 100:100                                         |
|   ip_communities[2]        |                                                 |
|     ip_begin               | 10.70.164.150                                   |
|     community[1]           | 150:150                                         |
| system_default             | True                                            |
| tenant_ref                 | admin                                           |
| cloud_ref                  | Default-Cloud                                   |
+----------------------------+-------------------------------------------------+
[admin:controller]: > configure vrfcontext global
[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile> no ip_communities index 1
Removed ip_communities with index 1
+--------------------------+----------------+
| Field                    | Value          |
+--------------------------+----------------+
| local_as                 | 65000          |
| ibgp                     | True           |
| peers[1]                 |                |
|   remote_as              | 1              |
|                          |                |
| hold_time                | 180            |
| send_community           | False          |
| community[1]             | internet       |
| community[2]             | 65000:20       |
| ip_communities[1]        |                |
|   ip_begin               | 10.70.164.150  |
|   community[1]           | 150:150        |
+--------------------------+----------------+

次の手順に従って、BGP アドバタイズ ルートのコミュニティ タグを有効にします。

[admin:controller]: > configure vrfcontext global
[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile> send_community
Overwriting the previously entered value for send_community
[admin:controller]: vrfcontext:bgp_profile> save
[admin:controller]: vrfcontext> save
s+----------------------------+------------------------------------------------+
| Field                      | Value                                           |
+----------------------------+-------------------------------------------------+
| uuid                       | vrfcontext-ded10944-53da-4542-bbf1-1cd4f300fb29 |
| name                       | global                                          |
| bgp_profile                |                                                 |
|   local_as                 | 65000                                           |
|   ibgp                     | True                                            |
|   peers[1]                 |                                                 |
|     remote_as              | 1                                               |
|     peer_ip                | 10.70.163.23                                    |
|     subnet                 | 10.70.163.0/24                                  |
|     md5_secret             | sensitive                                       |
|     bfd                    | True                                            |
|     advertise_vip          | True                                            |
|     advertise_snat_ip      | True                                            |
|     advertisement_interval | 5                                               |
|     connect_timer          | 10                                              |
|     keepalive_interval     | 60                                              |
|     hold_time              | 180                                             |
|     ebgp_multihop          | 0                                               |
|     peers[2]               |                                                 |
|     remote_as              | 1                                               |
|     peer_ip                | 10.70.164.21                                    |
|     subnet                 | 10.70.164.0/24                                  |
|     md5_secret             | sensitive                                       |
|     bfd                    | True                                            |
|     advertise_vip          | True                                            |
|     advertise_snat_ip      | True                                            |
|     advertisement_interval | 5                                               |
|     connect_timer          | 10                                              |
|     keepalive_interval     | 60                                              |
|     hold_time              | 180                                             |
|     ebgp_multihop          | 0                                               |
|   keepalive_interval       | 60                                              |
|   hold_time                | 180                                             |
|   send_community           | True                                            |
|   community[1]             | internet                                        |
|   community[2]             | 65000:20                                        |
|   ip_communities[1]        |                                                 |
|     ip_begin               | 10.70.164.150                                   |
|     community[1]           | 150:150                                         |
| system_default             | True                                            |
| tenant_ref                 | admin                                           |
| cloud_ref                  | Default-Cloud                                   |
+----------------------------+-------------------------------------------------+

標準コミュニティを使用して BGP ピアにアドバタイズされたルートをタグ付けすることができます。NSX Advanced Load Balancer は、BGP サブ モードでのみルートのタグ付けをサポートします。NSX Advanced Load Balancer では、ルート単位のコミュニティのタグ付けをサポートしていません。

[admin:controller]: > configure vrfcontext global
Updating an existing object. Currently, the object is:
+----------------+-------------------------------------------------+
| Field          | Value                                           |
+----------------+-------------------------------------------------+
| uuid           | vrfcontext-3cc726d3-d94a-4eb0-9c70-f70d7e1b185e |
| name           | global                                          |
| system_default | True                                            |
| tenant_ref     | admin                                           |
| cloud_ref      | Default-Cloud                                   |
+----------------+-------------------------------------------------+
[admin:controller]: vrfcontext> bgp_profile
[admin:controller]: vrfcontext:bgp_profile> 
cancel               Exit the current submode without saving
community            List of community attributes. Valid values are "internet", "local-AS", "no-advertise", "no-export". Community can also be specified in : format where AS,Val are in the range [1,65535].
do                   Execute a show command
hold_time            Hold time for Peers
ibgp                 BGP peer type
keepalive_interval   Keepalive interval for Peers
local_as             Local Autonomous System ID
new                  (Editor Mode) Create new object in editor mode
no                   Remove field
peers                (submode)
save                 Save and exit the current submode
send_community       Send community attribute to all peers(True by default)
show_schema          show object schema
watch                Watch a given show command
where                Display the in-progress object
 
 
[admin:controller]: vrfcontext:bgp_profile> community internet
[admin:controller]: vrfcontext:bgp_profile> community 10:10
[admin:controller]: vrfcontext:bgp_profile> community 65000:20
[admin:controller]: vrfcontext:bgp_profile> save
[admin:controller]: vrfcontext> save
 
+---------------------------+-----------------------------------------------------------------------+
| Field                     | Value                                                                 |
+---------------------------+-----------------------------------------------------------------------+
| uuid                      | vrfcontext-3cc726d3-d94a-4eb0-9c70-f70d7e1b185e                       |
| name                      | global                                                                |
| bgp_profile               |                                                                       |
|   local_as                | 65000                                                                 |
|   ibgp                    | True                                                                  |
|   keepalive_interval.     | 60                                                                    |
|   hold_time               | 180                                                                   |
|   send_community          | True                                                                  |
|   community[1]            | internet                                                              |
|   community[2]            | 10:10                                                                 |
|   community[3]            | 65000:20                                                              |
| system_default            | True                                                                  |
| tenant_ref                | admin                                                                 | 
| cloud_ref                 | Default-Cloud                                                         |
+---------------------------+-----------------------------------------------------------------------+
</code></pre>