- RT-A、RT-B をネットワーク構成図に示す通り設定しなさい。
< RT-A >
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# host RT-A
RT-A(config)# int f0/0
RT-A(config-if)# ip add 192.168.1.1 255.255.255.0
RT-A(config-if)# no shut
RT-A(config-if)# int f0/1
RT-A(config-if)# ip add 192.168.2.1 255.255.255.0
RT-A(config-if)# no shut
RT-A(config-if)# ^Z
RT-A#
< RT-B >
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# host RT-B
RT-B(config)# int f0/0
RT-B(config-if)# ip add 192.168.2.2 255.255.255.0
RT-B(config-if)# no shut
RT-B(config-if)# int f0/1
RT-B(config-if)# ip add 192.168.3.2 255.255.255.0
RT-B(config-if)# no shut
RT-B(config-if)# ^Z
RT-B#
- RT-A で RIPv1 を設定しなさい。
< RT-A >
RT-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-A(config)# router rip
RT-A(config-router)# network 192.168.1.0
RT-A(config-router)# network 192.168.2.0
RT-A(config-router)# ^Z
RT-A#
このネットワークには、次の3つのネットワークがあります。
スタティックルートの場合、ルータの知らないネットワークをルータに設定しましたが、ダイナミックルーティングプロトコルの場合、ルータの知っているネットワークをルータに設定します。ルータの知っているネットワークとは、ルータに直接接続しているネットワークのことで、RT-A では 192.168.1.0/24 と 192.168.2.0/24 の2つのネットワークになります。
まず、router rip コマンドで RIP を有効にします。次に、network コマンドで RIP のルーティングアップデートを行うインターフェイスを指定 (どのインターフェイスで RIP を動作させるかを指定) します。ここで注意しなければいけないのは、RIP (RIPv1、RIPv2共に) の場合、network コマンドで指定するのはクラスフルなネットワークアドレスでなければならないということです。(ただし、実際にはクラスフルなネットワーク以外で network コマンドを実行しても、ルータが勝手にクラスフルなネットワークに変更します。)
そしてルータは、network コマンドで指定したクラスフルネットワークの範囲に含まれるインターフェイスでルーティングアップデートを送受信します。
- RT-B で RIPv1 を設定しなさい。
< RT-B >
RT-B# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-B(config)# router rip
RT-B(config-router)# network 192.168.2.0
RT-B(config-router)# network 192.168.3.0
RT-B(config-router)# ^Z
RT-B#
- RT-A、RT-B の running-config を確認しなさい。
< RT-A >
RT-A# sh run | section rip ← sh run の rip セクションのみを表示
router rip
network 192.168.1.0
network 192.168.2.0
RT-A#
< RT-B >
RT-B# sh run | section rip ← sh run の rip セクションのみを表示
router rip
network 192.168.2.0
network 192.168.3.0
RT-B#
- PC-A、PC-B をネットワーク構成図に示す通り設定しなさい。
< PC-A >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.10 255.255.255.0 192.168.1.1
C:\> ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.10
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.1.1
C:\>
< PC-B >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.3.10 255.255.255.0 192.168.3.2
C:\> ipconfig
Windows IP 構成
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.3.10
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.3.2
C:\>
全ての PC は ping 着信許可の設定を行っているものとします。
- RT-A のルーティングテーブルを表示させなさい。
< RT-A >
RT-A# sh ip route | begin Gateway
Gateway of last resort is not set
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, FastEthernet0/0
L 192.168.1.1/32 is directly connected, FastEthernet0/0
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, FastEthernet0/1
L 192.168.2.1/32 is directly connected, FastEthernet0/1
R 192.168.3.0/24 [120/1] via 192.168.2.2, 00:00:06, FastEthernet0/1 ← RT-B から学習した 192.168.3.0/24 宛てのルート
RT-A#
先頭に「R」のあるルートエントリが RIP を使って学習したルートです。
■ ルート情報
宛先ネットワークへ行くための情報がルーティングテーブルのルートエントリです。
宛先ネットワークへ行くには、次にどこに行かなければいけないのか、どのくらい先に宛先ネットワークがあるのかなどがわかります。
■ アドミニストレーティブディスタンス と メトリック
[120/1] はアドミニストレーティブディスタンスの値と、メトリックの値です。
複数のルーティングプロトコル (例えば、RIP と OSPF) を設定した場合、宛先ネットワークへの経路情報を複数のルーティングプロトコルを使って学習することになります。このような場合、どのルーティングプロトコルで学習した経路情報を実際に使えばいいのかを判断するために使われるのがアドミニストレーティブディスタンスです。アドミニストレーティブディスタンスは、それぞれのルーティングソースの信頼性を評価するために使われます。アドミニストレーティブディスタンスの値が小さい方を信頼性が高いと判断します。
例えば、RIP のアドミニストレーティブディスタンス値は 120 で、OSPF のアドミニストレーティブディスタンス値は 110 です。そのため、RIP を使って学習したルートよりも、OSPF を使って学習したルートの方が信頼性が高いと判断して、ルーティングテーブルには OSPF で学習したルートを採用します。
※ ただし、同じ宛先であってもプレフィックス長(サブネットマスク)が異なると別の宛先であると見なされ、異なるルーティングプロトコルのルートエントリがルーティングテーブルに載ることがあります。これに関してはもっと後のシナリオで行います。
アドミニストレーティブディスタンスは変更可能ですが、デフォルトでは下記の通りです。
「0」が最も信頼性が高いと判断します。直接接続しているインターフェイスですから当然ですね。
C | 直接接続されたインターフェイス | 0 |
S | スタティックルート | 1 |
D | EIGRP | 90 |
O | OSPF | 110 |
R | RIP | 120 |
メトリックは、同じ宛先に複数のルートで到達できる場合に、どのルートを通って宛先に行くのが一番近いかという優先度を表す値で、小さい方が優先度が高いと判断します。RIP の場合のメトリックは、その宛先までに中継するルータの数 (ホップ数) になり、スタティックルートの場合は「0」固定です。ホップ数については次のシナリオで説明します。
アドミニストレーティブディスタンスは複数のルーティングプロトコル (直接接続やスタティックも含めて) がある場合にどのルーティングプロトコルが信頼性が高いかの判断基準ですが、メトリックは1つのルーティングプロトコルでの判断基準です。
例えば、RIP と OSPF の両方を使用していた場合、A から D へのルートに OSPF から学習したルートと、RIP から学習したルートがあったとします。まず、アドミニストレーティブディスタンス値の低い OSPF が信頼性が高いと判断し、OSPF が選択されます。そして、A から D へのルートに、A→B→D と A→C→D の2つのルートがあった場合、どちらのルートを採用するかはメトリック値で決定します。
アドミニストレーティブディスタンス | ルーティングプロトコルの選択 |
メトリック | ルートの選択 |
- RT-B のルーティングテーブルを表示させなさい。
RT-B# sh ip route | begin Gateway
Gateway of last resort is not set
R 192.168.1.0/24 [120/1] via 192.168.2.1, 00:00:26, FastEthernet0/0 ← RT-A から学習した 192.168.1.0/24 宛てのルート
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, FastEthernet0/0
L 192.168.2.2/32 is directly connected, FastEthernet0/0
192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.3.0/24 is directly connected, FastEthernet0/1
L 192.168.3.2/32 is directly connected, FastEthernet0/1
RT-B#
- PC-A からPC-B へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.3.10
192.168.3.10 に ping を送信しています 32 バイトのデータ:
192.168.3.10 からの応答: バイト数 =32 時間 =1ms TTL=126
192.168.3.10 からの応答: バイト数 =32 時間 =2ms TTL=126
192.168.3.10 からの応答: バイト数 =32 時間 =2ms TTL=126
192.168.3.10 からの応答: バイト数 =32 時間 =1ms TTL=126
192.168.3.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 2ms、平均 = 1ms
C:\>