NETWORK&PLOTOCOLへ





ARP、RARP

前回のMACアドレスのところでも説明しましたが、TCP/IPで組まれたネットワークでは
各端末にIPアドレスを割り当てなければなりません。
しかし、実際に通信する際にはLANボード等の機器を使用する為に、その機器のMACアドレスを使用しなければなりません。
そこでIPアドレスとMACアドレスを結び付けるプロトコルが必要となります。
そのプロトコルがARPとRARPとなります。


・ARP(Address Resolution Protocol)

IPアドレスからMACアドレスを取得する役割をもったプロトコルです。
実際の動作として説明すると、

自分のPC「192.168.0.1」
目的のPC「192.168.0.10」

だったとします。そうするとまず自分のPCから、目的のPCのIPアドレスはわかりますが、MACアドレスはわかりません。
そこで自分のPCからは「このIPアドレスを持っているPCは、192.168.0.1までMACアドレスを返して」
というブロードキャスパケットをLAN内全体に送ります。

この時送信されるARPブロードキャストパケットには、

送信元:自分のMACアドレス
あて先:FF:FF:FF:FF:FF:FF

という情報がのせられます。このあて先の「FF:FF:FF:FF:FF:FF」というMACアドレスは、
LAN内の全端末に受信させる為の特別なアドレスとなります。

この仕組みによって全端末にパケットが行き届き、目的以外のPCはそのパケットを破棄します。
そして目的のIPアドレス「192.168.0.10」を持ったPCだけが、自分のMACアドレスを返すという事になります。


では、もし目的のアドレスがLAN内に無く、ルーターを介して別の場所にある場合はどうなるのでしょう。
ルーターはブロードキャストパケットをLANの外に流出しない為に、この方法ではMACアドレスを取得できません。
そこで相手のMACアドレスが得られない代わりに、ルーターのMACアドレスを取得します。
そしてとりあえずルーターまでのデーターを送信し、ルーターが最終目的のMACアドレスを取得しにいきます。

また、このような事を何度も繰り返していては、ネットワークの負荷が大きくなってしまいますので、
各端末には一定時間取得したMACアドレスをARPキャッシュとして特殊なメモリに保存しています。
その情報はARPコマンドで確認できます。



・RARP(Reverse Address Resolution Protocol)

RARPはMACアドレスからIPアドレスを取得する為のプロトコルです。
ちょうどARPと逆の動作をするような感じです。
始めに言ってしまいますと、現在ではほとんど利用されていないプロトコルとなります。
現在はIPアドレス情報等は設定ファイルとして各端末の記憶装置(ハードディスク)に記憶されていますが、
昔は記憶装置が搭載されていなかった為、RARPによりIPアドレスを取得しなければなりませんでした。
記憶装置を持たない機器は電源が入れられると、LANボード上のBOOT-ROMと呼ばれる
起動時の動作を記憶したメモリのプログラムを実行し、自動的にRARPによってIPアドレスを取得していました。
現在では各端末にハードディスクが搭載されていないという事はまず無いために使用されていません。


back




SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送