このドキュメントでは、aggregate-address コマンドを使用する際にさまざまなアトリビュートを操作する方法と、その伝搬を促す方法を説明しています。
次の項目に関する知識があることが推奨されます。
基本的なBGP動作。詳細については、「BGPケーススタディ」を参照してください。
本書の内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。ただし、このドキュメントの設定は、Cisco IOS®ソフトウェアリリース12.2(28)でテスト済みです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
Border Gateway Protocol(BGP;ボーダーゲートウェイプロトコル)では、aggregate-address address mask [as-set] [summary-only] [suppress-map map-name ] [advertise-map map-name ] [attribute-map map-name ]コマンドにより、特定の経路を1つの経路に集約できます。引数なしで aggregate-address コマンドを発行すると、個別のルートの属性(AS_PATH やコミュニティなど)が継承されなくなり、粒度の損失を招きます。このドキュメントでは、aggregate-address コマンドを使用するときに各種の属性を操作する方法と、それらが伝達に与える影響について説明します。

as-set引数を使用すると、Autonomous System(AS;自律システム)の数学的集合を持つ集約アドレスが作成されます。 この as-set 引数では、すべての個別経路の AS_PATH アトリビュートが要約されます。次の設定例を使用すると、この機能と、BGP によるループの検出と回避においてこの引数がどのように役立つのかを調べることができます。
| ルータ A |
|---|
Current configuration: hostname RouterA ! interface Serial1 ip address 2.2.2.2 255.0.0.0 ! interface Loopback0 ip address 160.20.1.1 255.255.0.0 ! router bgp 100 network 160.20.0.0 !--- Router A advertises network 160.20.0.0/16. neighbor 2.2.2.1 remote-as 300 ! end |
| ルータ B |
|---|
Current configuration: hostname RouterB ! interface Serial0 ip address 3.3.3.3 255.0.0.0 ! interface Loopback0 ip address 160.10.1.1 255.255.0.0 ! router bgp 200 network 160.10.0.0 !--- Router B advertises network 160.10.0.0/16. neighbor 3.3.3.1 remote-as 300 ! end |
| ルータ C |
|---|
Current configuration: hostname RouterC ! interface Serial0 ip address 2.2.2.1 255.0.0.0 ! interface Serial1 ip address 3.3.3.1 255.0.0.0 ! interface Serial2 ip address 4.4.4.1 255.0.0.0 ! router bgp 300 neighbor 2.2.2.2 remote-as 100 neighbor 2.3.3.3 remote-as 200 neighbor 4.4.4.4 remote-as 400 aggregate-address 160.0.0.0 255.0.0.0 summary-only !--- The network is summarized, and Router C only |
| ルータ D |
|---|
Current configuration: hostname RouterD ! interface Serial0 ip address 4.4.4.4 255.0.0.0 ! router bgp 400 neighbor 4.4.4.1 remote-as 300 ! end |
Router C(AS-300)では、AS-100 からの経路 160.20.0.0/16 と AS-200 からの経路 160.10.0.0/16 が集約されます。このアクションが発生するのは、Router Cで summary-only 引数を設定しているためです。Router Cでは、Router Dに対して集約160.0.0.0/8のみがアナウンスされます。集約160.0.0.0/8は、クラスレスドメイン間ルーティング(CIDR)ルートです。より具体的な経路である 160.10.0.0/16 および 160.20.0.0/16 は、次に示す Router C の BGP テーブルのように抑制されます。
RouterC# show ip bgp BGP table version is 6, local router ID is 4.4.4.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.160.0.0/8 0.0.0.0 32768 i s> 10.160.10.0 3.3.3.3 0 0 200 i s> 10.160.20.0 2.2.2.2 0 0 100 i
Router DのBGPテーブルを次に示します。集約経路のパス情報を確認します。
RouterD# show ip bgp BGP table version is 6, local router ID is 4.4.4.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 160.0.0.0/8 4.4.4.1 0 300 i
集約経路 160.0.0.0/8 は、発信元コード IGP を持つ AS-300 から発信されたものと見なされます。この経路では、AS-200 の 160.10.0.0/16 と AS-100 の 160.20.0.0/16 の個別のプレフィクスに関する特定の AS_PATH 情報がすべて失われています。
次に、Router C上のaggregate-addressコマンドでas-set引数を設定します。新しい設定を次に示します。
| ルータ C |
|---|
Current configuration: hostname RouterC ! interface Serial0 ip address 2.2.2.1 255.0.0.0 ! interface Serial1 ip address 3.3.3.1 255.0.0.0 ! interface Serial2 ip address 4.4.4.1 255.0.0.0 ! router bgp 300 neighbor 2.2.2.2 remote-as 100 neighbor 3.3.3.3 remote-as 200 neighbor 4.4.4.4 remote-as 400 aggregate-address 160.0.0.0 255.0.0.0 summary-only as-set !--- With the as-set configuration command, the aggregate |
この引数によって、ルータでshow ip bgp出力がどのような影響を受けるのかを確認します。
RouterD# show ip bgp
BGP table version is 2, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 160.0.0.0/8 4.4.4.1 0 300 {200,100} i
as-set 引数により、集約経路に関する BGP テーブルのパス情報は、300 {200,100} からの集合を含むように変更されています。この集合は、AS-200 と AS-100 を通過した経路が実際に集約されていることを示しています。経路が通過した場所が記録されるため、as-set情報はルーティングループの回避において重要になります。
クローズドネットワークでは、この集約情報はBGPを通じて伝搬され、as-set(隠しコマンド)に掲載されているASの1つに戻されます。この伝搬によって、ループが発生する可能性が生じます。BGP のループ検出動作では、集約アップデートの as-set に自分自身の AS 番号が記録され、集約が廃棄されます。この処理によって、ループが防止されます。
注:as-set引数には、集約される個々の経路に関する情報が含まれます。また個別の経路での変更により、集約のアップデートが引き起こされます。例では、160.10.0.0/16 がダウンした場合、集約のパス情報が 300 {200,100} から 300 {200} に変更されます。集約はアップデートされます。数十、数百という経路が集約される場合、集約を形成する経路に問題があると、集約に絶えずフラップが生じる可能性があります。
「as-set 引数を使用した集約」セクションでは、as-set を使用して、特定の経路に関する AS_PATH アトリビュートを保存する方法を説明しました。場合によっては、集約経路のアトリビュートの変更を要求できることがあります。このようなアトリビュートの例としては、メトリック、コミュニティ、発信元などがあります。
影響
このセクションでは、aggregate-address アトリビュートを操作するために、attribute-map 引数を使用する方法を取り上げています。この場合、no-exportコミュニティアトリビュートを使用して、1つ以上の具体的な集約ルートを設定します。Router A によってコミュニティ アトリビュート no-export がネットワーク 160.20.0.0/16 に設定され、このネットワークが Router C にアナウンスされます。このセクションでは、この設定を示しています。Router C では、160.0.0.8 が集約されながら、コミュニティ アトリビュート no-export が継承されます。したがって、160.0.0.0/8 は Router D にアドバタイズされません。Routers B、C、および D の設定は変更されません。Router A の新しい設定を次に示します。
| ルータ A |
|---|
Current configuration:
hostname RouterA
!
interface Serial1
ip address 2.2.2.2 255.0.0.0
!
router bgp 100
network 160.20.0.0
!--- Router A advertises network 160.20.0.0/16.
neighbor 2.2.2.1 remote-as 300
neighbor 2.2.2.1 send-community
neighbor 2.2.2.1 route-map SET_NO_EXPORT out
!
access-list 1 permit 160.20.0.0 0.0.255.255
route-map SET_NO_EXPORT permit 10
match ip address 1
set community no-export
!--- This sets the community attribute |
160.0.0.0/8 に対する Router C の BGP テーブルを次に示します。
RouterC# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.0.0/8, version 9
Paths: (1 available, best #1, not advertised to EBGP peer)
Not advertised to any peer
{200,100}, (aggregated by 300 4.4.4.1)
0.0.0.0 from 0.0.0.0 (4.4.4.1)
Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-
aggregate, best, ref 2
Community: no-export
コミュニティno-exportによって、eBGPピアであるRouter DへのRouter Cによる集約経路のアナウンスが停止されます。Router Dでは、Router Cから160.0.0.0が学習されていないことが示されます。
RouterD# show ip bgp 160.0.0.0 % Network not in table
集約経路のコミュニティ アトリビュートを no-export から none に操作するために、Router C で attribute-map 引数を設定できます。 この設定により、集約を Router D にアドバタイズすることができます。
| ルータ C |
|---|
Current configuration: hostname RouterC ! interface Serial0 ip address 2.2.2.1 255.0.0.0 ! interface Serial1 ip address 3.3.3.1 255.0.0.0 ! interface Serial2 ip address 4.4.4.1 255.0.0.0 ! router bgp 300 neighbor 2.2.2.2 remote-as 100 neighbor 3.3.3.3 remote-as 200 neighbor 4.4.4.4 remote-as 400 aggregate-address 160.0.0.0 255.0.0.0 as-set summary-only attribute-map Map !--- Use of the attribute-map argument allows |
次に、160.0.0.0/8 に関する Router C の BGP テーブルを調べます。集約経路に対してコミュニティは設定されていないため、Router C によって 160.0.0.0/8 が Router D にアドバタイズされます。
RouterC# show ip bgp 160.0.0.0
BGP routing table entry for 10.160.0.0/8, version 6
Paths: (1 available, best #1)
Advertised to non peer-group peers:
2.2.2.2 3.3.3.3 4.4.4.4
{200,100}, (aggregated by 300 4.4.4.1)
0.0.0.0 from 0.0.0.0 (4.4.4.1)
Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-
aggregate, best, ref 2
Router D の show ip bgp 160.0.0.0 出力は、Router D によって Router C から集約経路 160.0.0.0/8 が学習されたことを示しています。
RouterD# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.0.0/8, version 10
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
300 {200,100}, (aggregated by 300 4.4.4.1)
4.4.4.1 from 4.4.4.1 (4.4.4.1)
Origin IGP, localpref 100, valid, external, best
集約経路を形成する個々のプレフィクスを制御できれば、集約がどのアトリビュートを伝送できるかを容易に判断できます。「集約経路のアトリビュートの変更」セクションの例で、集約経路からプレフィクス160.20.0.0を除外します。この場合、集約 160.0.0.0/8 ではコミュニティ アトリビュート no-export が継承されません。この変更を行うには、Router C で advertise-map 引数を設定します。
| ルータ C |
|---|
Current configuration: hostname RouterC ! interface Serial0 ip address 2.2.2.1 255.0.0.0 ! interface Serial1 ip address 3.3.3.1 255.0.0.0 ! interface Serial2 ip address 4.4.4.1 255.0.0.0 ! router bgp 300 neighbor 2.2.2.2 remote-as 100 neighbor 3.3.3.3 remote-as 200 neighbor 4.4.4.4 remote-as 400 aggregate-address 160.0.0.0 255.0.0.0 as-set summary-only advertise-map SELECT_SP_ROUTE !--- You exclude a particular prefix with the |
次に、160.0.0.0/8 に関する Router C の BGP テーブルを調べます。
RouterC# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.0.0/8, version 15
Paths: (1 available, best #1)
Advertised to non peer-group peers:
2.2.2.2 4.4.4.4
200, (aggregated by 300 2.2.2.1)
0.0.0.0 from 0.0.0.0 (2.2.2.1)
Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-
aggregate, best, ref 2
AS-200 のみが集約の AS_PATH 情報の一部であり、AS-100 は情報の一部ではありません。また、コミュニティ no-export は 160.20.0.0/16 からは継承されません。したがって、集約経路は Router D にアナウンスされます。show ip bgp 160.0.0.0 出力にアナウンスメントが表示されます。
RouterD# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.0.0/8, version 7
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
300 200, (aggregated by 300 4.4.4.1)
4.4.4.1 from 4.4.4.1 (4.4.4.1)
Origin IGP, localpref 100, valid, external, atomic-aggregate, best
ip bgp 160.0.0.0
注:集約as-setにはAS-200のみが含まれているため、AS-100のRouter Aは集約経路を受け入れ、ルーティングテーブルに組み込みます。BGP ループ検出メカニズムがこの経路の受け入れの原因です。BGP ループ検出メカニズムでは、as-set にある自分自身の AS が検出されません。
RouterA# show ip bgp BGP table version is 3, local router ID is 160.20.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.160.0.0/8 2.2.2.1 0 300 200 i *> 10.160.20.0 0.0.0.0 0 32768 i
aggregate-address コマンドには、suppress-map などの他のコンフィギュレーション コマンドが含まれます。すべてのコンフィギュレーション コマンドの組み合せの使用による影響を理解するためには、as-set コンフィギュレーション コマンドを使用する場合に、より具体的な経路からのアトリビュートだけが aggregate-address によって継承されることに注意してください。aggregate-address によって継承可能なアトリビュートの例としては、no-export や no-advertise などが挙げられます。
summary-only コンフィギュレーション コマンドとともに suppress-map コンフィギュレーション コマンドを使用すると、summary-only コンフィギュレーション コマンドの効果が失われます。suppress-map コンフィギュレーション コマンドの使用を組み合せると、suppress-map によって抑制されるより具体的な経路はアドバタイズされません。ただし、suppress-map の対象ではない経路は、集約された経路に加えてアドバタイズされます。したがって、このセクションでの注意事項は、summary-only コンフィギュレーション コマンドの使用の有無にかかわらず、suppress-map の使用に適用されます。
suppress-map とともに as-set を使用すると、抑制された経路がアドバタイズされていなくても、すべての抑制された経路のアトリビュートが集約された経路によって継承されます。ただし、attribute-map などの他のコンフィギュレーション コマンドの使用によって、継承されたアトリビュートを上書きできます。「集約経路のアトリビュートの変更」セクションでは、attribute-map の使用を説明しています。
advertise-map とともに as-set と suppress-map のコンフィギュレーション コマンドを使用すると、集約が形成されます。集約では、suppress-map によって経路が抑制されているかどうかに関係なく、advertise-map で選択された経路からのみアトリビュートが継承されます。「advertise-map を使用した、特定経路のサブセットの集約」セクションを参照してください。
as-set や他のコンフィギュレーション コマンドとともに advertise-map と attribute-map を使用すると、attribute-map によって advertise-map で選択されたアトリビュートが上書きされます。
一般的に、advertise-map を使用すると、advertise-map のみが集約に影響します。advertise-map が使用されない場合、集約ではより具体的な経路(抑制された経路と抑制されていない経路の両方)のアトリビュートが継承されます。どちらの場合も、attribute-map コンフィギュレーション コマンドを使用して、選択されたアトリビュートを上書きできます。
| 改定 | 発行日 | コメント |
|---|---|---|
4.0 |
15-Aug-2024
|
再認定 |
2.0 |
17-May-2022
|
リンク切れを更新。 |
1.0 |
02-Dec-2013
|
初版 |