7月16日(木)1コマ目
今日、やったこと
イーサネット、IPとARP(つづき)
今日のホワイトボード
ルーティング=>フレーム送出までの処理を確認する(つづき)
前回は
①[IP@ホストA]ルーティング
ホストAのIPがルーティング。まずはルーター(172.16.4.1)へ送信することに。
②[ARP@ホストA]ARPテーブルチェック
ホストAのARPテーブルには172.16.4.1のエントリなし。
③[ARP@ホストA]ARPリクエストパケット送信
172.16.4.1のMACアドレスを取得するためにARPリクエストパケットを送信する。
までをやりました。
今日はその続きから。
④[イーサネット@ホストA]ARPリクエストパケット送信
イーサネットではパケット送信の際、アクセス制御方式CSMA/CDに従ってパケット送信。
ネットワークに送信されたARPリクエストパケットは宛先MACアドレスがブロードキャストアドレスになっているため、ネットワーク上の全PC(ルーターも)が受信する。
なお、ルーターはARPリクエストパケット(ブロードキャストパケット)は中継しない。
⑤[イーサネット@ルーター]ARPリクエストパケット受信
イーサネットからARPへパケットが渡される。
⑥[ARP@ルーター]ARPレスポンスパケット生成
ARPは自分が問い合わされているため、返信であるARPレスポンスパケットを生成し、送信する。
⑦[イーサネット@ホストA]ARPレスポンスパケット受信
ルーターが送信したARPレスポンスパケットを受信。
ARPへパケットを渡す。
⑧[ARP@ホストA]ARPレスポンスパケットを処理する
ルーター(172.16.4.1)のMACアドレスがわかる。
ARPテーブルに172.16.4.1と取得したMACアドレスのペアを記録する。
⑨[イーサネット@ホストA]ホストBあてパケット送信
パケットは下図のとおり。
宛先MACアドレス(イーサネットヘッダ)と宛先IPアドレス(IPヘッダ)が異なるので注意。
ルーターでの処理
ホストAから送信されたホストBあてのパケットはルーターに届けられる。
受信したルーターはルーティングしてさらにパケットを送信する。
⑩[イーサネット@ルーター]パケット受信
IPにパケットを渡す。
⑪[IP@ルーター]ルーティング実行
以下の情報をつかってルーティングを行う。
- パケットのIPヘッダ中の宛先IPアドレス
- ルーターが持っているルーティングテーブル
ルーターのルーティングテーブルがないため、確実なことは言えないが、おそらくポート(172.16.8.1)からホストBへ直接送信する(だろう)。
ホストBへ送信するにはホストBのMACアドレスが必要。
MACアドレスの取得はARPに従って行う。
⑫[イーサネット@ルーター]パケット送信
ホストAから送信されたホストBあてのパケットを送信する。
送信されたパケットはホストBが受信する。
これでようやくホストAからホストBへパケットを届けることができる。
パケットを送り届けるために、
- IPでルーティング
- イーサネットが送受信を行う
- IPアドレスからMACアドレスを取得するためにARPが使われている
とまとめることができます。








コメント