レンタルサーバー/VPSのキャンペーン情報!
お見逃しなく!!

BGP4 ルート集約

ローカル ルートの集約

下記の図の構成で、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 ?