連載第10回
TCP/IPアレルギー撲滅ドリル【下位レイヤ編】

arpはネットワークで何を「叫ぶ」?

福永勇二
インタラクティブリサーチ
2005/3/2


素朴な疑問
MACアドレスの正体
1 MACアドレスって何ですか?
2 MACアドレスを見てみたいのですが
MACアドレスとIPアドレス
3 データのあて先に使うのはIPアドレスじゃないのですか?
4 MACアドレスとIPアドレスの関係を例で説明してください
5 どちらに統一できないのですか?
6 ネットワークの動作で説明してください
IPアドレスからMACアドレスを見つけ出す
7 対応表を使えば簡単じゃないですか?
8 対応表を使わない方法にはどんな方法がありますか?
9 arpの動作は?
10 ネットワークで「叫ぶ」ってどういう意味?
arpパケットの構造
11 arpパケットの中身を教えてください
12 arpパケットを見るときの注意点は?

 

 IPアドレスから
 MACアドレスを見つけ出す

・対応表を使えば簡単じゃないですか?

 IPアドレスとMACアドレスを見つけ出す一番簡単な方法は、あらかじめ対応表を作っておくことです。先の例でいえば、設備課長が山本一郎さんであることを書いた対応表を持っていれば、たとえ新入社員でも、設備課長あての手紙を山本さんに届けることができます。

 この方法は対応を見つけるのが簡単だという長所があるのですが、半面次の2つの短所があります。1つ目は、データを送る可能性があるコンピュータは、すべてあらかじめ対応表を持っていなければいけない点、2つ目は、コンピュータが増減したら、全員の対応表を最新の内容に書き換える必要がある点です。

 もしこの方法を使ったとすると、例えば、部署に新しいコンピュータが増えたとき、ほかのすべてのコンピュータに、新しいコンピュータのMACアドレスを登録しなければなりません。1、2台ならともかく、50台、100台のコンピュータがある場合、非常に大変な手間が掛かることは、ちょっと想像すれば分かります。そのため、この方法は使われていません。

・対応表を使わない方法にはどんな方法がありますか?

 では対応表を使わずに設備課長さんを見つけ出すにはどうしたらよいでしょうか? (図3) よく実世界で行うのは「叫んでみる」ことです。

図3 設備課長が誰だかよく分からない?

 図4にあるように、「設備課長はどなたですか?」とみんなに聞こえるように叫べば、それを聞いた本人が「自分が設備課長の山本一郎です」と答えてくれるでしょう。

図4 そういうときは叫んでみる

 この時点で「総務部 設備課長」が「山本一郎」さんであることが分かりますから、後は山本さんに書類を届ければ、総務部 設備課長あての書類を正しく届けることができたことになります。

 また、このとき「総務部 設備課長」=「山本一郎」ということをメモに残しておけば、次回書類を届けるときには叫ぶ必要がなくなります(図5)。といっても、あんまり時間がたつと役職が変わる可能性もありますから、対応を調べた日付も一緒にメモしておいて、古い情報のときは、あらためて叫んで確認するのが賢明です。

図5 ほら、返事があった! メモしとこっと

・arpの動作は?

 IPアドレスとMACアドレスを対応付けるためのプロトコルarpでは、先の「叫ぶ」例とほぼ同じことをします。

 まずデータを送りたいコンピュータが、arpを使って「IPアドレスxxxのコンピュータは誰ですか?」と叫びます。その情報は同じネットワークのコンピュータに聞こえるようになっていて、自分が呼ばれるのを聞いたコンピュータは「IPアドレスxxxのコンピュータは、MACアドレスyyyの私です」と返事をします。叫んだコンピュータは、その返事の中からあて先コンピュータのMACアドレスを拾い出し、そのMACアドレスに向けてデータをネットワークに流します。こうすることで、実際の通信を実現しています。

 こうやって知り得たIPアドレスとMACアドレスの対応は、arpキャッシュというメモに書き込んでおきます。次回からは、その情報を使ってデータを送るため、毎回毎回叫ぶ必要はありません。ただ、時間がたつと、その対応が正しくない可能性が出てくるので、そのときは再び「叫んで」、対応メモを書き直します。

 こういったarpの機能は、IPを使うほぼすべてのコンピュータが持っています。

・ネットワークで「叫ぶ」ってどういう意味?

 そのネットワークにつながっているすべてのコンピュータが受信できるようなデータの送信方法をブロードキャストといいます。arpはこのブロードキャストを使って、MACアドレスを突き止めたいIPアドレスを「叫んで」います。ちなみにイーサネットの場合は、送り出すデータのMACアドレスをFF-FF-FF-FF-FF-FFに指定すればブロードキャストになります。

 こういった部分からも少し見えてきますが、arpはIP通信の準備をするための仕組みなので、その動作にはイーサネットの仕組みを直接使っています。

MACアドレスの正体

TCP/IPアレルギー撲滅ドリル【下位レイヤ編】(10)目次
1  MACアドレスの正体/MACアドレスとIPアドレス
2  IPアドレスからMACアドレスを見つけ出す
3  arpパケットの構造

関連リンク
  連載:TCP/IPアレルギー撲滅ドリル【超実践編】(上位レイヤ編)
連載:インターネット・プロトコル詳説

連載:ルータの仕組みを学ぼう
ホストのネット接続は正しく行われているか? 〜netstatによるネットワーク設定の確認〜


「Master of IP Network総合インデックス」


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間