BGP MED(MULTI_EXIT_DISC)

この記事は約49分で読めます。

MEDはORIGINに次ぐ優先度を持つパスアトリビュートである。AS間の通信経路が複数存在する場合に、外部ASルータに対してどの通信経路を使用して自ASに通信が入ってきて欲しいか制御するために使用する。LOCAL_PREFが自AS内で共有する情報であることに対して、MEDは外部ASに対してアドバタイズする情報となる。アドバタイズされたMEDの値は隣接ASでのみ共有される。更にその先のASでは情報が保持されない。

検証ネットワーク構成

上記ネットワーク構成で、R1からR7への通信経路をR1⇒R3⇒R5の下の通信経路を通るようにMEDを使用して通信制御する。WEIGHT、LOCAL_PREFは使用しない。R2⇔R4、R3⇔R5間はOSPFネイバーを形成しないようにPassive Interfaceを設定する。R1~R6はC891FJ-K9 15.8(3)M6、R7はWS-C3560-8PC-S 15.0(2)SE9を使用。

設定変更前の各ルータのBGPテーブル

R1はeBGPで経路情報を学習している。R2~R7の生成した経路情報は「先に受信した経路情報を優先」する法則に従い学習している。R3を除き、正常時はR2経由の上を通る通信経路を使用している。

R1#show run | sect bgp
router bgp 100
 bgp router-id 1.1.1.1
 bgp log-neighbor-changes
 network 1.1.1.1 mask 255.255.255.255
 neighbor 10.0.10.2 remote-as 200
 neighbor 10.0.20.2 remote-as 200
R1#
R1#show ip bgp
BGP table version is 29, 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, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   1.1.1.1/32       0.0.0.0                  0         32768 i
 *    2.2.2.2/32       10.0.20.2                              0 200 i
 *>                    10.0.10.2                0             0 200 i
 *    3.3.3.3/32       10.0.10.2                              0 200 i
 *>                    10.0.20.2                0             0 200 i
 *    4.4.4.4/32       10.0.20.2                              0 200 400 i
 *>                    10.0.10.2                              0 200 400 i
 *    5.5.5.5/32       10.0.20.2                              0 200 400 i
 *>                    10.0.10.2                              0 200 400 i
 *    6.6.6.6/32       10.0.20.2                              0 200 400 i
 *>                    10.0.10.2                              0 200 400 i
 *    7.7.7.7/32       10.0.20.2                              0 200 400 i
 *>                    10.0.10.2                              0 200 400 i

R2はR1,R4~R7の生成した経路情報をeBGPで学習したものをベストパスに選ぶ。R3からiBGPでも経路情報を学習しているが、ベストパス選択の法則にて「iBGPパスよりもeBGPパスの方が優先される」。R3の生成した経路情報はiBGPとOSPFの2つで学習しているが、AD値がより小さいOSPFで学習した経路情報を優先しているため、r(RIB-failure)の表記が見て取れる。

R2#show run | sect bgp
router bgp 200
 bgp router-id 2.2.2.2
 bgp log-neighbor-changes
 network 2.2.2.2 mask 255.255.255.255
 neighbor 10.0.10.1 remote-as 100
 neighbor 10.0.30.2 remote-as 400
 neighbor 10.0.100.2 remote-as 200
R2#
R2#show ip bgp
BGP table version is 37, 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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i  1.1.1.1/32       10.0.20.1                0    100      0 100 i
 *>                    10.0.10.1                0             0 100 i
 *>   2.2.2.2/32       0.0.0.0                  0         32768 i
 r>i  3.3.3.3/32       10.0.100.2               0    100      0 i
 * i  4.4.4.4/32       10.0.40.2                0    100      0 400 i
 *>                    10.0.30.2                0             0 400 i
 * i  5.5.5.5/32       10.0.40.2                0    100      0 400 i
 *>                    10.0.30.2                              0 400 i
 * i  6.6.6.6/32       10.0.40.2                0    100      0 400 i
 *>                    10.0.30.2                              0 400 i
 * i  7.7.7.7/32       10.0.40.2                0    100      0 400 i
 *>                    10.0.30.2                              0 400 i

