ARPとは。MACアドレスやIPアドレスとの関係、RARPも解説!

皆さんはARPと呼ばれる仕組みを知っていますか?

ARPは、IPアドレスからMACアドレスの情報を取得するためのネットワーク通信で使われるプロトコルです。

ネットワークで正常に通信を行うためには、さまざまな機器、仕組みやプロトコルが組み合わさって、適切に働く必要があります。

今回は、ネットワークで通信を行うために欠かせないプロトコルの一つであるARPについて解説します。

オンラインセラーに最適なVPSなら
WinserverPRIMA VPS
・【回数無制限】未使用新規IPアドレスの発行
・【回数無制限】OS初期化(MACアドレスリセット)
PRIMA VPSを見る

ARPとは

ネットワークで使われるARPとは、どのようなものなのでしょうか。

まずは、基本的な解説をします。

ARP(Address Resolution Protocol)とは、ネットワーク通信で必要となるIPアドレスとMACアドレスの変換を行うための仕組みです。

ネットワーク上で正しい通信を行うためには、この「IPアドレス→MACアドレス」への変換が不可欠ですが、ARPはその点で大きな役割を担っています。

ARPが必要な理由とは

ARPは、なぜ必要なのでしょうか。

ここでは、ネットワークで通信を行う場合にARPが必要な理由を見ていきましょう。

ネットワーク上で一般的に接続された機器に設定されているのはIPアドレスです。

しかしながら、後ほどOSI参照モデルの解説をしますが、通信を行う際にはIPアドレスでなくMACアドレスが必要となります。

そのため、両者を正確に変換する必要があります。

これを行うためのプロトコルがARPです。

ARPの仕組み

ネットワーク通信を行う際にARPはどのような役割を果たし、どのように使われているのでしょうか。

以下では、通信を行う際にARPが使われる仕組みについて解説します。

OSI参照モデルとは

まずARPの仕組みを見ていく前に、ネットワークの機能や仕組みについて理解しておく必要があります。

それを理解するためによく使われるのが、国際標準化機構(ISO)によって策定された、ネットワークの機能や仕組みを7つの階層に分けた「OSI参照モデル」です。

OSI参照モデルでは、ネットワークの機能や仕組みが以下のように示されます。

階層モデル名称
7アプリケーション層
6プレゼンテーション層
5セッション層
4トランスポート層
3ネットワーク層
2データリンク層
1物理層

ちなみに、今回取り上げるARPは、「2 データリンク層」と「3 ネットワーク層」の橋渡しをしています。

ネットワーク通信におけるARP

実際にネットワーク上での通信でARPが使われる場合は、以下のような流れとなります。

基本的にARPが使われる流れは非常に単純なものです。

  1.  ARPリクエスト(ARP要求)を出す
  2.  ARPリプライ(ARP応答)を受ける

ARPを使う場合、まずネットワーク全体に対して「ARPリクエスト(ARP要求)」をブロードキャストします。

そして、この要求を受け取ったネットワーク上の機器は、「要求が自分と一致」する場合は返答を返し「ARPリプライ(ARP応答)」、一致しない場合はそのまま要求を無視します。

この結果、送信元は返答された情報により相手先の機器のMACアドレスとIPアドレスを知ることができます。

ARPテーブル(キャッシュ)の役割

ネットワーク上の機器は、ARPテーブルと呼ばれる情報を持っています。

これは、通信でどのような役割を果たしているのでしょうか。

また、MACアドレステーブルのような他のテーブルとの違いはどういった点にあるのでしょうか。

ARPテーブルとは

ARPは、ネットワーク通信を行う際にIPアドレスをMACアドレスに変換するための仕組みです。

しかし、その都度ブロードキャストにARPリクエストをし、ARPリプライを受け取るという処理を行なうのは、効率が悪くネットワークの動作が遅くなります。

これを解決する仕組みが「ARPテーブル(ARPキャッシュ)」です。

ARPテーブルでは、ARPリプライの応答結果(IPアドレスとMACアドレスの対応情報)を数分間キャッシュしておく仕組みです。

これによって組み合わせの情報が必要になるたびにARPリクエストを行うことがなくなります。

ちなみに現在端末で持っているARPテーブルの内容は、コマンドプロンプトなどから以下のコマンドを実行することで確認することができます。

arp -a

これを実行すると、その時点でコンピューターに保存されているARPテーブルの内容を表示することができます。

皆さんもぜひ自分のコンピュータなどでコマンドを実行して、内容を確認してみましょう。

ARPテーブルを使った処理の流れとは

ARPテーブルは、ネットワークに接続されIPアドレスを持つ機器が持っている情報だと説明しました。

実際に通信が行われる場合は、どのような流れでこの情報が活用されるのでしょうか。

