タップできる目次
ローカル ルートの集約
下記の図の構成で、R2はローカルで生成されたルート「10.0.0.0/24」「10.0.1.0/24」「10.0.2.0/24」「10.0.3.0/24」を集約します。
ルート集約する前のR1とR2は以下の様な設定をおこなっています。
!!! R1 !!! router bgp 65001 no synchronization bgp log-neighbor-changes neighbor 1.1.1.2 remote-as 65002 no auto-summary
!!! R2 !!! interface Loopback0 ip address 10.0.0.1 255.255.255.0 ! interface Loopback1 ip address 10.0.1.1 255.255.255.0 ! interface Loopback2 ip address 10.0.2.1 255.255.255.0 ! interface Loopback3 ip address 10.0.3.1 255.255.255.0 ! interface FastEthernet0 ip address 1.1.1.2 255.255.255.248 ! router bgp 65002 no synchronization bgp log-neighbor-changes network 10.0.0.0 mask 255.255.255.0 network 10.0.1.0 mask 255.255.255.0 network 10.0.2.0 mask 255.255.255.0 network 10.0.3.0 mask 255.255.255.0 neighbor 1.1.1.1 remote-as 65001 no auto-summary
BGPで集約するためには、集約しようとしている個々のルートが最低限ひとつBGPテーブルに存在する必要があります。 そのため、これから集約しようとしているルート「10.0.x.0/24」がBGPテーブルに存在することを確認します。
R1#show ip bgp BGP table version is 5, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 1.1.1.2 0 0 65002 i *> 10.0.1.0/24 1.1.1.2 0 0 65002 i *> 10.0.2.0/24 1.1.1.2 0 0 65002 i *> 10.0.3.0/24 1.1.1.2 0 0 65002 i
R2#show ip bgp BGP table version is 5, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
BGPテーブルの確認ができたので、集約ルートの追加をR2におこないます。集約ルートを追加するためにはaggregate-addressコマンドを実行します。
!!! R2 !!! router bgp 65002 no synchronization bgp log-neighbor-changes network 10.0.0.0 mask 255.255.255.0 network 10.0.1.0 mask 255.255.255.0 network 10.0.2.0 mask 255.255.255.0 network 10.0.3.0 mask 255.255.255.0 aggregate-address 10.0.0.0 255.255.252.0 neighbor 1.1.1.1 remote-as 65001 no auto-summary
R2への設定追加が完了したので、R1とR2のBGPテーブルを表示させ、集約アドレスが存在することを確認します。
R1#show ip bgp BGP table version is 6, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 1.1.1.2 0 0 65002 i *> 10.0.0.0/22 1.1.1.2 0 0 65002 i *> 10.0.1.0/24 1.1.1.2 0 0 65002 i *> 10.0.2.0/24 1.1.1.2 0 0 65002 i *> 10.0.3.0/24 1.1.1.2 0 0 65002 i
R2#show ip bgp BGP table version is 6, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.0.0/22 0.0.0.0 32768 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
続いて、R1で集約ルート(10.0.0.0/22)の詳細情報を確認します。
集約ルートの属性がatomic-aggregateとなっているのは、集約によりAS情報が失われたことを意味しています。
R1#show ip bgp 10.0.0.0 255.255.252.0 BGP routing table entry for 10.0.0.0/22, version 6 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 65002, (aggregated by 65002 10.0.3.1) 1.1.1.2 from 1.1.1.2 (10.0.3.1) Origin IGP, metric 0, localpref 100, valid, external, atomic-aggregate, best
併せて、R2でルーティングテーブルの確認を行います。以下のように、集約ルートへのネクストホップにNull0が自動的に挿入されます。
R2#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 1.0.0.0/29 is subnetted, 1 subnets C 1.1.1.0 is directly connected, FastEthernet0 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks C 10.0.2.0/24 is directly connected, Loopback2 C 10.0.3.0/24 is directly connected, Loopback3 C 10.0.0.0/24 is directly connected, Loopback0 B 10.0.0.0/22 [200/0] via 0.0.0.0, 00:06:41, Null0 C 10.0.1.0/24 is directly connected, Loopback1
Null0が自動的に挿入される理由は、ルーティングループを防ぐためです。
ローカル ルートの再配信による集約
ローカル ルートの集約は再配信によって実現することもできます。connectルートを再配信するためには次のようにします。
!!! R2 !!! router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 redistribute connected metric 20 neighbor 1.1.1.1 remote-as 65001 no auto-summary
R2がクラスフルサマリを生成しないように no auto-summary が必要であることに注意します。
no auto-summaryを実行しなかった場合、以下のようにクラスフル境界でアドバタイズされます。
R1#show ip bgp BGP table version is 40, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.0.0.0 1.1.1.2 20 0 65002 ? *> 10.0.0.0 1.1.1.2 20 0 65002 ?
R2#show ip bgp BGP table version is 29, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.0.0.0 0.0.0.0 20 32768 ? *> 10.0.0.0 0.0.0.0 20 32768 ?
次にR1とR2のルーティングテーブルを確認します。R1では集約ルート 10.0.0.0/8 が配信されています。また、R2には 10.0.0.0/8 へのNull0向けルートが自動的に挿入されていないことに注意してください。これはルーティングループを発生させる危険性があります。
R1#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 1.1.1.0/29 is directly connected, FastEthernet0 B 1.0.0.0/8 [20/20] via 1.1.1.2, 00:03:53 B 10.0.0.0/8 [20/20] via 1.1.1.2, 00:03:53
R2#show ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 1.0.0.0/29 is subnetted, 1 subnets C 1.1.1.0 is directly connected, FastEthernet0 10.0.0.0/24 is subnetted, 4 subnets C 10.0.2.0 is directly connected, Loopback2 C 10.0.3.0 is directly connected, Loopback3 C 10.0.0.0 is directly connected, Loopback0 C 10.0.1.0 is directly connected, Loopback1
学習した経路の集約
下記の図の構成で、R2はR3からプリフィックス 10.0.0.0/24 – 10.0.3.0/24を学習します。R2は学習したこれらのルートを10.0.0.0/22に集約します。
R1、R2、R3にはそれぞれ以下のような設定をおこなっています。
!!! R1 !!! router bgp 65001 no synchronization bgp log-neighbor-changes neighbor 1.1.1.2 remote-as 65002 no auto-summary
!!! R2 !!! router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary
!!! R3 !!! router bgp 65003 no synchronization bgp log-neighbor-changes network 10.0.0.0 mask 255.255.255.0 network 10.0.1.0 mask 255.255.255.0 network 10.0.2.0 mask 255.255.255.0 network 10.0.3.0 mask 255.255.255.0 neighbor 2.1.1.1 remote-as 65002 no auto-summary
R1のBGPテーブルを表示させると集約ルートが含まれていることを確認することができます。
R1#show ip bgp BGP table version is 6, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 1.1.1.2 0 65002 65003 i *> 10.0.0.0/22 1.1.1.2 0 0 65002 i *> 10.0.1.0/24 1.1.1.2 0 65002 65003 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
ASパス情報を見ると、集約ルートのみAS65002が生成しているように見えます。これはR2が集約をおこなった際にAS65003のパス情報が失われたためです。
R1で集約ルートの情報を表示させることにより、atomic属性を持っていることがわかります。atomic属性はASパス情報が失われたことを意味します。
R1#show ip bgp 10.0.0.0 255.255.252.0 BGP routing table entry for 10.0.0.0/22, version 6 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 65002, (aggregated by 65002 2.1.1.1) 1.1.1.2 from 1.1.1.2 (2.1.1.1) Origin IGP, metric 0, localpref 100, valid, external, atomic-aggregate, best
ASパス情報を残してルート集約する
ここまで、ルート集約によりASパス情報が失われることを確認しました(atomic-aggregate)。次は、ASパス情報を残しながら集約ルートをアドバタイズできることを確認します。そして、ASパス情報が失われた場合と、ASパス情報を残してルート集約した場合の動作の違いを確認します。
下記の図のような構成で、R2はR1とR3からルートを学習します。
R1、R2、R3にはそれぞれ以下のような設定をおこなっています。
!!! R1 !!! interface Loopback0 ip address 10.0.0.1 255.255.255.0 ! interface Loopback1 ip address 10.0.1.1 255.255.255.0 ! router bgp 65001 no synchronization bgp log-neighbor-changes network 10.0.0.0 mask 255.255.255.0 network 10.0.1.0 mask 255.255.255.0 neighbor 1.1.1.2 remote-as 65002 no auto-summary
!!! R2 !!! router bgp 65002 no synchronization bgp log-neighbor-changes neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003
!!! R3 !!! interface Loopback0 ip address 10.0.2.1 255.255.255.0 ! interface Loopback1 ip address 10.0.3.1 255.255.255.0 ! router bgp 65003 no synchronization bgp log-neighbor-changes network 10.0.2.0 mask 255.255.255.0 network 10.0.3.0 mask 255.255.255.0 neighbor 2.1.1.1 remote-as 65002 no auto-summary
集約前に、それぞれのルーターのBGPテーブルを調べてプリフィックス 10.0.0.0/24 – 10.0.3.0/24が学習されていることを確認します。
R1#show ip bgp BGP table version is 5, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R2#show ip bgp BGP table version is 5, local router ID is 2.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 1.1.1.1 0 0 65001 i *> 10.0.1.0/24 1.1.1.1 0 0 65001 i *> 10.0.2.0/24 2.1.1.2 0 0 65003 i *> 10.0.3.0/24 2.1.1.2 0 0 65003 i
R3#show ip bgp BGP table version is 5, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
次に、R2へ設定を追加して集約ルートのアドバタイズを有効にします。
router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary
R2でルート集約をおこなうと、集約ルートにはAS65001およびAS65003のルートが含まれます。R2は自分をネクストホップとする集約ルートをアドバタイズしますが、これはASパス情報が失われたことを意味します(atomic-aggregate)。そして、ASパス情報が失われているため、R1とR2は自分のルートを含む集約ルートを受け入れます。
R2#show ip bgp BGP table version is 6, local router ID is 2.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 1.1.1.1 0 0 65001 i *> 10.0.0.0/22 0.0.0.0 32768 i *> 10.0.1.0/24 1.1.1.1 0 0 65001 i *> 10.0.2.0/24 2.1.1.2 0 0 65003 i *> 10.0.3.0/24 2.1.1.2 0 0 65003 i R2# R2#show ip bgp 10.0.0.0 255.255.252.0 BGP routing table entry for 10.0.0.0/22, version 6 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to update-groups: 1 Local, (aggregated by 65002 2.1.1.1) 0.0.0.0 from 0.0.0.0 (2.1.1.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-aggregate, best
R1#show ip bgp BGP table version is 6, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.0.0/22 1.1.1.2 0 0 65002 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R3#show ip bgp BGP table version is 6, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.0.0/22 2.1.1.1 0 0 65002 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
では次に、ASパス情報を残して集約をおこなうために、R2で as-set オプションを使用します。
router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 as-set neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary
R2のBGPテーブルには集約ルートが存在していて、ASパス情報が失われていない事を確認します。
R2#show ip bgp BGP table version is 7, local router ID is 2.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 1.1.1.1 0 0 65001 i *> 10.0.0.0/22 0.0.0.0 100 32768 {65001,65003} i *> 10.0.1.0/24 1.1.1.1 0 0 65001 i *> 10.0.2.0/24 2.1.1.2 0 0 65003 i *> 10.0.3.0/24 2.1.1.2 0 0 65003 i
集約ルートの情報を調べると、ASパス情報が保存されている事が確認できます。
R2#show ip bgp 10.0.0.0 255.255.252.0 BGP routing table entry for 10.0.0.0/22, version 7 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to update-groups: 1 {65001,65003}, (aggregated by 65002 2.1.1.1) 0.0.0.0 from 0.0.0.0 (2.1.1.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, best
次にR1とR3のBGPテーブルを調べます。R1とR3は自分のAS番号がAS_PATH属性に含まれているため、集約ルートを拒否します。
R1#show ip bgp BGP table version is 7, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R3#show ip bgp BGP table version is 7, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i
集約ルートを制御する
「ASパス情報を残してルート集約する」では、R1とR3はAS_PATH属性に自分のAS番号が含まれているため集約ルートを拒否していることを確認しました。このセクションでは、集約ルートをAS65001にはアドバタイズしたくないが、AS65003にはアドバタイズしたい、といった具合に集約ルートを制御できることを確認します。
まず、R1とR3には集約ルートが存在しないことを確認します。
R1#show ip bgp BGP table version is 7, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R3#show ip bgp BGP table version is 7, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
集約ルートをAS65001にアドバタイズせず、AS65003にアドバタイズするためには、AS_PATH属性にAS65001を含め、AS65003は含まないようにします。 この動作を制御するためには、advertise-mapオプションを使用します。まずは、アクセスリストでAS65001が生成するルートを集約ルートに含めるようにR2へ設定を追加します。
!!! R2 !!! access-list 1 permit 10.0.0.0 0.0.0.255 access-list 1 permit 10.0.1.0 0.0.0.255 ! route-map rmap-include-as permit 10 match ip address 1 ! router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 as-set advertise-map rmap-include-as neighbor
R1、R3のBGPテーブルを調べ、R3のBGPテーブルのみ集約ルートが存在することを確認します。また、集約ルートの生成元がAS65001であることも確認できます。
R1#show ip bgp BGP table version is 7, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R3#show ip bgp BGP table version is 6, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.0.0/22 2.1.1.1 0 0 65002 65001 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
また、アクセスリストでなくAS番号で制御することもできます。R2を次のように設定しても、同様の制御ができます。
!!! R2 !!! router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 as-set advertise-map rmap-include-as neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary ! ip as-path access-list 1 permit ^65001$ ! route-map rmap-include-as permit 10 match as-path 1 !
集約ルートの属性を変更する
属性を変更するためには、ルートマップを使用します。これまで、メトリックは初期値の0でアドバタイズされてきました。そこで、MED属性を変更してメトリックを100としてアドバタイズできることを確認します。
以下の構成で、R2はR1とR3からルートを学習し、学習したルートを集約してアドバタイズします。その際、MED属性を変更してメトリックを初期値の0から100に変更します。
R2は以下の設定をおこなっています。
!!! R2 !!! router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary
現在のR1とR3のBGPテーブルを調べ、メトリックが0であることを確認します。
R1#show ip bgp BGP table version is 6, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.0.0/22 1.1.1.2 0 0 65002 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R3#show ip bgp BGP table version is 8, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.0.0/22 2.1.1.1 0 0 65002 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
次に、R2でattribute-mapを使用してMED属性の値を100に変更します。
router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 attribute-map rmap-med neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary ! route-map rmap-med permit 10 set metric 100
R1とR3のBGPテーブルを調べ、MED属性が変更されメトリックが100となっていることを確認します。
R1#show ip bgp BGP table version is 7, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.0.0/22 1.1.1.2 100 0 65002 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R3#show ip bgp BGP table version is 9, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.0.0/22 2.1.1.1 100 0 65002 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
個々のルートを抑制する
以下の構成で、R2はR1とR3からルートを学習し、集約ルートをアドバタイズします。このセクションでは、R1とR3から学習した個々のルートのアドバタイズを抑制しながら集約ルートをアドバタイズできることを確認します。
R2は以下のように設定しています。
!!! R2 !!! router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary
R1とR3のBGPテーブルには「10.0.0.0/24」「10.0.1.0/24」「10.0.2.0/24」「10.0.3.0/24」および集約ルート「10.0.0.0/22」が存在します。
R1#show ip bgp BGP table version is 9, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.0.0/22 1.1.1.2 100 0 65002 i *> 10.0.1.0/24 0.0.0.0 0 32768 i *> 10.0.2.0/24 1.1.1.2 0 65002 65003 i *> 10.0.3.0/24 1.1.1.2 0 65002 65003 i
R3#show ip bgp BGP table version is 11, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.0.0/22 2.1.1.1 100 0 65002 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
BGPテーブルの確認ができたので、summary-onlyオプションを使用して個々のルートのアドバタイズを抑制します。
router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 summary-only neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary
R1とR3のBGPテーブルを調べ、個々のルートが抑制され消えていることを確認します。
R1#show ip bgp BGP table version is 11, local router ID is 10.0.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 10.0.0.0/22 1.1.1.2 100 0 65002 i *> 10.0.1.0/24 0.0.0.0 0 32768 i
R3#show ip bgp BGP table version is 13, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/22 2.1.1.1 100 0 65002 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
次にR2で抑制されたルートの詳細情報を調べます。
R2#show ip bgp 10.0.0.0 255.255.255.0 BGP routing table entry for 10.0.0.0/24, version 13 Paths: (1 available, best #1, table Default-IP-Routing-Table, Advertisements suppressed by an aggregate.) Not advertised to any peer 65001 1.1.1.1 from 1.1.1.1 (10.0.1.1) Origin IGP, metric 0, localpref 100, valid, external, best
アドバタイズが抑制されたことが、このメッセージから確認できます。
個々のルートを部分的に抑制する
「個々のルートを抑制する」ではすべてのルートを抑制し、集約ルートのみアドバタイズしました。このセクションでは、アドバタイズするルートを部分的に抑制できることを確認します。
以下の構成で、R2は10.0.0.0/22を集約ルートとしてアドバタイズすることができます。
R2は以下のような設定をおこなっています。
router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary
R3のBGPテーブルを調べ、集約ルートと個々のルートが存在することを確認します。
R3#show ip bgp BGP table version is 10, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/24 2.1.1.1 0 65002 65001 i *> 10.0.0.0/22 2.1.1.1 0 0 65002 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
次に、R2の設定を変更し、10.0.0.0/24を抑制します。
router bgp 65002 no synchronization bgp log-neighbor-changes aggregate-address 10.0.0.0 255.255.252.0 suppress-map rmap-suppress neighbor 1.1.1.1 remote-as 65001 neighbor 2.1.1.2 remote-as 65003 no auto-summary ! access-list 1 permit 10.0.0.0 0.0.0.255 ! route-map rmap-suppress permit 10 match ip address 1 !
ルートマップに一致したルートのみ抑制されることに注意してください。R1へ設定追加後、R3のBGPテーブルから10.0.0.0/24が消えていることを確認します。
R3#show ip bgp BGP table version is 11, local router ID is 10.0.3.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 10.0.0.0/22 2.1.1.1 0 0 65002 i *> 10.0.1.0/24 2.1.1.1 0 65002 65001 i *> 10.0.2.0/24 0.0.0.0 0 32768 i *> 10.0.3.0/24 0.0.0.0 0 32768 i
自動集約
Ciscoルーターの初期設定では、自動集約が無効になっています。以下の構成で自動集約を有効化した際、どのように動作するのか確認します。
自動集約はBGPに再配布されたルートのみ適用されます。再配布されたルートはBGPによってクラスフル境界で集約されます。
R1、R2、R3は以下の設定をおこなっています。
!!! R1 !!! interface Loopback0 ip address 10.0.0.1 255.255.255.0 ! router bgp 65001 no synchronization bgp log-neighbor-changes network 10.0.0.0 mask 255.255.255.0 neighbor 1.1.1.2 remote-as 65002 auto-summary
!!! R2 !!! router ospf 1 log-adjacency-changes network 2.1.1.0 0.0.0.3 area 0 ! router bgp 65002 no synchronization bgp log-neighbor-changes redistribute connected redistribute ospf 1 neighbor 1.1.1.1 remote-as 65001 auto-summary
!!! R3 !!! interface Loopback0 ip address 10.0.3.1 255.255.255.0 ! router ospf 1 log-adjacency-changes network 2.1.1.0 0.0.0.3 area 0 network 10.0.3.0 0.0.0.255 area 100
R1とR2のBGPテーブルを調べると、クラスフル境界で集約されていることが確認できます。
R1#show ip bgp BGP table version is 6, local router ID is 10.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.0.0.0 1.1.1.2 0 0 65002 ? *> 2.0.0.0 1.1.1.2 0 0 65002 ? *> 10.0.0.0/24 0.0.0.0 0 32768 i *> 20.0.0.0 1.1.1.2 0 0 65002 ?
R2#show ip bgp BGP table version is 5, local router ID is 2.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.0.0.0 0.0.0.0 0 32768 ? *> 2.0.0.0 0.0.0.0 0 32768 ? *> 10.0.0.0/24 1.1.1.1 0 0 65001 i *> 20.0.0.0 0.0.0.0 0 32768 ?
ひとつ集約されていないルートがあります。10.0.0.0/24ですが、このルートが集約されていない理由は最初に書いたとおり、再配布されたルートでなく、networkコマンドでアドバタイズさせているためです。R1のBGP設定に再配布設定を追加すると10.0.0.0/24がクラスフル境界でアドバタイズされます。
以下のように、R1の設定を変更します。
router bgp 65001 no synchronization bgp log-neighbor-changes redistribute connected neighbor 1.1.1.2 remote-as 65002 auto-summary
設定変更後、R1とR2のBGPテーブルを調べ、10.0.0.0/24がクラスフル境界でアドバタイズされていることを確認します。
R1#show ip bgp BGP table version is 9, local router ID is 10.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 1.0.0.0 0.0.0.0 0 32768 ? * 1.1.1.2 0 0 65002 ? *> 2.0.0.0 1.1.1.2 0 0 65002 ? *> 10.0.0.0 0.0.0.0 0 32768 ? *> 20.0.0.0 1.1.1.2 0 0 65002 ?
R2#show ip bgp BGP table version is 7, local router ID is 2.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 1.0.0.0 1.1.1.1 0 0 65001 ? *> 0.0.0.0 0 32768 ? *> 2.0.0.0 0.0.0.0 0 32768 ? *> 10.0.0.0 1.1.1.1 0 0 65001 ? *> 20.0.0.0 0.0.0.0 0 32768 ?