Lesson1では,イーサネットとIPの関係を見ながら,ARPの役割と必要性を学ぼう。ARPが,通信のどんな場面で必要になるのかを理解するのが目標だ。

二つのアドレスを使って通信する

 はじめに,通信をする際に欠かせない,パソコン内の住人を確認しよう。もちろん,イーサネットとIPである。これらはパソコン内で,別々の機能として存在している。

 イーサネットは,パソコンが搭載するLANカードが担当している。パソコンがLANポートを持っていないときは,ユーザーがLANカードを挿入する。この行為が,パソコンにイーサネット機能を加える作業だ。

 一方のIPは,パソコン内でソフトウエアとして存在する。WindowsやLinuxなどのOSがIPプログラムとして搭載しているのである。つまり,OSをインストールする作業が,パソコンにIP機能を入れる作業というわけだ。

 イーサネットはMACアドレスを使って通信し,IPはIPアドレスを使って通信する。この二つは言わば別々の世界。この別々の世界をつなぐものがなければ通信は成立しない。そこで,この二つの世界をつなぐ第三の住人――ARPが登場する(図1-1)。

図1-1●イーサネットとIPの世界をつなぐARP(address resolution protocol)
図1-1●イーサネットとIPの世界をつなぐARP(address resolution protocol)
ネットワークには,イーサネット(MACアドレス)の世界とIP(IPアドレス)の世界がある。この二つをつなぐのがARPである。

データを送るにはあて先が必要

 パソコンがデータを送る流れを追っていきながら,ARPが登場する場面を見てみよう。

 アプリケーションが作ったデータは,まずIPが処理をする。IPの役割は,データの経路を考えること。「どのアドレスあてにデータを送ればいいか」を調べるのが仕事だ。

 あて先IPアドレスはすでにわかっている。これは,通信したいあて先のIPアドレスが決まって始めてIPが動き出すからだ。つまりこの時点でIPは,「192.168.1.100のマシンにデータを送りたい」などということがわかっている(図1-2の(1))。

図1-2●ARPの役割はあて先マシンのMACアドレスを調べること   図1-2●ARPの役割はあて先マシンのMACアドレスを調べること
パソコンは,あて先マシンのMACアドレスがわからないとデータを送れない。そこでIPアドレスを基にMACアドレスを調べるのがARPの役割である。
[画像のクリックで拡大表示]

 IPはさらに,あて先MACアドレスを調べて,イーサネットに教えてあげなければいけない。というのも,イーサネットの役割は,IPから渡されたデータを言われた通り運ぶこと。データのあて先を調べることはしないのである(同(2))。

IPにお願いされてARPが動く

 ここでIPは困ってしまう。イーサネットにデータ転送をお願いするためには,192.168.1.100というIPアドレスを持つマシンのMACアドレスをイーサネットに教えてあげないといけない。つまり,MACアドレスとIPアドレスの対応を知る必要が出てくるわけだ。

 そこで登場するのがARPである。IPと同じくARPも,パソコン内にプログラムとして存在している。IPは,このARPにあて先MACアドレスの調査を頼むのである(同(3))。

 IPは,ARPに「1 9 2.1 6 8.1.1 0 0のマシンが持つMACアドレスを調べてきて」とお願いする。するとARPがその依頼を解決し,IPにデータのあて先MACアドレスを教えるのである。

 IPは,ARPから教えてもらったあて先MACアドレスをイーサネットに伝えて,データの転送をお願いする。するとイーサネットは,IPに言われたとおりにMACフレームを組み立ててデータをLANに送り出す。

 IPがデータのあて先を割り出し,運び役のイーサネットに伝える。その際に,あて先MACアドレスを調べる必要が出てくる。その役割を担うのがARPというわけだ。