同じルーティングプロトコルから複数経路で、同一ルートを受信した場合、使用しているルーティングプロトコルのメトリックの仕様(OSPFならコスト、RIPならホップ数など)に基づき、最適な経路を選択します。
では、OSPFとRIPなど、異なる複数のルーティングプロトコルを使用している環境で、同じルート情報を受信した場合、最適な経路はどのように決定すればよいでしょうか。OSPFとRIPではメトリックが異なるため、それ自体で比較はできません。
ここで使用されるのが、アドミニストレーティブディスタンス(Administrative Distance:AD)です。
ADでは、ルーティングプロトコルの優先度が定義されており、値が小さい方が優先的にルーティングテーブルにインストールされます。
主なルーティングプロトコルの AD 値は以下の通りです。
プロトコル | AD値 |
Connected | 0 |
Static | 1 |
EIGRP 集約 | 5 |
eBGP | 20 |
EIGRP 内部 | 90 |
OSPF | 110 |
IS-IS | 115 |
RIP | 120 |
EIGRP 外部 | 170 |
iBGP | 200 |
例えば、同じルート情報をOSPFとRIPで学習した場合、OSPFは110、 RIPは120のため、OSPFの経路が優先され、ルーティングテーブルにインストールされます。
connectedの経路はAD=0で最優先となります。ルータに直結しているので、最も優先されます。
以下の構成を使って、順番にADの動作を確認していきます。
iBGP(AD値=200)
R3とR5を内部BGPでピアリングし、R3のLoopback23(23.23.23.23/32)をR5へ広告します。
R3(config)#router bgp 35 R3(config-router)#neighbor 192.168.35.5 remote-as 35 R3(config-router)#network 23.23.23.23 mask 255.255.255.255
R5(config)#router bgp 35 R5(config-router)#neighbor 192.168.35.3 remote-as 35
R5のルーティングテーブルを見ると、23.23.23.23をBGP経路として、学習しています。 リストの先頭にB と表示されているのはBGPの意味で、上部のヘルプの記載でも確認できます。 [200/0]の先頭の数字がAD値です。内部BGPですので、AD値は200です。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/32 is subnetted, 1 subnets B 23.23.23.23 [200/0] via 192.168.35.3, 00:00:50 〜 以降省略
ここから少しずつAD値の小さい23.23.23.23/32へのルートを追加していきます。
EIGRP外部(AD値=170) vs iBGP(AD値=200)
R2とR5をEIGRPを有効にし、R2のLoopback23(23.23.23.23/32)をEIGRPへ再配信することで、EIGRP外部経路としてR5へ広告します。
R2(config)# router eigrp 25 R2(config-router)# network 192.168.25.0 R2(config-router)# redistribute connected
R5(config)# router eigrp 25 R5(config-router)# network 192.168.25.0
R5のルーティングテーブルを見ると、23.23.23.23/32 がEIGRP外部(D EX)として、学習しています。
EIGRP外部のAD値は170、内部BGP経路のAD値200であり、同一ルート(23.23.23.23/32)に 関しては、EIGRP外部の方が優先されるため、内部BGP経路はルーティングテーブルから外されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/32 is subnetted, 1 subnets D EX 23.23.23.23 [170/156160] via 192.168.25.2, 00:02:04, FastEthernet0/0.25 〜 以降省略
RIP(AD値=120) vs EIGRP外部(AD値=170)
R3とR5でRIPを有効にし、R3のLoopback23(23.23.23.23/32)をR5へ広告します。
R3(config)#router rip R3(config-router)# version 2 R3(config-router)# network 23.0.0.0 R3(config-router)# network 192.168.35.0 R3(config-router)# no auto-summary
R5(config)#router rip R5(config-router)# version 2 R5(config-router)# network 192.168.35.0
R5のルーティングテーブルを見ると、23.23.23.23/32 をRIPとして学習しています。
RIPのAD値が120であり、EIGRP外部のAD値170より小さいため、RIPが優先されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/32 is subnetted, 1 subnets R 23.23.23.23 [120/1] via 192.168.35.3, 00:00:28, FastEthernet0/0.35 〜 以降省略
IS-IS(AD値=115) vs RIP(AD値=120)
R2とR5をIS-ISを有効にし、R2のLoopback23(23.23.23.23/32)をR5へ広告します。
R2(config)# router isis R2(config-router)# net 49.0025.0000.0000.0002.00 R2(config-router)# is-type level-1 R2(config-router)# exit R2(config)# interface Loopback23 R2(config-if)# ip router isis R2(config-if)# exit R2(config)# interface FastEthernet0/0.25 R2(config-subif)# ip router isis
R5(config)# router isis R5(config-router)# net 49.0025.0000.0000.0005.00 R5(config-router)# is-type level-1 R5(config-router)# exit R5(config)# interface FastEthernet0/0.25 R5(config-subif)# ip router isis
R5のルーティングテーブルを見ると、23.23.23.23/32 をIS-ISとして学習しています。
IS-ISのAD値は115であり、RIPのAD値120より小さいため、IS-ISが優先されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/32 is subnetted, 1 subnets i L1 23.23.23.23 [115/20] via 192.168.25.2, 00:11:52, FastEthernet0/0.25 〜 以降省略
OSPF(AD値=110) vs IS-IS(AD値=115)
R3とR5でOSPFを有効にし、R3のLoopback23(23.23.23.23/32)をR5へ広告します。
R3(config)# router ospf 1 R3(config-router)# network 192.168.35.0 0.0.0.255 area 0 R3(config-router)# network 23.23.23.23 0.0.0.0 area 0
R5(config)# router ospf 1 R5(config-router)# network 192.168.35.0 0.0.0.255 area 0
R5のルーティングテーブルを見ると、23.23.23.23/32 をOSPFとして学習しています。
OSPFのAD値が110であり、IS-ISのAD値115より小さいため、OSPFが優先されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/32 is subnetted, 1 subnets O 23.23.23.23 [110/2] via 192.168.35.3, 00:00:30, FastEthernet0/0.35 〜 以降省略
EIGRP(AD値=90) vs OSPF(AD値=110)
R2とR5をEIGRPを有効にし、R2のLoopback23(23.23.23.23/32)をR5へ広告します。
外部EIGRPの設定より、再配信(redistribute)の設定を削除し、networkコマンドで、23.23.23.23/32のインタフェースでEIGRPを有効にします。
R2(config)# router eigrp 25 R2(config-router)# no redistribute connected R2(config-router)# network 23.23.23.23
R5のルーティングテーブルを見ると、23.23.23.23/32 をEIGRPとして学習しています。
EIGRPのAD値は90であり、OSPFのAD値110より小さいため、EIGRPが優先されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/32 is subnetted, 1 subnets D 23.23.23.23 [90/156160] via 192.168.25.2, 00:00:24, FastEthernet0/0.25 〜 以降省略
eBGP(AD値=20) vs EIGRP(AD値=90)
R3とR5を外部BGPでピアリングし、R3のLoopback23(23.23.23.23/32)をR5へ広告します。
内部BGPの設定を削除し、外部BGPの設定を追加します。
R3(config)# no router bgp 35 R3(config)# router bgp 3 R3(config-router)# neighbor 192.168.35.5 remote-as 5 R3(config-router)# network 23.23.23.23 mask 255.255.255.255
R5(config)# no router bgp 35 R5(config)# router bgp 5 R5(config-router)# neighbor 192.168.35.3 remote-as 3
R5のルーティングテーブルを見ると、23.23.23.23/32 をBGPとして学習しています。
外部BGPのAD値は20であり、EIGRPのAD値90より小さいため、外部BGPが優先されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/32 is subnetted, 1 subnets B 23.23.23.23 [20/0] via 192.168.35.3, 00:00:15 〜 以降省略
EIGRP集約(AD値=5)
今までのようにルータ間でのAD比較ではなく、ここではR5単体で動作を確認します。 R5で、23.23.23.0/24のEIGRPの集約ルートを作成します
R5(config)# interface FastEthernet0/0.25 R5(config-subif)# ip summary-address eigrp 25 23.23.23.0 255.255.255.0
R5のルーティングテーブルを見ると、23.23.23.0/24 をEIGRPのNullルートが生成されています。 Nullルートは集約ルートを生成する際に自動で作成されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/8 is variably subnetted, 2 subnets, 2 masks D 23.23.23.0/24 is a summary, 00:02:24, Null0 B 23.23.23.23/32 [20/0] via 192.168.35.3, 00:01:22 〜 以降省略
このNullルートのAD値はルートを指定することで確認できます。
R5# show ip route 23.23.23.0
Routing entry for 23.23.23.0/24
Known via "eigrp 25", distance 5, metric 156160, type internal
Redistributing via eigrp 25
Routing Descriptor Blocks:
* directly connected, via Null0
Route metric is 156160, traffic share count is 1
Total delay is 5100 microseconds, minimum bandwidth is 100000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 0
Static(AD値=1) vs EIGRP集約(AD値=5)
最後に、23.23.23.0/24へのNullルートをスタティックに設定します。
R5(config)# ip route 23.23.23.0 255.255.255.0 null 0
R5のルーティングテーブルを見ると、23.23.23.0/24のNullルートはスタティックとして登録されています。
スタティックルートのAD値は1であり、EIGRP集約のNullルートのAD値5より小さいため、スタティックルートが優先されます。
R5# show ip route Codes: L - local, 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, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 23.0.0.0/8 is variably subnetted, 2 subnets, 2 masks S 23.23.23.0/24 is directly connected, Null0 B 23.23.23.23/32 [20/0] via 192.168.35.3, 00:03:58 〜 以降省略
NullルートのAD値は1であることが確認できます。
R5# show ip route 23.23.23.0
Routing entry for 23.23.23.0/24
Known via "static", distance 1, metric 0 (connected)
Routing Descriptor Blocks:
* directly connected, via Null0
Route metric is 0, traffic share count is 1
コメント