広告
広告
https://www.7key.jp/nw/tcpip/ip/rarp.html#rarp
ARPはIPアドレスを基に、MACアドレスを解決するためのプロトコルでした。ここで紹介しますRARPは読んでの通り、ARPの逆の動作を行うためのプロトコルです。即ち、MACアドレスを基にIPアドレスを解決するためのプロトコルということになります(データリンク層アドレスからネットワーク層アドレスを調べるって説明の方がベターかも)。こちらはRFC903にて規定されています。RARPはARPと同じ構造のパケットを使用していますが、動作コードを区分することによって区別しています(下表参照)。
1 | ARPリクエスト |
---|---|
2 | ARPリクエストに対する応答 |
3 | RARPリクエスト |
4 | RARPリクエストに対する応答 |
RARPクライアントはシステムの起動時に自身のMACアドレスを同ネットワーク(コリジョンドメイン)内にブロードキャストします。もしRARPサーバが同ネットワーク内にいれば、RARPサーバはそのMACアドレスに対するIPアドレスを応答パケットに入れて返答するのです。この動作によりRARPクライアントは自身のIPアドレスを取得できるというわけです。このプロトコルはディスクレスワークステーションなどの起動時に使用されます(MACアドレスはNICのハードに書き込まれて分かるがIPアドレスは分からないため)。
ただし、RARPはARPと同じパケット構造を使用していますので、IPアドレスしか取得できません。ネームサーバアドレスやゲートウェイアドレス、サブネットマスクなどの情報が返ってくることはありません。また、コリジョンドメイン内にしかブロードキャストは届きませんので、RARPパケットがルータをまたいでRARPサーバに届くことはありませんし、当然同一コリジョンドメイン内にRARPサーバが無いとIPアドレスの返答はありません。更に、RARPサーバの実装はシステムに大きく依存するため、特別なシステムでも無い限り実装されていることはまずありません。こういったことから、MACアドレスからIPアドレスを解決するためにBOOTPやDHCPを用いるなど、RARPで不十分な点を補った方法を利用することが主流となっています。
広告