【BGP】経路集約(aggregate-address、as-set)

BGPでは、複数の経路情報を集約することができます。コマンドはaggregate-addressを使用します。

aggregate-addressで指定する集約後のルート情報を広告するには、集約前の経路情報が少なくとも一つがBGPテーブルに存在する必要があります。

 集約されたルートはaggregate-addressコマンドにより集約したルータから生成されたと見なされ、集約前の個別ルートに付与されたAS-PATH属性が反映されません。

集約ルートに対して、集約前の個別ルートに付与されたAS-PATH属性を反映させるには、aggregate-addressコマンドのオプションでas-setを使用します。

 R1に4つのループバックアドレスを設定し、networkコマンドにより、R2で広告します。R2では、aggregate-addressコマンドで集約して、R3に広告します。まず、集約前の基本設定をします。

R1(config)# interface Loopback100 
R1(config-if)#  ip address 172.16.0.1 255.255.255.0
R1(config-if)# interface Loopback101
R1(config-if)#  ip address 172.16.1.1 255.255.255.0
R1(config-if)# interface Loopback102
R1(config-if)#  ip address 172.16.2.1 255.255.255.0
R1(config-if)# interface Loopback103
R1(config-if)#  ip address 172.16.3.1 255.255.255.0
R1(config-if)# exit
R1(config)# router bgp 1
R1(config-router)#  network 172.16.0.0 mask 255.255.255.0
R1(config-router)#  network 172.16.1.0 mask 255.255.255.0
R1(config-router)#  network 172.16.2.0 mask 255.255.255.0
R1(config-router)#  network 172.16.3.0 mask 255.255.255.0
R1(config-router)#  neighbor 192.168.12.2 remote-as 2
R2(config)# router bgp 2
R2(config-router)#  neighbor 192.168.12.1 remote-as 1
R2(config-router)#  neighbor 192.168.23.3 remote-as 3
R3(config)# router bgp 3
R3(config-router)#  neighbor 192.168.23.2 remote-as 2

 R2のBGPテーブルを確認すると、R1の4つのループバックへの経路が確認できます。

R2# show ip bgp
BGP table version is 21, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.0/24    192.168.12.1             0             0 1 i
 *>  172.16.1.0/24    192.168.12.1             0             0 1 i
 *>  172.16.2.0/24    192.168.12.1             0             0 1 i
 *>  172.16.3.0/24    192.168.12.1             0             0 1 i

 R3のBGPテーブルもR2と同様に4つのループバックへの経路が確認できます。

R3# show ip bgp
BGP table version is 5, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.0/24    192.168.23.2                           0 2 1 i
 *>  172.16.1.0/24    192.168.23.2                           0 2 1 i
 *>  172.16.2.0/24    192.168.23.2                           0 2 1 i
 *>  172.16.3.0/24    192.168.23.2                           0 2 1 i

172.16.0.0/24、172.16.1.0/24、172.16.2.0/24、172.16.3.0/24を集約したルートは 172.16.0.0/22となります。

では、R2でaggregate-addressコマンドにより172.16.0.0/22を設定します。今回は集約ルートのみを広告したいので、summary-onlyをつけます。

R2(config)# router bgp 2
R2(config-router)# aggregate-address 172.16.0.0 255.255.252.0 summary-only 

 R2のBGPテーブルを確認すると、個別ルートがs(suppressed)と表記され、抑制されていることがわかります。

R2# show ip bgp
BGP table version is 26, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 s>  172.16.0.0/24    192.168.12.1             0             0 1 i
 *>  172.16.0.0/22    0.0.0.0                            32768 i
 s>  172.16.1.0/24    192.168.12.1             0             0 1 i
 s>  172.16.2.0/24    192.168.12.1             0             0 1 i
 s>  172.16.3.0/24    192.168.12.1             0             0 1 I

 BGPテーブルの詳細を確認すると、この集約ルートは、R2のローカルで生成されていることが確認できます。

R2# show ip bgp 172.16.0.0 255.255.252.0
BGP routing table entry for 172.16.0.0/22, version 22
Paths: (1 available, best #1, table default)
  Advertised to update-groups:
     1         
  Refresh Epoch 1
  Local, (aggregated by 2 2.2.2.2)
    0.0.0.0 from 0.0.0.0 (2.2.2.2)
      Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-aggregate, best

 R2はR3に対して、集約ルートである172.16.0.0/22のみ広告されています。

R2# show ip bgp neighbors 192.168.23.3 advertised-routes 
BGP table version is 26, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.0/22    0.0.0.0                            32768 i

Total number of prefixes 1

 R3のBGPテーブルを確認すると、AS-PATH属性として、R2のAS番号2と認識されています。

R3# show ip bgp 
BGP table version is 10, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.0/22    192.168.23.2             0             0 2 i
R3# show ip bgp 172.16.0.0 255.255.252.0
BGP routing table entry for 172.16.0.0/22, version 10
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Refresh Epoch 2
  2, (aggregated by 2 2.2.2.2)
    192.168.23.2 from 192.168.23.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, external, atomic-aggregate, best

集約前の個別ルートはR1であるAS番号1から生成されているが、集約することにより、R3から見ると生成元であるAS番号1が消えていることが確認できます。

 個別ルートの生成元であるAS番号もAS-PATH属性として含めるには、summary-onlyと合わせて、as-setのオプションをつけます。

R2(config)# router bgp 2
R2(config-router)# aggregate-address 172.16.0.0 255.255.252.0 summary-only as-set

 R2のBGPテーブルを確認すると、AS-PATH属性にAS1と記録されています。

R2# show ip bgp 172.16.0.0 255.255.252.0
BGP routing table entry for 172.16.0.0/22, version 27
Paths: (1 available, best #1, table default)
  Advertised to update-groups:
     1         
  Refresh Epoch 1
  1, (aggregated by 2 2.2.2.2)
    0.0.0.0 from 0.0.0.0 (2.2.2.2)
      Origin IGP, localpref 100, weight 32768, valid, aggregated, local, best

R3のBGPテーブルを見ると、AS-PATHにAS1と2が存在することがわかります。

R3# show ip bgp     
BGP table version is 11, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.0/22    192.168.23.2             0             0 2 1 i
R3# show ip bgp 172.16.1.0 255.255.252.0
BGP routing table entry for 172.16.0.0/22, version 11
Paths: (1 available, best #1, table default)
  Not advertised to any peer
  Refresh Epoch 2
  2 1, (aggregated by 2 2.2.2.2)
    192.168.23.2 from 192.168.23.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, external, best

その他 BGP関連記事は   >>  ルーティングプロトコル(BGP)まとめ << より参照できます。

コメント