ARPとRARPの違いとは?なぜReverseなのかを初心者向けに解説

こんにちは。ゆうせいです。

今回は、ネットワークの基礎で出てくるARPとRARPの違いについて解説します。

結論から言うと、ARPは「IPアドレスからMACアドレスを調べる仕組み」です。

一方、RARPは「MACアドレスからIPアドレスを調べる仕組み」です。

つまり、調べる向きが逆なので、RARPのRはReverse、つまり「逆向き」という意味になります。

まずARPとは何か

ARPは、Address Resolution Protocolの略です。

日本語にすると「アドレス解決プロトコル」です。

アドレス解決とは、「通信したい相手のIPアドレスは分かっているけれど、実際にLAN内で届けるためのMACアドレスが分からないので調べる」という意味です。

IPアドレスとMACアドレスは、役割が違います。

種類役割たとえ
IPアドレスネットワーク上の住所東京都〇〇区〇丁目のような住所
MACアドレスLAN内で機器を識別する番号その家の表札や部屋番号に近いもの

たとえば、自分のPCが同じLAN内の192.168.1.20へ通信したいとします。

IPアドレスは分かっています。

しかし、LANの中で実際にフレームを届けるには、相手のMACアドレスが必要です。

そこでARPが使われます。

192.168.1.20を持っている人は誰ですか?
あなたのMACアドレスを教えてください。

このようにLAN内へ問い合わせます。

該当する端末が、次のように返します。

192.168.1.20は私です。
私のMACアドレスはAA:BB:CC:DD:EE:FFです。

この流れがARPです。

ARPの流れ

段階内容
1送信元PCが通信したい相手のIPアドレスを知っている
2相手のMACアドレスが分からない
3ARP RequestをLAN内にブロードキャストする
4該当するIPアドレスを持つ端末がARP Replyを返す
5送信元PCはIPアドレスとMACアドレスの対応をARPテーブルに記録する

ブロードキャストとは、LAN内の全員に向けて送る通信です。

教室で「192.168.1.20の人、手を挙げてください!」と大声で聞くようなものです。

次にRARPとは何か

RARPは、Reverse Address Resolution Protocolの略です。

日本語にすると「逆アドレス解決プロトコル」です。

RARPは、ARPとは逆に、MACアドレスからIPアドレスを調べる仕組みです。

ここで大切なのは、RARPは主に「自分のIPアドレスが分からない端末が、自分のMACアドレスを使ってIPアドレスを教えてもらうため」に使われたという点です。

昔のディスクレス端末をイメージしてください。

ディスクレス端末とは、ハードディスクを持たず、起動時にネットワークから必要な情報を取得する端末です。

端末は自分のMACアドレスなら分かります。

MACアドレスはネットワークカードに焼き込まれている番号だからです。

しかし、起動直後は自分のIPアドレスが分かりません。

そこでRARPを使います。

私のMACアドレスはAA:BB:CC:DD:EE:FFです。
私はどのIPアドレスを使えばよいですか?

RARPサーバーが、次のように返します。

あなたは192.168.1.30を使ってください。

この流れがRARPです。

ARPとRARPの違い

項目ARPRARP
正式名称Address Resolution ProtocolReverse Address Resolution Protocol
調べる方向IPアドレス → MACアドレスMACアドレス → IPアドレス
主な目的LAN内で通信相手のMACアドレスを知る端末が自分のIPアドレスを知る
使う場面現在でもIPv4通信で使われる昔のディスクレス端末などで使われた
現在の利用状況現役ほぼ使われない
後継に近い技術IPv4では今もARPBOOTPやDHCP

なぜReverseなのか

RARPがReverseと呼ばれる理由は、ARPとアドレス解決の向きが逆だからです。

ARPでは、次の向きで調べます。

IPアドレス → MACアドレス

RARPでは、次の向きで調べます。

MACアドレス → IPアドレス

つまり、ARPの逆方向です。

だからReverse Address Resolution Protocolと呼ばれます。

日本語で言えば、「ARPの逆向き版」です。

たとえば、学校で考えてみましょう。

ARPは、名前から座席番号を調べるようなものです。

田中さんはどの席ですか?

RARPは、座席番号から名前を調べるようなものです。

この席に座る人は誰ですか?

調べる向きが逆ですよね。

この「逆向き」こそがReverseの意味です。

ただし、RARPは「他人のIPを何でも調べる仕組み」ではない

ここは誤解しやすいポイントです。

RARPは、単純に「MACアドレスを入力すれば、誰のIPアドレスでも分かる便利な検索機能」ではありません。

主な目的は、起動した端末が自分のIPアドレスを知ることでした。

つまり、次のような用途です。

自分のMACアドレスは分かる
        ↓
でも自分のIPアドレスが分からない
        ↓
RARPサーバーに問い合わせる
        ↓
自分に割り当てられたIPアドレスを教えてもらう

現在なら、この役割はDHCPが担うことが一般的です。

RARPがあまり使われなくなった理由

RARPは、現在のネットワークではほとんど使われません。

理由は、DHCPのほうが便利だからです。

DHCPは、Dynamic Host Configuration Protocolの略です。

IPアドレスだけでなく、サブネットマスク、デフォルトゲートウェイ、DNSサーバーなども配布できます。

項目RARPDHCP
配れる主な情報IPアドレスIPアドレス、サブネットマスク、ゲートウェイ、DNSなど
柔軟性低い高い
現在の利用ほぼ使われない一般的に使われる
初心者が覚える優先度低め高い

新人エンジニアが実務でよく見るのは、ARPとDHCPです。

RARPは、歴史的な仕組みとして理解しておけば十分なことが多いです。

新人エンジニア向けに一言で整理

ARPとRARPを一言で整理すると、次のとおりです。

ARP  :IPアドレスからMACアドレスを知る
RARP :MACアドレスからIPアドレスを知る

さらに実務感覚で言うと、次のようになります。

ARP  :今でもIPv4のLAN通信で重要
RARP :昔使われたが、現在はDHCPに置き換わった

まとめ

ARPは、IPアドレスからMACアドレスを調べる仕組みです。

RARPは、MACアドレスからIPアドレスを調べる仕組みです。

RARPのReverseは、ARPと調べる向きが逆であることを表しています。

覚え方内容
ARPIPからMACを調べる
RARPMACからIPを調べる
Reverseの意味ARPと逆方向にアドレスを解決する

ネットワークを学ぶときは、まずIPアドレスとMACアドレスの役割の違いをしっかり押さえてください。

そのうえで、ARP、DHCP、DNS、ICMP、ルーティングを順番に学ぶと理解がつながります。まずは自分のPCでARPテーブルを確認し、「IPとMACが対応している」という感覚をつかむところから始めましょう!

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。