皆さんはARPと呼ばれる仕組みを知っていますか?
ARPは、IPアドレスからMACアドレスの情報を取得するためのネットワーク通信で使われるプロトコルです。
ネットワークで正常に通信を行うためには、さまざまな機器、仕組みやプロトコルが組み合わさって、適切に働く必要があります。
今回は、ネットワークで通信を行うために欠かせないプロトコルの一つであるARPについて解説します。
オンラインセラーに最適なVPSなら
WinserverのPRIMA VPS!
・【回数無制限】未使用新規IPアドレスの発行
・【回数無制限】OS初期化(MACアドレスリセット)
PRIMA VPSを見る
目次
ARPとは
ネットワークで使われるARPとは、どのようなものなのでしょうか。
まずは、基本的な解説をします。
ARP(Address Resolution Protocol)とは、ネットワーク通信で必要となるIPアドレスとMACアドレスの変換を行うための仕組みです。
ネットワーク上で正しい通信を行うためには、この「IPアドレス→MACアドレス」への変換が不可欠ですが、ARPはその点で大きな役割を担っています。
2022.03.31
MACアドレスとは。通信での役割、IPアドレスとの違いを解説
みなさんは、ネットワーク機器に「00:1A:1A:FF:80:00」といった番号が付いているのを見たことはありませんか?これはMAC...
2020.11.05
IPアドレスとは。種類や確認方法、注目のIPv6について解説
現在では、パソコンやスマートフォン、IoT機器などの膨大なデバイスが、ネットワークに接続され利用されています。ネットワークに接続され...
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 ネットワーク層」の橋渡しをしています。
2022.02.24
OSI参照モデルとは。TCP/IPとの違いや階層構造を徹底解説
ネットワークについて学ぶと必ず出てくる概念が「OSI参照モデル」です。OSI参照モデルとは、複雑なネットワークの仕組みを機能別に7つ...
ネットワーク通信におけるARP
実際にネットワーク上での通信でARPが使われる場合は、以下のような流れとなります。
基本的にARPが使われる流れは非常に単純なものです。
- ARPリクエスト(ARP要求)を出す
- 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テーブルの内容を表示することができます。
皆さんもぜひ自分のコンピュータなどでコマンドを実行して、内容を確認してみましょう。
ARPテーブルを使った処理の流れとは
ARPテーブルは、ネットワークに接続されIPアドレスを持つ機器が持っている情報だと説明しました。
実際に通信が行われる場合は、どのような流れでこの情報が活用されるのでしょうか。
先ほど、ARPを使う流れは以下のようであると説明しました。
- ARPリクエストを出す
- 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アドレスの特徴について見てきましたが、それぞれの解説を踏まえて違いを改めて整理してみましょう。
ARP | MACアドレス | 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紹介資料
Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。
Winserver紹介資料
Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。