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アドレスが分からない |
| 3 | ARP 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の違い
| 項目 | ARP | RARP |
|---|---|---|
| 正式名称 | Address Resolution Protocol | Reverse Address Resolution Protocol |
| 調べる方向 | IPアドレス → MACアドレス | MACアドレス → IPアドレス |
| 主な目的 | LAN内で通信相手のMACアドレスを知る | 端末が自分のIPアドレスを知る |
| 使う場面 | 現在でもIPv4通信で使われる | 昔のディスクレス端末などで使われた |
| 現在の利用状況 | 現役 | ほぼ使われない |
| 後継に近い技術 | IPv4では今もARP | BOOTPや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サーバーなども配布できます。
| 項目 | RARP | DHCP |
|---|---|---|
| 配れる主な情報 | 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と調べる向きが逆であることを表しています。
| 覚え方 | 内容 |
|---|---|
| ARP | IPからMACを調べる |
| RARP | MACからIPを調べる |
| Reverseの意味 | ARPと逆方向にアドレスを解決する |
ネットワークを学ぶときは、まずIPアドレスとMACアドレスの役割の違いをしっかり押さえてください。
そのうえで、ARP、DHCP、DNS、ICMP、ルーティングを順番に学ぶと理解がつながります。まずは自分のPCでARPテーブルを確認し、「IPとMACが対応している」という感覚をつかむところから始めましょう!
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール


