物理アドレス

物理アドレスを得るための方法

 デバイスは宛先を決定するために自分のルーティングテーブルを使います。 ルーティングテーブルから得る「宛先」は、IP アドレスか、もしくはフレームを直接送れという情報です。 なお、宛先が同じサブネットにあるということが、最初からわかっているときは、ルーティングテーブルは調べられもしません。 どの場合でも、ステーション(エンドノードであろうとルータであろうと)がある宛先 IP にフレームを送りたいのなら、 まず、フレームにどの宛先データリンクアドレスを使えばよいのかを調べなければなりません。これをアドレス解決と言います。

 IP ネットワークではアドレス解決として2つの方法があります。最初の方法は IP バージョン4で使用されている ARP を使うというものです。 ( ARP : Address Resolution Protocol )この方法は 1970 年代から使われており、標準とみなされています。 新しい方法は IP バージョン6(次世代 IP で、1995 年1月に最終草稿が出された)で使われるアドレス解決のための ICMP です。

 ICMP( Internet Control Message Protocol )は 1970 年代から使用されていますが、 アドレス解決のための使用は IP バージョン6での全く新しい使用方法となります。 1996 年 IPng(次世代 IP : IP Next Generation )の展開が制限されましたが、 それは間違いなく、アドレス解決のための ICMP の使用というものが、多くのネットワークにとって重要になる数ヶ月前のことでした。 つまり、ここではアドレス解決の方法として ARP について詳述するだけで済む、ということです。

 ARP フレームには、ここで説明することと関係の深い4つの重要なフィールドがあります。

送信側のハードウェアアドレス−送信側のデータリンクアドレス
送信側のプロトコルアドレス−送信側の IP アドレス
目標となるハードウェアアドレス−探されるべき目標のデータリンクアドレス
目標となるプロトコルアドレス−探されるべき目標の IP アドレス

 送信側が送った ARP フレームには、この4つのフィールド全部に値が入っているわけではない、というわずかな事実から、正しい結果を導き出すことができます。 160.6.2.3 に使われているデータリンクアドレスを知りたいときには、目標プロトコルアドレスに 160.6.2.3 を入れ、 目標ハードウェアアドレスのフィールドの方は、通常ゼロにします。これは、「 160.6.2.3 のハードウェアアドレスを知りません。だから探しているのです」という意味です。

 そしてこの ARP 要求をイーサネットまたはトークンリングへブロードキャストします。 ケーブル上のすべてのステーションがこのフレームを受取り、解釈します。 160.6.2.3 がこのフレームを解釈したら、このステーションが ARP 応答でフレームを返します。 160.6.2.3 は、ARP 応答フレームに自分のデータリンク(ハードウェア)アドレスをセットします。 このようにして IP アドレスとデータリンクアドレスの関係を知ることができます。IP アドレスを決定したのです。

 IP アドレスとデータリンクアドレスの関係は ARP キャッシュという一時的なメモリ領域に記録されます。 ARP キャッシュから、どの宛先データリンクアドレスがどの宛先 IP アドレスに対応するかを知ります。

 ステーションが起動されると、デフォルトゲートウェイの IP アドレスを知るために ARP を行わなければなりません。 さらに、ある IP アドレス宛てにデータを送る前に、ARP キャッシュ内に、宛先 IP アドレスに対応するエントリがなければなりません。 ARP キャッシュは刻々と変わって行きます。使われなないエントリは、数秒で消えてしまいます。 結果として、典型的なやりとりでは、やり取りの最初に一度 ARP が出され、コネクションの続いている間、ずっとそのエントリが ARP キャッシュに保持されます。 コネクションが動作中だと仮定されている間、ということです。

 ルーティングテーブルと ARP キャッシュという二つのテーブルが、フレームの通信と転送の基礎を形作っています。 アドレスマスクが IP アドレスを翻訳するガイドとして使われます。 デフォルトゲートウェイは、宛先が確定しないときに使われる宛先アドレスです。 デフォルトの宛先は、ARP キャッシュの動作には影響を与えません。