R3もR2と同様である。eBGPで学習した経路情報をベストパスに選ぶ。R2の生成した経路情報はiBGPとOSPFの2つで学習するが、AD値がより小さいOSPFを優先するため、RIB-failureとなる。

R3#show run | sect bgp
router bgp 200
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 network 3.3.3.3 mask 255.255.255.255
 neighbor 10.0.20.1 remote-as 100
 neighbor 10.0.40.2 remote-as 400
 neighbor 10.0.100.1 remote-as 200
R3#
R3#show ip bgp
BGP table version is 9, 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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i  1.1.1.1/32       10.0.10.1                0    100      0 100 i
 *>                    10.0.20.1                0             0 100 i
 r>i  2.2.2.2/32       10.0.100.1               0    100      0 i
 *>   3.3.3.3/32       0.0.0.0                  0         32768 i
 * i  4.4.4.4/32       10.0.30.2                0    100      0 400 i
 *>                    10.0.40.2                              0 400 i
 * i  5.5.5.5/32       10.0.30.2                0    100      0 400 i
 *>                    10.0.40.2                0             0 400 i
 * i  6.6.6.6/32       10.0.30.2                0    100      0 400 i
 *>                    10.0.40.2                              0 400 i
 * i  7.7.7.7/32       10.0.30.2                0    100      0 400 i
 *>                    10.0.40.2                              0 400 i

R4はR1~R3の生成した経路情報をeBGPとiBGPの両方で学習するが、ベストパス選択の法則にて「iBGPパスよりもeBGPパスの方が優先される」。R5~R7の生成した経路情報はiBGPで学習する。ベストパスに選ばれた理由を特定するにはshow ip bgp <IPアドレス>を実行しないと判断できない。

R4#show run | sect bgp
router bgp 400
 bgp router-id 4.4.4.4
 bgp log-neighbor-changes
 network 4.4.4.4 mask 255.255.255.255
 neighbor 10.0.30.1 remote-as 200
 neighbor 10.0.50.2 remote-as 400
 neighbor 10.0.70.2 remote-as 400
R4#
R4#show ip bgp
BGP table version is 76, local router ID is 4.4.4.4
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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   1.1.1.1/32       10.0.30.1                              0 200 100 i
 *>   2.2.2.2/32       10.0.30.1                0             0 200 i
 *>   3.3.3.3/32       10.0.30.1                              0 200 i
 *>   4.4.4.4/32       0.0.0.0                  0         32768 i
 r i  5.5.5.5/32       10.0.60.1                0    100      0 i
 r>i                   10.0.80.1                0    100      0 i
 r i  6.6.6.6/32       10.0.90.1                0    100      0 i
 r>i                   10.0.50.2                0    100      0 i
 r>i  7.7.7.7/32       10.0.70.2                0    100      0 i
 r i                   10.0.90.2                0    100      0 i