先ほど、ARPを使う流れは以下のようであると説明しました。

  1. ARPリクエストを出す
  2. ARPリプライを受ける

ここで、ARPテーブルを使うとどうなるのでしょうか。

ARPテーブルを使った場合、ARPを使う際に、まずARPテーブルを参照し、情報がない場合にブロードキャストするという流れになります。

そうすることで不必要な問い合わせがなくなり、パフォーマンスが向上します。

ARPテーブルとMACアドレステーブル

ネットワーク上で通信に使われるテーブルには、ARPテーブルの他にMACアドレスのテーブルがあります。

両者はどのように違うものなのでしょうか?

<ARPテーブル>

コンピュータ上のキャッシュされる情報でIPアドレスと対応するMACアドレスの組み合わせを保存したもの

<MACアドレステーブル>

ネットワーク機器に保管される情報でMACアドレスと対応するポートの情報で構成され、IPアドレスの情報は持たない

 

なお、ARPとMACアドレスやIPアドレスのようなネットワークに関わるアドレスの違いについては、次の章で解説します。

ARPとMACアドレス、IPアドレスの違い

ネットワーク上で使われるアドレスには、ARP以外にもMACアドレスやIPアドレスがあります。

これら3つは何かと間違えやすいところもありますが、果たしている役割や特徴もそれぞれに異なっています。

以下では、これら3つの違いを解説します。

ARPとMACアドレス、IPアドレスの特徴

ARPとMACアドレス、IPアドレスは、それぞれ以下のような特徴があります。

<ARP>

  • IPアドレスからMACアドレスを知るために使われるプロトコル
  • ネットワークでパケットを転送するために不可欠なプロトコル
  • ARPテーブルと呼ばれる機能を持っている

など

<MACアドレス>

  • ネットワークに接続されるすべての機器に割り当てられた唯一固有のアドレス
  • 原則的に変化することはない(意図的に割り当てることは可能)
  • 16進数で構成されベンダーやブランド、機器の型番などが特定できる

など

<IPアドレス>

ARPやMACアドレスに対して、IPアドレスには以下のような特徴があります。

  • ネットワーク機器に割り当てられる番号
  • グローバルIPアドレスとプライベートIPアドレスがあり、グローバルIPは固有の番号
  • プライベートIPアドレスは同一セグメント内では重複ができない

など

加えて、先ほど少し触れたOSI参照モデルでは、以下のように働く階層が異なっています。

  • ARP:データリンク層とネットワーク層
  • MACアドレス:データリンク層
  • IPアドレス:ネットワーク層

これを見ると、「データリンク層に属するMACアドレス」、「ネットワーク層に属するIPアドレス」、そして「両者をつなぐARP」の位置付けがよくわかります。

ARPとMACアドレス、IPアドレスの違いとは

ARPとMACアドレス、IPアドレスの特徴について見てきましたが、それぞれの解説を踏まえて違いを改めて整理してみましょう。

 ARPMACアドレスIPアドレス
OSI参照モデルデータリンク層とネットワーク層の間データリンク層ネットワーク層
アドレステーブルあり
IPアドレスとMACアドレス
あり
MACアドレスとポート
なし
種別プロトコルアドレスアドレス

このように、3者にはいろいろな違いがあります。

しかし、ネットワーク上で通信を行うためにはすべて欠かせないものとなっています。

ARPとRARP

最後にARPとよく似たキーワードに、RARPと呼ばれるものがあります。

RARPがどのようなもので、どんな場面で使われるのか解説します。

まず、RARPとはReverse Address Resolution Protocolの略で、ラープと読みます。

RARPとは、名前の通りARPとは全く逆に「MACアドレスからIPアドレスを取得するためのプロトコル」です。

例えばディスク装置を搭載しないタイプのシンクライアントなどでは、IPアドレスの情報を保存することができません。

こうしたタイプのコンピュータが正常に動作するためには、IPアドレスを取得するためにRARPの仕組みが必要となっています。

まとめ

ネットワーク上で正常な通信を行うためには、ネットワーク機器、端末、各種アドレスやプロトコルなどさまざまな要素が関係しています。

今回解説したARPもその一つです。

通信を行うためにはIPアドレスをMACアドレスへ変換する必要があります。

ARPは、両者の変換を行うための仕組みです。

OSI参照モデルを見るとよくわかりますが、まさにデータリンク層とネットワーク層を橋渡ししている重要なプロトコルなのです。

Winserver紹介資料

Winserver紹介資料

Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。

Winserver紹介資料

Winserver紹介資料

Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。

詳しくはこちら

"VPS for 会計ソフト"

・コスパ◎ 会計ソフトが特別価格!
・テレワーク◎ 自宅から共同作業できる!

▶ プランを見る

関連記事

サーバーの基礎知識

TOP