はじめに
このドキュメントでは、 aggregate-address コマンドを使用する際にさまざまなアトリビュートを操作する方法と、その伝搬を促す方法について説明します。
前提条件
要件
次の項目に関する専門知識があることが推奨されます。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。ただし、このドキュメントの設定は、Cisco IOS®ソフトウェアリリース12.2(28)でテスト済みです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
背景説明
ボーダーゲートウェイプロトコル(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 数を使用しない集約
as-set 引数を使用すると、自律システム(AS)の数学的集合を持つ集約アドレスが作成されます。この as-set 引数では、すべての個別経路のAS_PATHアトリビュートが要約されます。次の設定例を使用すると、この機能と、BGP によるループの検出と回避においてこの引数がどのように役立つのかを調べることができます。
ルータ A |
Current configuration:
hostname RouterA
!
interface Serial1
ip address 10.2.2.2 255.0.0.0
!
interface Loopback0
ip address 10.160.20.11 255.255.0.0
!
router bgp 100
network 10.160.20.0
!--- Router A advertises network 10.160.20.0/16.
neighbor 10.2.2.1 remote-as 300
!
end |
ルータ B |
Current configuration:
hostname RouterB
!
interface Serial0
ip address 10.3.3.3 255.0.0.0
!
interface Loopback0
ip address 10.160.10.1 255.255.0.0
!
router bgp 200
network 10.160.10.0
!--- Router B advertises network 10.160.10.0/16.
neighbor 10.3.3.1 remote-as 300
!
end |
ルータ C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0 summary-only
!--- The network is summarized, and Router C only !--- advertises 10.160.0.0/8.
!
end |
ルータ D |
Current configuration:
hostname RouterD
!
interface Serial0
ip address 10.4.4.4 255.0.0.0
!
router bgp 400
neighbor 10.4.4.1 remote-as 300
!
end |
Router C(AS-300)では、AS-100 からの経路 10.160.20.0/16 と AS-200 からの経路 10.160.10.0/16 が集約されます。このアクションは、Router Cで summary-only 引数を設定したことが原因で発生します。Router Cは、集約10.160.0.0/8のみをRouter Dにアナウンスします。集約10.160.0.0/8は、クラスレスドメイン間ルーティング(CIDR)ルートです。より具体的な経路である 10.160.10.0/16 および 10.160.20.0/16 は、次に示す Router C の BGP テーブルのように抑制されます。
RouterC# show ip bgp BGP table version is 6, local router ID is 10.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 10.3.3.3 0 0 200 i s> 10.160.20.0 10.2.2.2 0 0 100 i
ルータDのBGPテーブルを次に示します。集約経路のパス情報を確認します。
RouterD# show ip bgp BGP table version is 6, local router ID is 10.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 *> 10.160.0.0/8 10.4.4.1 0 300 i
集約経路 10.160.0.0/8 は、発信元コード IGP を持つ AS-300 から発信されたものと見なされます。この経路では、AS-200 の 10.160.10.0/16 と AS-100 の 10.160.20.0/16 の個別のプレフィクスに関する特定の AS_PATH 情報がすべて失われています。
引as-set 数を使用した集約
次に、Router C上の aggregate-address コマンドで as-set 引数を設定します。新しい設定を次に示します。
ルータ C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0 summary-only as-set
!--- With the as-set configuration command, the aggregate !--- inherits the attributes of the more-specific routes.
!
end |
この引数によって、Router:上の show ip bgp 出力がどのような影響を受けるのかを調べます。
RouterD# show ip bgp BGP table version is 2, local router ID is 10.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 *> 10.160.0.0/8 10.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引数には、集約される個々の経路に関する情報が含まれます。また個別の経路での変更により、集約のアップデートが引き起こされます。この例では、10.160.10.0/16がダウンすると、集約のパス情報が300 {200,100}から300 {200}に変更されます。集約はアップデートされます。数十、数百という経路が集約される場合、集約を形成する経路に問題があると、集約に絶えずフラップが生じる可能性があります。
集約経路のアトリビュートの変更
「 as-set 引数を使用した集約
」セクションでは、を使用して、特定の経路 as-set に関するAS_PATHアトリビュートを保存する方法を説明しています。場合によっては、集約経路のアトリビュートの変更を要求できることがあります。このようなアトリビュートの例としては、メトリック、コミュニティ、発信元などがあります。
影響
このセクションでは、 attribute-map 引数を使用して属 aggregate-address 性を操作する方法を示します。この場合は、 no-export コミュニティアトリビュートを使用して、1つ以上の具体的な集約ルートを設定します。ルータAはコミュニティアトリビュート no-export をネットワーク10.160.20.0/16に設定し、このネットワークをルータCにアナウンスします。このセクションでは、この設定を示しています。ルータCは10.160.0.8を集約する no-export 一方で、コミュニティアトリビュートを継承します。したがって、10.160.0.0/8 は Router D にアドバタイズされません。Routers B、C、および D の設定は変更されません。Router A の新しい設定を次に示します。
ルータ A |
Current configuration:
hostname RouterA
!
interface Serial1
ip address 10.2.2.2 255.0.0.0
!
router bgp 100
network 10.160.20.0
!--- Router A advertises network 10.160.20.0/16.
neighbor 10.2.2.1 remote-as 300
neighbor 10.2.2.1 send-community
neighbor 10.2.2.1 route-map SET_NO_EXPORT out
!
access-list 1 permit 10.160.20.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 no-export . at Router A for route 10.160.20.0/16 ! end |
10.160.0.0/8 に対する Router C の BGP テーブルを次に示します。
RouterC# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.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 10.4.4.1) 0.0.0.0 from 0.0.0.0 (10.4.4.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2 Community: no-export
コミュニティによって、eBGPピアであるRouter Dへの集約経路に対するRouter Cのアナウンスが停 no-export 止されます。Router Dは、Router Cから10.160.0.0を学習していないことを示しています。
RouterD# show ip bgp 10.160.0.0 % Network not in table
集約経路のコミュニティアトリビュートをno-exportからnoneに操作するために、Router Cでattribute-map引数を設定できます。この設定により、Router Dへの集約のアドバタイズメントが可能になります。
ルータ C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0
as-set summary-only attribute-map Map
!--- Use of the attribute-map argument allows !--- you to change the community of the aggregate.
!
route-map Map permit 10
set community none
!--- This sets the community of the aggregate to none.
end |
次に、10.160.0.0/8 に関する Router C の BGP テーブルを調べます。集約経路に対してコミュニティは設定されていないため、Router C によって 10.160.0.0/8 が Router D にアドバタイズされます。
RouterC# show ip bgp 10.160.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: 10.2.2.2 10.3.3.3 10.4.4.4 {200,100}, (aggregated by 300 10.4.4.1) 0.0.0.0 from 0.0.0.0 (10.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から集約経路10.160.0.0/8が学習されたことを示しています。
RouterD# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.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 10.4.4.1) 10.4.4.1 from 10.4.4.1 (10.4.4.1) Origin IGP, localpref 100, valid, external, best
advertise-map を使用した、特定ルートのサブセットの集約
集約経路を形成する個々のプレフィクスを制御できれば、集約がどのアトリビュートを伝送できるかを容易に判断できます。「集約経路のアトリビュートの変更」セクションの例で、集約経路からプレフィクス10.160.20.0を除外します。この場合、集約10.160.0.0/8ではコミュニティアトリビュート no-export が継承されません。この変更を行うには、Router Cで advertise-map 引数を設定します。
ルータ C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0
as-set summary-only advertise-map SELECT_SP_ROUTE
!--- You exclude a particular prefix with the !--- use of advertise-map.
!
access-list 1 permit 10.160.10.0 0.0.255.255
!
route-map SELECT_SP_ROUTE permit 10
match ip address 1
!
end |
次に、10.160.0.0/8 に関する Router C の BGP テーブルを調べます。
RouterC# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.0.0/8, version 15 Paths: (1 available, best #1) Advertised to non peer-group peers: 10.2.2.2 10.4.4.4 200, (aggregated by 300 10.2.2.1) 0.0.0.0 from 0.0.0.0 (10.2.2.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2
AS-200 のみが集約の AS_PATH 情報の一部であり、AS-100 は情報の一部ではありません。また、コミュニティは10.160.20.0/16か no-export ら継承されません。したがって、集約経路は Router D にアナウンスされます。 show ip bgp 160.0.0.0 の出力にアナウンスメントが表示されます。
RouterD# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.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 10.4.4.1) 10.4.4.1 from 10.4.4.1 (10.4.4.1) Origin IGP, localpref 100, valid, external, atomic-aggregate, best ip bgp 10.160.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 10.160.20.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 10.2.2.1 0 300 200 i *> 10.160.20.0 0.0.0.0 0 32768 i
他の設定コマンドでのsuppress-map の使用の影響
aggregate-address コマンドには、 suppress-map などの他の設定コマンドが含まれます。すべてのコンフィギュレーションコマンドの組み合せの使用による影響を理解するためには、コンフィギュレーションコマンドを使用する場合に、より具体的な経路からのアトリビュートの aggregate-address みを継 as-set 承することに注意してください。継承で aggregate-address きる属性の例としては、 no-export や no-advertise などがあります。
-
suppress-map コンフィギュレーションコマンドをコンフィ summary-only ギュレーションコマンドとともに使用すると、 summary-only コンフィギュレーションコマンドの効果が失われます。 suppress-map コンフィギュレーションコマンドを使用すると、 suppress-map によって抑制されるより具体的なルートはアドバタイズされません。ただし、 suppress-map でカバーされていないルートは、集約ルートに加えてアドバタイズされます。したがって、このセクションでの注意事項は、 suppress-map を summary-only configuration コマンドとともに使用する場合にも、使用しない場合にも適用されます。
as-set
-
を suppress-map とともに使用すると、抑制された経路がアドバタイズされていなくても、すべての抑制された経路のアトリビュートが集約された経路によって継承されます。ただし、 attribute-map などの他のコンフィギュレーションコマンドを使用して、継承されたアトリビュートを上書きできます。「集約経路のアトリビュートの変更」セクションでは、 attribute-map の使用について説明しています。
as-set
-
および suppress-map コンフィギュレーションコマンドを advertise-map とともに使用すると、集約が形成されます。集約では、ルートが抑制されているかどうかに関係なく、 advertise-map で選択されたルートからのみアトリビュートが継承さ suppress-map れます。「 advertise-map を使用した、特定ルートのサブセットの集約
」セクションを参照してください。
advertise-map
-
および attribute-map を as-set およびその他の設定コマンドとともに使用すると、 attribute-map によって advertise-map で選択された属性が上書きされます。
一般に、 advertise-map を使用すると、 advertise-map のみが集約に影響します。 advertise-map を使用しない場合、集約ではより具体的な経路(抑制された経路と抑制されていない経路の両方)のアトリビュートが継承されます。どちらの場合も、 attribute-map 設定コマンドを使用して、選択した属性を上書きできます。
関連情報