![]() |
![]()
マスタリングTCP/IP 応用編
入門編を卒業したらこちら。
応用編も入門編と同様に豊富な図を使用し、TCP/IPに関するさらに詳細な解説を記している。
特にパッケットの構造はかなり詳細に解説しており、初心者にはすこしつらいかもしれないが非常に読みやすいのでぜひ読んでみてほしい。 arpについても解説しています。
詳解TCP/IP〈Vol.1〉プロトコル
これも 必読中の必読書。
TCP/IPアーキテクチャを、実際にネットワークを組んで通信の動きを観察するという方法で書かれている。
本書に構成されているネットワークは単純なので、実際に同じ構成を組んで実機をいじりながら読み進めると非常に効果的に学ぶことが出来ると思います。
ARPについても解説していますよ。
今回から数回に分けて ARP について書いていこうと思います。
分かっているようで案外分かってない ARP のキモの部分を
みなさんと一緒に勉強していきましょう。
みなさま、ARP というコトバを聞いたことはありますか?
ARP とは「Address Resolution Protocol」の略でありまして、
簡単にいうと、
「IPアドレスに基づいて相手のMACアドレスを調べる」
ためのプロトコルで、RFC826 にて定義されています。
ARP が動作する階層は IP と同じネットワーク層で動作しています。
以下のような簡単なネットワーク構成を見ながらARPの動作について
見ていきましょう。

ここで、PC-C から PC-Aに対して通信を行うとしましょう。
さてこの時に PC-C が送信するパケットのヘッダに設定される
宛先IPアドレスは当然 PC-A のアドレス「10.1.1.1」が設定されます。
このIPアドレスはアプリケーションレベルで指定されるのですが、
宛先のMACアドレスはどのように設定されるのでしょうか?

10.1.1.1に対するMACアドレスをどうにかして
知らなければ通信が出来ないわけですね。
そんな時に登場するのが「ARP」です。
ARPはIPアドレス「10.1.1.1」に対するMACアドレスを
調べるために使用します。