12月4日(金)1コマ目
今日、やったこと
ICMP、ARPとルーティング(パケットを推測する)
今日のホワイトボード
前回の復習から
|
| 図 前回のまとめ |
ケース1とケース2ではICMPエコー要求のパケットの宛先情報が下表のようになっていました。
| ケース | イーサネットヘッダの 宛先MACアドレス |
IPヘッダの 宛先IPアドレス |
2つの宛先は同じ? |
|---|---|---|---|
| ケース1 | 172.16.4.6 | 172.16.4.6 | 同じ |
| ケース2 | 172.16.8.10 | 172.16.4.1 | 違う |
IPヘッダの宛先IPアドレスとイーサネットヘッダの宛先MACアドレスが同じ宛先(ケース1)だったり、違う宛先(ケース2)だったりで統一性がありません。
これは、パケットを最終的に受信する相手とルーティングの結果、送信する相手が異なることがあるためです。
パケット送信の際、IP層以下では以下のながれで処理を行います。
①IP層でIPヘッダ作成、ルーティング
IPヘッダの宛先IPアドレスには最終的に受け取る宛先が書き込まれる。
IPでのルーティングはこの宛先IPアドレスとルーティングテーブルを使って行われる。
ルーティングの結果、次に送る宛先が決まる。(当然、IPアドレスで指定される)
②次の送る宛先のMACアドレスを取得する(ARP)
パケットを届けるのはイーサネットの仕事。イーサネットでは宛先・送信元情報はMACアドレスを使うため、IPアドレスからMACアドレスへ変換する必要がある。
IPアドレスからMACアドレスへの変換を行うのはARP。
①まず、ARPテーブルチェック。
②ARPテーブルに調べたい対象データがなければ、ARP要求を送信する。
ARP要求のパケットの宛先MACアドレスはブロードキャストアドレス(FF:FF:FF:FF:FF:FF)。
③ARP応答が返ってきたらMACアドレス取得完了。
取得したMACアドレスはARPテーブルに記録する。
③イーサネット層がパケットのイーサネットヘッダを作る
宛先MACアドレスが取得できたので、イーサネットヘッダが作成可能。
④イーサネット層がパケット送信
今日の演習
紙面上のネットワークでやり取りされるパケットを推測します。
|
| 図 ネットワーク図 |
ホストAにてホストBへping実行
ホストA、ホストBのARPテーブルやルーティングテーブルからやり取りされるパケットは以下のように推測されます。
|
| 図 やり取りされるパケット |
各パケットの詳細は以下のとおり。
パケット① ホストAからホストBへのICMPエコー要求
ホストAのARPテーブルにはホストBのデータがあるため、ARP要求、APR応答のやり取りはなし。
|
| 図 パケット① ICMPエコー要求 |
パケット② ホストBがホストAのMACアドレス取得のために送信するARP要求
ホストBがパケット①を受信。送信元(ホストA)へICMPエコー応答を送信したいが、ホストBのARPテーブルにはホストAのデータがないため、ARP要求を送信する。
|
| 図 パケット② ARP要求 |
パケット③ ホストAがARP応答を送信
ホストAがパケット②(ARP要求)を受信。自分のMACアドレスを問い合わされているため、ARP応答をホストBへ返信。
|
| 図 パケット③ ARP応答 |
パケット④ ホストBがホストAへICMPエコー応答を送信
ホストBがパケット③を受信することで、ホストAのMACアドレスが取得できる。
ホストBはホストAへICMPエコー応答を返信する。
|
| 図 パケット④ ICMPエコー応答 |
次回は続きをやります。







コメント