R4#
R4#show ip bgp 5.5.5.5
BGP routing table entry for 5.5.5.5/32, version 64
Paths: (2 available, best #2, table default, RIB-failure(17))
  Advertised to update-groups:
     13
  Refresh Epoch 1
  Local
    10.0.60.1 (metric 2) from 10.0.70.2 (7.7.7.7) ⇒メトリックが同じで勝負がつかない。
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 5.5.5.5, Cluster list: 7.7.7.7 ⇒Originatorが同じで勝負がつかない。
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
  Local
    10.0.80.1 (metric 2) from 10.0.50.2 (6.6.6.6) ⇒メトリックが同じで勝負がつかない。
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Originator: 5.5.5.5, Cluster list: 6.6.6.6 ⇒Originatorが同じで勝負がつかない。
      rx pathid: 0, tx pathid: 0x0
⇒BGP Neighbor Addressが小さい方がベストパスとなる。10.0.50.2経由のものがベストパス。

R5はR4と同様である。R1~R3の生成した経路情報はeBGPで学習したものをベストパスとする。R4,R6,R7の生成したiBGPの経路情報については、ベストパス理由を特定するにはshow ip bgp <IPアドレス>を実行しないと確認できない。

R5#show run | sect bgp
router bgp 400
 bgp router-id 5.5.5.5
 bgp log-neighbor-changes
 network 5.5.5.5 mask 255.255.255.255
 neighbor 10.0.40.1 remote-as 200
 neighbor 10.0.60.2 remote-as 400
 neighbor 10.0.80.2 remote-as 400
R5#
R5#show ip bgp
BGP table version is 45, local router ID is 5.5.5.5
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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   1.1.1.1/32       10.0.40.1                              0 200 100 i
 * i                   10.0.30.1                0    100      0 200 100 i
 * i                   10.0.30.1                0    100      0 200 100 i
 *>   2.2.2.2/32       10.0.40.1                              0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 * i  3.3.3.3/32       10.0.30.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 *>                    10.0.40.1                0             0 200 i
 r>i  4.4.4.4/32       10.0.70.1                0    100      0 i
 r i                   10.0.50.1                0    100      0 i
 *>   5.5.5.5/32       0.0.0.0                  0         32768 i
 r i  6.6.6.6/32       10.0.90.1                0    100      0 i
 r>i                   10.0.80.2                0    100      0 i
 r>i  7.7.7.7/32       10.0.60.2                0    100      0 i
 r i                   10.0.90.2                0    100      0 i

R6は全ての経路情報をiBGPで学習する。show ip bgpの出力結果のNEXT_HOP属性(10.0.30.1)を見ることで、R1~R3への出口はR4経由となっていることが確認できる。R4,R5同様にベストパス理由を特定するにはshow ip bgp <IPアドレス>を実行しないと確認できない。

R6#show run | sect bgp
router bgp 400
 bgp router-id 6.6.6.6
 bgp log-neighbor-changes
 network 6.6.6.6 mask 255.255.255.255
 neighbor 10.0.50.1 remote-as 400
 neighbor 10.0.50.1 route-reflector-client
 neighbor 10.0.80.1 remote-as 400
 neighbor 10.0.80.1 route-reflector-client
 neighbor 10.0.90.2 remote-as 400
R6#
R6#show ip bgp
BGP table version is 25, local router ID is 6.6.6.6
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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i  1.1.1.1/32       10.0.40.1                0    100      0 200 100 i
 *>i                   10.0.30.1                0    100      0 200 100 i
 * i                   10.0.30.1                0    100      0 200 100 i
 * i  2.2.2.2/32       10.0.40.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 *>i                   10.0.30.1                0    100      0 200 i
 *>i  3.3.3.3/32       10.0.30.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 * i                   10.0.40.1                0    100      0 200 i
 r i  4.4.4.4/32       10.0.70.1                0    100      0 i
 r>i                   10.0.50.1                0    100      0 i
 r i  5.5.5.5/32       10.0.60.1                0    100      0 i
 r>i                   10.0.80.1                0    100      0 i
 *>   6.6.6.6/32       0.0.0.0                  0         32768 i
 r>i  7.7.7.7/32       10.0.90.2                0    100      0 i

R7もR6と同様である。show ip bgpの出力結果のNEXT_HOP属性(10.0.30.1)を見ることで、R1~R3への出口はR4経由となっていることが確認できる。

R7#show run | sect bgp
router bgp 400
 bgp router-id 7.7.7.7
 bgp log-neighbor-changes
 network 7.7.7.7 mask 255.255.255.255
 neighbor 10.0.60.1 remote-as 400
 neighbor 10.0.60.1 route-reflector-client
 neighbor 10.0.70.1 remote-as 400
 neighbor 10.0.70.1 route-reflector-client
 neighbor 10.0.90.1 remote-as 400
R7#
R7#show ip bgp
BGP table version is 59, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, x best-external, f RT-Filter
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
* i1.1.1.1/32       10.0.40.1                0    100      0 200 100 i
*>i                 10.0.30.1                0    100      0 200 100 i
* i                 10.0.30.1                0    100      0 200 100 i
* i2.2.2.2/32       10.0.40.1                0    100      0 200 i
*>i                 10.0.30.1                0    100      0 200 i
* i                 10.0.30.1                0    100      0 200 i
*>i3.3.3.3/32       10.0.30.1                0    100      0 200 i
* i                 10.0.30.1                0    100      0 200 i
* i                 10.0.40.1                0    100      0 200 i
r>i4.4.4.4/32       10.0.70.1                0    100      0 i
r i                 10.0.50.1                0    100      0 i
r i5.5.5.5/32       10.0.80.1                0    100      0 i
r>i                 10.0.60.1                0    100      0 i
r>i6.6.6.6/32       10.0.90.1                0    100      0 i
*> 7.7.7.7/32       0.0.0.0                  0         32768 i
R7#
R7#show ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 55
Paths: (3 available, best #2, table default)
  Advertised to update-groups:
     16         17
  200 100, (Received from a RR-client)
    10.0.40.1 (metric 2) from 10.0.60.1 (5.5.5.5)
      Origin IGP, metric 0, localpref 100, valid, internal
  200 100, (Received from a RR-client)
    10.0.30.1 (metric 2) from 10.0.70.1 (4.4.4.4)
      Origin IGP, metric 0, localpref 100, valid, internal, best
  200 100
    10.0.30.1 (metric 2) from 10.0.90.1 (6.6.6.6)
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 4.4.4.4, Cluster list: 6.6.6.6

MEDの設定

MEDは外部ASに通知するパスアトリビュートであるため、AS境界ルータで設定する。MEDのデフォルト値は0であり、数字が低いほど優先される。従って、R2、R4でMEDの値を0より大きな値に調整することで下段の経路を通るようにする。MEDの値はASの先の先には伝わらないため、R2ではR1,R4の2ルータに対して設定が必要となる。

R2の設定変更内容は以下の通り。route-mapの空打ちを行わなければ、BGPピアに対してアドバタイズされる経路情報がPrefix-Listで定義したプレフィックスのみとなってしまうことに注意する。

設定変更後は設定反映を行うため、自ルータか隣接ルータにてclear ip bgp <IPアドレス> soft <in/out>コマンドによるソフトリセットが必要になる。

##### Prefix-Listの定義 #####
R2(config)#ip prefix-list Change-MED-To-R1 seq 10 permit 7.7.7.7/32
R2(config)#ip prefix-list Change-MED-To-R4 seq 10 permit 1.1.1.1/32

##### route-mapの定義 #####
R2(config)#route-map Change-MED-To-R1 permit 10
R2(config-route-map)#match ip address prefix-list Change-MED-To-R1
R2(config-route-map)#set metric ?
  +/-<metric>     Add or subtract metric
  <0-4294967295>  Metric value or Bandwidth in Kbits per second
R2(config-route-map)#set metric 1000
R2(config-route-map)#exit
R2(config)#route-map Change-MED-To-R1 permit 20 ⇒route-mapの空打ち
R2(config-route-map)#exit
R2(config)#route-map Change-MED-To-R4 permit 10
R2(config-route-map)#match ip address prefix-list Change-MED-To-R4
R2(config-route-map)#set metric 1000
R2(config-route-map)#exit
R2(config)#route-map Change-MED-To-R4 permit 20 ⇒route-mapの空打ち
R2(config-route-map)#exit

##### route-mapをout方向に設定 #####
R2(config)#router bgp 200
R2(config-router)#neighbor 10.0.10.1 route-map Change-MED-To-R1 out
R2(config-router)#neighbor 10.0.30.2 route-map Change-MED-To-R4 out
R2(config-router)#end

R4の設定変更内容は以下の通り。R2同様、設定反映にはソフトリセットが必要になる。

##### Prefix-Listの定義 #####
R4(config)#ip prefix-list Change-MED-To-R2 seq 10 permit 7.7.7.7/32

##### route-mapの定義 #####
R4(config)#route-map Change-MED-To-R2 permit 10
R4(config-route-map)#match ip address prefix-list Change-MED-To-R2
R4(config-route-map)#set metric 1000
R4(config-route-map)#exit
R4(config)#route-map Change-MED-To-R2 permit 20 ⇒route-mapの空打ち
R4(config-route-map)#exit


##### route-mapをout方向に設定 #####
R4(config)#router bgp 400
R4(config-router)#neighbor 10.0.30.1 route-map Change-MED-To-R2 out
R4(config-router)#end

設定変更後の各ルータのBGPテーブル

R1のBGPテーブルは以下の通り。7.7.7.7/32への通信経路がR3経由(NEXT_HOPが10.0.20.2)になっていることが確認できる。TracerouteでもR1⇒R3⇒R5⇒R7を通っていることが確認できる。

R1#show ip bgp
BGP table version is 30, 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, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   1.1.1.1/32       0.0.0.0                  0         32768 i
 *    2.2.2.2/32       10.0.20.2                              0 200 i
 *>                    10.0.10.2                0             0 200 i
 *    3.3.3.3/32       10.0.10.2                              0 200 i
 *>                    10.0.20.2                0             0 200 i
 *    4.4.4.4/32       10.0.20.2                              0 200 400 i
 *>                    10.0.10.2                              0 200 400 i
 *    5.5.5.5/32       10.0.20.2                              0 200 400 i
 *>                    10.0.10.2                              0 200 400 i
 *    6.6.6.6/32       10.0.20.2                              0 200 400 i
 *>                    10.0.10.2                              0 200 400 i
 *>   7.7.7.7/32       10.0.20.2                              0 200 400 i
 *                     10.0.10.2             1000             0 200 400 i
R1#traceroute 7.7.7.7 source 1.1.1.1
Type escape sequence to abort.
Tracing the route to 7.7.7.7
VRF info: (vrf in name/id, vrf out name/id)
  1 10.0.20.2 0 msec 0 msec 0 msec
  2 10.0.40.2 4 msec 0 msec 0 msec
  3 10.0.60.2 4 msec *  0 msec

R2のBGPテーブルは以下の通り。R2には7.7.7.7/32宛のパケットが着信することはないものの、7.7.7.7/32への通信経路がR3経由(NEXT_HOPが10.0.40.2)でiBGPで学習していることが確認できる。「iBGPパスよりもeBGPパスの方が優先される」法則はMEDの比較の後に行われるため、MEDの値を悪くすることで、例えiBGPで学習した経路情報でもeBGPよりも優先度を大きくできる。

R2#show ip bgp
BGP table version is 38, 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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i  1.1.1.1/32       10.0.20.1                0    100      0 100 i
 *>                    10.0.10.1                0             0 100 i
 *>   2.2.2.2/32       0.0.0.0                  0         32768 i
 r>i  3.3.3.3/32       10.0.100.2               0    100      0 i
 * i  4.4.4.4/32       10.0.40.2                0    100      0 400 i
 *>                    10.0.30.2                0             0 400 i
 * i  5.5.5.5/32       10.0.40.2                0    100      0 400 i
 *>                    10.0.30.2                              0 400 i
 * i  6.6.6.6/32       10.0.40.2                0    100      0 400 i
 *>                    10.0.30.2                              0 400 i
 *>i  7.7.7.7/32       10.0.40.2                0    100      0 400 i
 *                     10.0.30.2             1000             0 400 i  --->MEDが1000(悪い)

R3のBGPテーブルは以下の通り。7.7.7.7/32のエントリが1行消えたが、通信経路は変化無し。消えたエントリはNEXT_HOPが10.0.30.2のR2からアドバタイズされたiBGPルート。消えた原因は謎。

R3#show ip bgp
BGP table version is 9, 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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i  1.1.1.1/32       10.0.10.1                0    100      0 100 i
 *>                    10.0.20.1                0             0 100 i
 r>i  2.2.2.2/32       10.0.100.1               0    100      0 i
 *>   3.3.3.3/32       0.0.0.0                  0         32768 i
 * i  4.4.4.4/32       10.0.30.2                0    100      0 400 i
 *>                    10.0.40.2                              0 400 i
 * i  5.5.5.5/32       10.0.30.2                0    100      0 400 i
 *>                    10.0.40.2                0             0 400 i
 * i  6.6.6.6/32       10.0.30.2                0    100      0 400 i
 *>                    10.0.40.2                              0 400 i
 *>   7.7.7.7/32       10.0.40.2                              0 400 i

R4のBGPテーブルは以下の通り。1.1.1.1/32への通信経路がR5経由(NEXT_HOPが10.0.40.1)でiBGPで学習していることが確認できる。

R4#show ip bgp
BGP table version is 78, local router ID is 4.4.4.4
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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i  1.1.1.1/32       10.0.40.1                0    100      0 200 100 i
 *>i                   10.0.40.1                0    100      0 200 100 i
 *                     10.0.30.1             1000             0 200 100 i --->MEDが1000(悪い)
 *>   2.2.2.2/32       10.0.30.1                0             0 200 i
 *>   3.3.3.3/32       10.0.30.1                              0 200 i
 *>   4.4.4.4/32       0.0.0.0                  0         32768 i
 r i  5.5.5.5/32       10.0.60.1                0    100      0 i
 r>i                   10.0.80.1                0    100      0 i
 r i  6.6.6.6/32       10.0.90.1                0    100      0 i
 r>i                   10.0.50.2                0    100      0 i
 r>i  7.7.7.7/32       10.0.70.2                0    100      0 i
 r i                   10.0.90.2                0    100      0 i

R5のBGPテーブルは以下の通り。1.1.1.1/32のエントリが2行消えているが、ベストパスは変更無し。消えたエントリは2つともNEXT_HOPが10.0.30.1でR4経由のもの。消えた原因は謎。

R5#show ip bgp
BGP table version is 45, local router ID is 5.5.5.5
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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>   1.1.1.1/32       10.0.40.1                              0 200 100 i
 *>   2.2.2.2/32       10.0.40.1                              0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 * i  3.3.3.3/32       10.0.30.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 *>                    10.0.40.1                0             0 200 i
 r>i  4.4.4.4/32       10.0.70.1                0    100      0 i
 r i                   10.0.50.1                0    100      0 i
 *>   5.5.5.5/32       0.0.0.0                  0         32768 i
 r i  6.6.6.6/32       10.0.90.1                0    100      0 i
 r>i                   10.0.80.2                0    100      0 i
 r>i  7.7.7.7/32       10.0.60.2                0    100      0 i
 r i                   10.0.90.2                0    100      0 i

R6のBGPテーブルは以下の通り。1.1.1.1/32への通信経路がR5経由(NEXT_HOPが10.0.40.1)になっていることが確認できる。TracerouteもR6⇒R5⇒R3⇒R1になっていることが確認できる。

※1.1.1.1/32のエントリが1行消えている。消えたエントリはNEXT_HOPが10.0.30.1のiBGPルート。原因は謎。

R6#show ip bgp
BGP table version is 27, local router ID is 6.6.6.6
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,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i  1.1.1.1/32       10.0.40.1                0    100      0 200 100 i
 *>i                   10.0.40.1                0    100      0 200 100 i
 * i  2.2.2.2/32       10.0.40.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 *>i                   10.0.30.1                0    100      0 200 i
 *>i  3.3.3.3/32       10.0.30.1                0    100      0 200 i
 * i                   10.0.30.1                0    100      0 200 i
 * i                   10.0.40.1                0    100      0 200 i
 r i  4.4.4.4/32       10.0.70.1                0    100      0 i
 r>i                   10.0.50.1                0    100      0 i
 r i  5.5.5.5/32       10.0.60.1                0    100      0 i
 r>i                   10.0.80.1                0    100      0 i
 *>   6.6.6.6/32       0.0.0.0                  0         32768 i
 r>i  7.7.7.7/32       10.0.90.2                0    100      0 i
R6#
R6#show ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 27
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     4          5
  Refresh Epoch 1
  200 100
    10.0.40.1 (metric 2) from 10.0.90.2 (7.7.7.7)
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 5.5.5.5, Cluster list: 7.7.7.7
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 3
  200 100, (Received from a RR-client)
    10.0.40.1 (metric 2) from 10.0.80.1 (5.5.5.5)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
R6#
R6#traceroute 1.1.1.1 source 6.6.6.6
Type escape sequence to abort.
Tracing the route to 1.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 10.0.80.1 0 msec 0 msec 4 msec
  2 10.0.40.1 0 msec 0 msec 4 msec
  3 10.0.20.1 0 msec *  0 msec

R7のBGPテーブルは以下の通り。R6と同様に1.1.1.1/32への通信経路がR5経由(NEXT_HOPが10.0.40.1)になっていることが確認できる。

※WS-C3560-8PC-S 15.0(2)SE9は送信元インタフェース(IPアドレス)を指定してTracerouteを実行できないが、ファーストホップはR5を通っていることを確認できる。

※R6と同様に1.1.1.1/32のエントリが1行消えている。消えたエントリはNEXT_HOPが10.0.30.1のiBGPルート。原因は謎。

R7#show ip bgp
BGP table version is 61, local router ID is 7.7.7.7
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, x best-external, f RT-Filter
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
* i1.1.1.1/32       10.0.40.1                0    100      0 200 100 i
*>i                 10.0.40.1                0    100      0 200 100 i
* i2.2.2.2/32       10.0.40.1                0    100      0 200 i
*>i                 10.0.30.1                0    100      0 200 i
* i                 10.0.30.1                0    100      0 200 i
*>i3.3.3.3/32       10.0.30.1                0    100      0 200 i
* i                 10.0.30.1                0    100      0 200 i
* i                 10.0.40.1                0    100      0 200 i
r>i4.4.4.4/32       10.0.70.1                0    100      0 i
r i                 10.0.50.1                0    100      0 i
r i5.5.5.5/32       10.0.80.1                0    100      0 i
r>i                 10.0.60.1                0    100      0 i
r>i6.6.6.6/32       10.0.90.1                0    100      0 i
*> 7.7.7.7/32       0.0.0.0                  0         32768 i
R7#
R7#show ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 61
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     16         17
  200 100
    10.0.40.1 (metric 2) from 10.0.90.1 (6.6.6.6)
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 5.5.5.5, Cluster list: 6.6.6.6
  200 100, (Received from a RR-client)
    10.0.40.1 (metric 2) from 10.0.60.1 (5.5.5.5)
      Origin IGP, metric 0, localpref 100, valid, internal, best
R7#
R7#traceroute 1.1.1.1 ?
  <cr>
R7#traceroute 1.1.1.1
Type escape sequence to abort.
Tracing the route to 1.1.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 10.0.60.1 8 msec 0 msec 0 msec
  2  *  *  *
  3  *  *  *
  4  *  *  *

MEDの評価に影響するbgp non deterministic med、bgp deterministic med、bgp always compare medについては別途検証予定。

以上

コメント

タイトルとURLをコピーしました