Chapter 3 -- Address Resolution

Prev Chapter 2 -- IP Address
INDEX
Next Chapter 4 -- Address Resolution Protocol

アドレスリゾル−ション(address resolution)

 物理ネットワークを介して送信されるフレームには、 宛先のハードウェアアドレスを含んでいる必要がある。 また、ネットワークハードウェアは、プロトコルアドレスから ホストコンピュータを特定する機能を持っていないので、 次ホップのプロトコルアドレスは、送信される前に、 ハードウェアアドレスに変換(resolve)しなければならない。


 例えば、上の図のホストAからホストBへデータを転送する場合、
  1. ホストAのプロトコルソフトウェアが、 ホストBのIPアドレスをホストBのハードウェアアドレスに変換。
  2. ホストAがホストBへフレーム送信。
という手順をふむことになる。

 異なる形式の物理アドレスを用いているネットワークのホストへデータを送信するときは、 ルータが、アドレス変換(address translation)の中継点となる。 例えば、ホストAからホストCへ転送する場合、
  1. ホストAは、ルータRを経由すると判断する。
  2. ホストAは、ルータRのアドレスを変換する。
  3. ホストAは、ルータRへパケットを送信する。
  4. ルータRは、ホストCが同じ物理ネットワークに接続されていると判断する。
  5. ルータRは、ホストCのアドレスを変換する。
  6. ルータRは、ホストCへパケットを転送する。
という手順をふまなければならない。


アドレスリゾル−ションのアルゴリズム

 アドレスリゾル−ションの方法は3つの方法に分けられる。

方法用途
テーブルルックアップ
(table lookup)
広域ネットワーク(WAN)
閉形式計算
(closed-form computation)
構成可能ネットワーク
メッセージ交換
(message exchange)
静的アドレス付けを持つネットワーク

① テーブルルックアップによるアドレスリゾル−ション

 各物理ネットワークに対応した個別のアドレス対応テーブル(address binding table)を用いる。 例えば、以下のようになる。

IP addressHardware address
197.15.3.20A:07:4B:12:82:36
197.15.3.30A:9C:28:71:32:8D
197.15.3.40A:11:C3:68:01:99
197.15.3.50A:74:59:32:CC:1F
......

 当然prefixは全て同じになるので、実際にはprefixを除いたものをテーブルに格納し、 容量を節約できる。また、このように逐次的にIPアドレスが割り振られている場合は、 一次元の配列で直接マッピングを行うことが可能である。 他には、ハッシュ法を使う方法もある。

② 閉形式計算によるアドレスリゾル−ション

 アドレス構成可能なネットワークに対して使われる。 プロトコルアドレスから簡単なブール演算を行うことによって、 ハードウェアアドレスが導き出されるようにアドレス付けが行われる。 例えば、

	 IP address      Hardware address

	220.23.5.1     →        1
	220.23.5.2     →        2
	220.23.5.11    →       11

 のようにしておけば、IP address & 0xff という計算で、 ハードウェアアドレスを求めることができる。

③ メッセージ交換によるアドレスリゾル−ション

 分散型の方式でアドレス変換を行う。 アドレスリゾル−ションを行う際には、アドレスリゾル−ション要求を送信し、 その応答によってハードウェアアドレスを得るという方法である。 アドレスリゾル−ション要求を送信する場所としては、2通り考えられる。

 メッセージ返答用のサーバを設置する利点としては、アドレス対応情報を 統制しやすいことが上げられるが、その反面、サーバ維持に高い費用がかかる。 また、トラフィックが集中するために、そのサーバ自体がネットワークのボトルネックになり得る。

 3つの方法の中で、実装が一番困難である。


Prev Chapter 2 -- IP Address
INDEX
Next Chapter 4 -- Address Resolution Protocol