- 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#
- 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 着信許可の設定を行っているものとします。
- PC-A から PC-B へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.3.10
192.168.3.10 に ping を送信しています 32 バイトのデータ:
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.3.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
C:\>
PC-B のIPアドレス 192.168.3.10 への ping は失敗しました。
では PC-A に近い方から順に ping で確かめていきましょう。
- PC-A から RT-A の F0/0 へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.1.1
192.168.1.1 に ping を送信しています 32 バイトのデータ:
192.168.1.1 からの応答: バイト数 =32 時間 =2ms TTL=255
192.168.1.1 からの応答: バイト数 =32 時間 =1ms TTL=255
192.168.1.1 からの応答: バイト数 =32 時間 =1ms TTL=255
192.168.1.1 からの応答: バイト数 =32 時間 =1ms TTL=255
192.168.1.1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 2ms、平均 = 1ms
C:\>
RT-A の F0/0 のIPアドレス 192.168.1.1 への ping は成功しています。
- PC-A から RT-A の F0/1 へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.2.1
192.168.2.1 に ping を送信しています 32 バイトのデータ:
192.168.2.1 からの応答: バイト数 =32 時間 =2ms TTL=255
192.168.2.1 からの応答: バイト数 =32 時間 =1ms TTL=255
192.168.2.1 からの応答: バイト数 =32 時間 =1ms TTL=255
192.168.2.1 からの応答: バイト数 =32 時間 =1ms TTL=255
192.168.2.1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 2ms、平均 = 1ms
C:\>
RT-A の F0/1 のIPアドレス 192.168.2.1 への ping は成功しています。
- PC-A から RT-B の F0/0 へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.2.2
192.168.2.2 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
192.168.2.2 の ping 統計:
パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、
C:\>
RT-B の F0/0 のIPアドレス 192.168.2.2 への ping は失敗しました。
では、何故 ping が失敗したのでしょうか?
- RT-A のルーティングテーブルを表示させなさい。
< RT-A >
RT-A# sh ip route | begin Gateway ← sh ip route の Gateway の文字のある行以下を表示
ateway 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
RT-A#
RT-A はこのルーティングテーブルを見て、受け取った 192.168.2.2 宛てのパケットを FastEthernet0/1 から送出します。
- RT-B のルーティングテーブルを表示させなさい。
< RT-B >
RT-B# sh ip route | begin Gateway ← sh ip route の Gateway の文字のある行以下を表示
Gateway of last resort is not set
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#
RT-B は 192.168.2.2 宛てのパケットを FastEthernet0/0 で受け取ります。192.168.2.2 は RT-B の F0/0 に設定されているIPアドレスなので、これの返事を送信元の PC-A のIPアドレス 192.168.1.10 宛てに返します。
この時、RT-B は自身のルーティングテーブルを参照して、192.168.1.10 宛てのパケットをどのインターフェイスから出力するか判断するのですが、RT-B のルーティングテーブルには 192.168.1.10 のためのルート情報がないため、PC-A に返事のためのパケット (エコー応答) を送り出すことができません。
そのため、PC-A は ping 192.168.2.2 の返事を受け取ることができず ping に失敗したわけです。
では、PC-B に 192.168.1.10 のためのルート情報を追加しましょう。
- RT-B に 192.168.1.0/24 宛てのルート情報をスタティックに設定しなさい。
< RT-B >
RT-B# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-B(config)# ip route 192.168.1.0 255.255.255.0 192.168.2.1
RT-B(config)# ^Z
RT-B#
ip routeはスタティックルートを設定するためのコマンドで、
ip route 192.168.1.0 255.255.255.0 192.168.2.1
このネットワークに行きたければ ここにパケットを送りなさい
という記述をします。
これは「192.168.1.0/24 宛てのパケット (このネットワーク内にあるホスト向けのパケット) は、192.168.2.1 に送りなさい」という意味になります。
- RT-B のルーティングテーブルを表示させなさい。
< RT-B >
RT-B# sh ip route | begin Gateway
Gateway of last resort is not set
S 192.168.1.0/24 [1/0] via 192.168.2.1 ← 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#
192.168.1.0/24 宛てのルートが追加されています。
先頭の「S」は Static の「S」で、スタティックルートを意味します。
「192.168.1.0/24」のネットワークは「192.168.2.1」を経由する (つまり、192.168.2.1に送れ) というルート情報です。
これで RT-B は 192.168.1.10 宛てのパケットを RT-A に渡すことができます。
この 192.168.1.10 宛てのパケットを受け取った RT-A は自身のルーティングテーブルを見て、どうするか判断します。
■ アドミニストレーティブディスタンス と メトリック
[1/0] はアドミニストレーティブディスタンスの値と、メトリックの値です。
詳しい説明は RIP のシナリオで行いますが、アドミニストレーティブディスタンスは複数のルーティングプロトコル (直接接続やスタティックも含めて) がある場合にどのルーティングプロトコルが信頼性が高いかの判断基準で、メトリックは同じ宛先に複数のルートで到達できる場合に、どのルートを通って宛先に行くのが一番近いかという優先度を表す値です。
アドミニストレーティブディスタンスのデフォルトでは下記の通りになっています。
C | 直接接続されたインターフェイス | 0 |
S | スタティックルート | 1 |
D | EIGRP | 90 |
O | OSPF | 110 |
R | RIP | 120 |
スタティックルートのメトリックは「0」固定です。
- 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
RT-A#
RT-A はこのルーティングテーブルを見て、RT-B から受け取る 192.168.1.10 宛てのパケットを FastEthernet0/0 から送出します。
そして 192.168.1.10 宛てのパケットは PC-A に送られますので、ping は成功するはずです。
では確認しましょう。
- PC-A から RT-B の F0/0 へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.2.2
192.168.2.2 に ping を送信しています 32 バイトのデータ:
192.168.2.2 からの応答: バイト数 =32 時間 =3ms TTL=254
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.2.2 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.2.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 3ms、平均 = 1ms
C:\>
ping は成功しました。
- PC-A から RT-B の F0/1 へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.3.2
192.168.3.2 に ping を送信しています 32 バイトのデータ:
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.3.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
C:\>
RT-B の F0/1 のIPアドレス 192.168.3.2 への ping は失敗しました。
では、何故 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
RT-A#
RT-A のルーティングテーブルには 192.168.3.2 のためのルート情報がないため、
RT-A は受け取ったパケットを 192.168.3.2 宛てに送り出すことができません。
そのため、PC-A は ping に失敗したわけです。
では、RT-A に 192.168.3.2 のためのルート情報を追加しましょう。
- RT-A に 192.168.3.0/24 宛てのルート情報をスタティックに設定しなさい。
< RT-A >
RT-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-A(config)# ip route 192.168.3.0 255.255.255.0 192.168.2.2
RT-A(config)# ^Z
RT-A#
- 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
S 192.168.3.0/24 [1/0] via 192.168.2.1 ← 192.168.3.0/24 宛てのルート
RT-A#
これで RT-A に 192.168.3.0/24 のルート情報が追加されました。
- PC-A から RT-B の F0/1 へ ping を実行しなさい。
< PC-A >
C:\> ping 192.168.3.2
192.168.3.2 に ping を送信しています 32 バイトのデータ:
192.168.3.2 からの応答: バイト数 =32 時間 =3ms TTL=254
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.3.2 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.3.2 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 3ms、平均 = 1ms
C:\>
ping は成功しました。
- 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 時間 =2ms TTL=126
192.168.3.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 1ms、最大 = 2ms、平均 = 1ms
C:\>
ping は成功しました。
これで、PC-A と PC-B の End-to-End の通信が可能になりました。
このためには、RT-A と RT-B にそれぞれ1つずつのスタティックルートの設定が必要でした。
■ RT-Aのスタティックルートの設定について
RT-A はインターフェイスにIPアドレスを設定することにより、192.168.1.0/24 と 192.168.2.0/24 のネットワークは知っていますが、192.168.3.0/24 のネットワークは知りません。そのため、192.168.3.0/24 のネットワーク宛のパケットをそのネットワークに届けることができません。スタティックルートでは、この知らないネットワークをルータに設定します。
ip route 192.168.3.0 255.255.255.0 192.168.2.2
192.168.3.0/24 のネットワークにあるホスト宛のパケットは、RT-B の F0/0 (隣接ルータの隣接インターフェイス)に送れば、RT-B がどうにかしてくれます(RT-B か受け取り、RT-B の F0/1 から送出し、PC-B に届く)。
■ RT-Bのスタティックルートの設定について
RT-B はインターフェイスにIPアドレスを設定することにより、192.168.2.0/24 と 192.168.3.0/24 のネットワークは知っていますが、192.168.1.0/24 のネットワークは知りません。そのため、192.168.1.0/24 のネットワーク宛のパケットをそのネットワークに届けることができません。スタティックルートで、この知らないネットワークをルータに設定します。
ip route 192.168.1.0 255.255.255.0 192.168.2.1
192.168.1.0/24 のネットワークにあるホスト宛のパケットは、RT-A の F0/1 (隣接ルータの隣接インターフェイス)に送れば、RT-A がどうにかしてくれます(RT-A か受け取り、RT-A の F0/0 から送出し、PC-A に届く)。