BGP(AS_PATH属性 その3)

 ここでは、先ほどの「BGP(AS_PATH属性 その2)」で構築したBGPネットワークにAS_PATHを設定していきます。

 Router_A上で、Router_Bに通知する「20.20.20.0」経路のAS_PATH属性に「100 100」を追加していきます。

AS_PATH属性の設定

「20.20.20.0」の経路に「100 100」を追加するには、ルートマップを使用します。

Router_Aに次のコマンドを追加します。

Router_A(config)#access-list 1 permit 20.20.20.0 0.0.0.255
Router_A(config)#route-map ADD_PATH permit 10
Router_A(config-route-map)#match ip address 1
Router_A(config-route-map)#set as-path prepend 100 100
Router_A(config-route-map)#route-map ADD_PATH permit 20
Router_A(config-route-map)#set as-path prepend

 作成したルートマップをRouter_Bとのネイバーに適用します。Router_Aからの送信時に適用するので、「out」を指定します。

Router_A(config)#router bgp 100
Router_A(config-router)#neighbor 172.16.0.2 route-map ADD_PATH out

設定が完了したら、BGPピアをリセットします。

Router_A#clear ip bgp *

Router_DのBGPテーブルを確認します。

Router_B、Router_C、Router_DのBGPテーブルを確認します。

●Router_BのBGPテーブル

Router_B#show ip bgp
BGP table version is 3, local router ID is 172.18.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.10.10.0/24    172.18.0.2                           0 400 300 100 i
*>                  172.16.0.1             0             0 100 i
*  20.20.20.0/24    172.18.0.2                           0 400 300 100 i
*>                  172.16.0.1             0             0 100 100 100 i

「20.20.20.0」の経路については、「172.16.0.1」と「172.18.0.2」を経由する2つのルートがあります。

 AS_PATHに「100 100」の2個追加したことで、「172.16.0.1」を経由するルートは、ASを「100→100→100」の3つを経由しなければならないため、AS_PATHを比較しても同じ距離です。

 iBGP経路より、eBGP経路の経路を優先するため、「172.16.0.1」を経由するルートがベストパスになっています。

●Router_CのBGPテーブル

Router_C#show ip bgp
BGP table version is 3, local router ID is 172.19.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.10.10.0/24    172.19.0.2                           0 400 200 100 i
*>                  172.17.0.1             0             0 100 i
*  20.20.20.0/24    172.19.0.2                           0 400 200 100 100 100 i
*>                  172.17.0.1             0             0 100 i

「20.20.20.0」の経路については、「172.17.0.1」と「172.19.0.2」を経由する2つのルートがあります。

 AS_PATHに「100 100」の2個追加したことで、「172.16.0.1」を経由するルートは、ASを「400→200→100→100→100」の5つを経由しなければならないため、AS_PATHを比較して、距離が短い「172.17.0.1」を経由するルートがベストパスになっています。

●Router_DのBGPテーブル

Router_D#show ip bgp
BGP table version is 14, local router ID is 172.19.0.2
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.10.10.0/24    172.19.0.1                           0 300 100 i
*>                  172.18.0.1                           0 200 100 i
*> 20.20.20.0/24    172.19.0.1                           0 300 100 i
*                   172.18.0.1                           0 200 100 100 100 i

「20.20.20.0」の経路については、「172.18.0.1」と「172.19.0.1」を経由する2つのルートがあります。

 AS_PATHに「100 100」の2個追加したことで、「172.16.0.1」を経由するルートは、ASを「200→100→100→100」の4つを経由しなければならないため、AS_PATHを比較して、距離が短い「172.19.0.1」を経由するルートがベストパスになっています。

このように、AS_PATHを操作することで、優先パスを操作することができます。