RARPとは(Reverse-ARP 通常ARPとの違いと利用場面)

RARPとは(Reverse-ARP 通常ARPとの違いと利用場面)

RARP(Reverse-ARP/リバースアープ)について説明します。

通常のARPに関しての説明は、下記を参照してください。

目次

RARP(Reverse-ARP/リバースアープ)とは

概要と利用場面

RARP(Reverse-ARP/リバースアープ)とは、MACアドレスをもとにIPアドレスを割り当てるためのプロトコルです。IPアドレスからMACアドレスを取得する「通常のARP」とは逆の動作となるため、「Reverse/リバース」という名前が付けられています。

RARPは、IPアドレスが必要にも関わらず、自身でIPアドレスの設定が行えなかったり、設定した情報が保持できない(再起動時に設定が消えてしまう)等の機器で利用されることがあります。

現在では、IPアドレスの割り当ては「DHCP」が利用されることが一般的なため、RARPはあまり利用されていません。

RARPの通信の仕組み

RARPを利用したIPアドレスの割り当ては下記の流れで行われます。

STEP
RARPクライアント(MACアドレスを保持)

RARPでIPアドレスを割り当てられるホストを「RARPクライアント」と呼びます。RARPクライアントは、MACアドレスのみを保持しています。

RARPクライアントの設定
STEP
RARPサーバー(MACアドレスとIPアドレスの対応表を設定)

RARPを利用するためには、MACアドレスとIPアドレスの対応表を持った「RARPサーバー」が必要です。RARPサーバーには、下記の2つのファイルを作成します。(rarpd等のRARPサービスも起動している必要があります。)

  • /etc/ethers → MACアドレスとホスト名を記載します
  • /etc/hosts → IPアドレスとホスト名を記載します。
RARPサーバーの設定
STEP
RARPクライアントからRARP要求(RARPリクエスト)を送信

RARPクライアントが、RARP要求(RARPリクエスト)をブロードキャストで送信します。

RARPクライアントからRARP要求(RARPリクエスト)を送信
STEP
RARPサーバーがRARP応答(RARPリプライ)を送信

RARPサーバーが、RARP応答(RARPリプライ)をユニキャストで送信します。

RARPサーバーがRARP応答(RARPリプライ)を送信
STEP
RARPクライアントがIPアドレスを設定

RARP応答の情報を元に、RARPクライアントがIPアドレスを設定します。

RARPクライアントがIPアドレスを設定

RARP通信のパケット詳細

RARP要求(RARPリクエスト)とRARP応答(RARPリプライ)の詳細について説明します。

RARP要求(RARPリクエスト)の詳細

RARP要求のパケットの中身を確認します。

RARP要求(RARPリクエスト)のパケットキャプチャ
1   52:54:00:0a:91:bb → ff:ff:ff:ff:ff:ff RARP 60 Who is 52:54:00:0a:91:bb? Tell 52:54:00:0a:91:bb

Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits)
Ethernet II, Src: 52:54:00:0a:91:bb, Dst: ff:ff:ff:ff:ff:ff
    Destination: ff:ff:ff:ff:ff:ff
    Source: 52:54:00:0a:91:bb
    Type: RARP (0x8035)
    Padding: 000000000000000000000000000000000000
Address Resolution Protocol (reverse request)
    Hardware type: Ethernet (1)
    Protocol type: IPv4 (0x0800)
    Hardware size: 6
    Protocol size: 4
    Opcode: reverse request (3)
    Sender MAC address: 52:54:00:0a:91:bb
    Sender IP address: 0.0.0.0
    Target MAC address: 52:54:00:0a:91:bb
    Target IP address: 0.0.0.0
イーサネットヘッダ
スクロールできます
項目表記説明
送信先MACアドレスDestinationRARP要求はブロードキャストのため、送信先は「ff:ff:ff:ff:ff:ff」
送信元MACアドレスSourceRARP要求を送信しているホストのMACアドレス
イーサネットタイプTypeRARPのイーサネットタイプは「8035」
RARP要求のフォーマット
スクロールできます
項目表記説明
ハードウェアタイプHardware typeイーサネットの場合は「1」
プロトコルタイプProtocol typeIPv4の場合は「0800」
ハードウェアサイズHardware sizeイーサネットの場合はMACアドレスのサイズ「6Byte」
プロトコルサイズProtocol sizeIPv4の場合はIPアドレスのサイズ「4Byte」
オペレーションコードOpcodeRARP要求の場合は「3」
送信者MACアドレスSender MAC addressRARP要求を送信しているホストのMACアドレス
送信者IPアドレスSender IP addressIPアドレスは未設定のため「0.0.0.0」
対象MACアドレスTarget MAC addressRARPで割り当てる対象のMACアドレス ※RARP要求を送信しているホストのMACアドレス
対象IPアドレスTarget IP addressRARPで割り当てられるIPアドレス ※RARP要求では「0.0.0.0」

RARP応答(RARPリプライ)の詳細

RARP応答のパケットの中身を確認します。

RARP応答(RARPリプライ)のパケットキャプチャ
2   52:54:00:1e:94:dc → 52:54:00:0a:91:bb RARP 42 52:54:00:0a:91:bb is at 192.168.1.100

Frame 2: 42 bytes on wire (336 bits), 42 bytes captured (336 bits)
Ethernet II, Src: 52:54:00:1e:94:dc, Dst: 52:54:00:0a:91:bb
    Destination: 52:54:00:0a:91:bb
    Source: 52:54:00:1e:94:dc
    Type: RARP (0x8035)
Address Resolution Protocol (reverse reply)
    Hardware type: Ethernet (1)
    Protocol type: IPv4 (0x0800)
    Hardware size: 6
    Protocol size: 4
    Opcode: reverse reply (4)
    Sender MAC address: 52:54:00:1e:94:dc
    Sender IP address: 192.168.1.101
    Target MAC address: 52:54:00:0a:91:bb
    Target IP address: 192.168.1.100
イーサネットヘッダ
スクロールできます
項目表記説明
送信先MACアドレスDestinationRARP要求を送信したホストのMACアドレス
送信元MACアドレスSourceRARP応答を送信しているホストのMACアドレス
イーサネットタイプTypeRARPのイーサネットタイプは「8035」
RARP応答のフォーマット
スクロールできます
項目表記説明
ハードウェアタイプHardware typeイーサネットの場合は「1」
プロトコルタイプProtocol typeIPv4の場合は「0800」
ハードウェアサイズHardware sizeイーサネットの場合はMACアドレスのサイズ「6Byte」
プロトコルサイズProtocol sizeIPv4の場合はIPアドレスのサイズ「4Byte」
オペレーションコードOpcodeRARP応答の場合は「4」
送信者MACアドレスSender MAC addressRARP応答を送信しているホストのMACアドレス
送信者IPアドレスSender IP addressRARP応答を送信しているホストのIPアドレス
対象MACアドレスTarget MAC addressRARPで割り当てる対象のMACアドレス ※RARP要求の送信者MACアドレス
対象IPアドレスTarget IP addressRARPで割り当てるIPアドレス

以上で、RARPとは(Reverse-ARP 通常ARPとの違いと利用場面)の説明は完了です!

  • URLをコピーしました!
  • URLをコピーしました!
目次