ARP-Eyecatch

広告 ネットワークのルール

ARPとは?基本的な概念と仕組みについて分かりやすく図解で解説

ARPとは基本的に

  • Address Resolution Protocol(アドレス解決プロトコル)の略称
  • IPアドレスとMACアドレスの対応付けを行うプロトコル

といった概念のことを指します。

MACアドレス?
macaddress-Eyecatch
MACアドレスとは?なぜ必要なのか分かりやすく図解で解説

MACアドレスは ネットワーク端末の住所であり ネットワークにつながる機器や端末が固有に持つ識別子・情報を差し 物理的な ...

続きを見る

ARPとは基本的な概念と仕組みについて分かりやすく図解でARPはどんなときに必要?仕組みを図解で

ARP-title
ARPの紹介

ARPが必要となる場面として

  • 通信相手のIPアドレスを知っているとき
  • そのIPアドレスに対応するMACアドレスを取得するため

といった目的で使用されます。

ん〜...よく分からないぞ

ARPはネットワーク端末のMACアドレスを調べるために必要

ARPは送信元ホストが通信先のIPアドレスを持つデータを送信する場合、送信先MACアドレスを知る必要があります

ARPがMACアドレスを調べるイメージ
ARPがMACアドレスを調べるイメージ

具体的には、

  • IPアドレスを持つデバイスが
  • 自身のIPアドレスと
  • 通信先のIPアドレスを含むARP要求メッセージを送信する

といったことから始まります。

次に、MACアドレスを持つデバイスは、自身のMACアドレスと通信先のIPアドレスが含まれたARP応答メッセージを返します。

ARP応答メッセージは、ARP要求メッセージを受信したデバイスに直接送信されます

ARP-Responce-image.png
ARPがMACアドレスを取得するイメージ

これにより、ARPキャッシュに通信先のIPアドレスとMACアドレスの対応が保存されます。

以降の通信時にはARPキャッシュを参照することで、「ARP要求メッセージを送信する必要がなくなりデータ送信できる」というわけですね。

ARP-datesoushin-image
ARPで取得したMACアドレスにデータ送信する

以上のことからARPは、

  1. ローカルネットワーク上で使用され
  2. ARPリクエストを送信して
  3. そのIPアドレスに対応するMACアドレスを取得する

といった流れでデータ通信を行います。

ARPは、通信相手の「MACアドレスを取得するときに使われる概念」ってことね

しかし、複数の端末やデバイスから取得したMACアドレスを、ARPはどうやって管理しているのでしょうか。

実はARPは、MACアドレス情報を「ARPテーブル」を使って管理しています。

ARPテーブルってモノを載せておくテーブル?

ARPとは基本的な概念と仕組みについて分かりやすく図解でARPテーブルとは?作成される意味と管理される理由

ARPテーブルとは、ARPによって取得されたIPアドレスとMACアドレスの対応関係を保存する表のことです。

arp-table-image
ARPのMACアドレス保存表のイメージ

ARPによって通信を行う際に、IPアドレスをMACアドレスに変換する必要がありますが、ARPテーブルに変換済みの情報が保存されていれば、通信がスムーズに行われることができます

ARPテーブルって情報を簡単に思い出すための「引き出し」だな

そのためARPテーブルは、「ARPキャッシュ」とも呼ばれます。

ARPテーブルが作成されキャッシュで管理される

ARPキャッシュには、

  • IPアドレスとMACアドレスの対応情報が格納され
  • ARPテーブルのエントリと同じものが作られる

といった特徴があります。

ARPリクエストを送信する前に、ARPキャッシュに問い合わせることで通信の効率を向上させることができます

ARP-cashe-table-image
ARPキャッシュのイメージ

ARPテーブルの作成方法と管理方法は各ノードによって異なりますが、一般的にARPリクエストに対するARPリプライメッセージを受信することで、ARPテーブルが作成されます

ARPテーブルの管理方法は、

  • ARPテーブルのエントリの有効期限を設定することや
  • ARPキャッシュポイズニング攻撃に対する対策

などを行うことが挙げられます。

MACアドレスを取得したら、キャッシュデータが残るんだね

ところで「ARPキャッシュポイズニング攻撃」ってなんだ?

ARPキャッシュポイズニング攻撃とは?対策方法について

ARPCashe-posin
ARPキャッシュポイズニング攻撃

ARPキャッシュポイズニング攻撃は、

  • ARPテーブルに偽の情報を登録することで
  • 正当な通信を妨害することができる

ハッカーによるサイバー攻撃の1つです。

ARP-cache poisoning-attack-image
ARPキャッシュポイズニング攻撃を受けてるイメージ

え、相当ヤバイ攻撃なんじゃないの?

ARPキャッシュポイズニング攻撃によりハッカーは、

  • 通信の盗聴
  • 情報の改ざん
  • ドキュメントの閲覧・権限の変更

といった機密情報の収集やドキュメントの制御まで出来てしまいます

ARPキャッシュポイズニング攻撃を受けないための対策

ARP-cache-image
ARPが適正に働いている状態

ARPキャッシュポイズニング攻撃に対する対策方法としては、以下のような方法があります。

対策内容
ARPテーブルの監視ARPテーブルのエントリを定期的に監視することで、偽のエントリが登録されていないかを確認することができます。
静的ARPテーブルの使用ARPキャッシュポイズニング攻撃の対象となるARPテーブルを事前に手動で設定することで、攻撃の被害を最小限に抑えることができます。
セキュリティソフトの利用ARPキャッシュポイズニング攻撃に対する防御機能を備えたセキュリティソフトを使用することで、攻撃からネットワークを保護することができます。
ARPキャッシュポイズニング攻撃に対する対策方法

手っ取り早いのはセキュリティソフト入れるほうが良いかな

セキュリティソフトはこちら(アフィリンクはありません)

ARPテーブルが管理される理由は、こうした攻撃からデータを守るためと言えるでしょう。

また、ARPが正しく動作しないのはARPキャッシュポイズニングが原因とは限りません

ARPとは基本的な概念と仕組みについて分かりやすく図解でARPトラブルシューティングの対策とポイント

kaisha-komaru-woman
ARPトラブルでMACアドレスが取得できない

ARPが正しく動作せずMACアドレスが取得できないとき、ARPキャッシュポイズニングとは別にARP動作トラブルも考えられます。

ARPキャッシュポイズニンズと必ずしも同じ原因ではないため、以下のような対策が考えられます

項目対策
ARPテーブルの確認ARPテーブルに不正なエントリが無いか確認することで、ARPトラブルを特定することができます。
ARPリクエスト/リプライの確認ARPリクエストとリプライのメッセージが正しく送信されているかを確認することで、ARPトラブルを特定することができます。
ネットワークトラフィックの確認ネットワーク上のトラフィックが正常に流れているかを確認することで、ARPトラブルの原因を特定することができます。
ARPトラブルシューティングの対策

ARPトラブルの原因としては、

  • ARPリクエスト
  • ARPリプライのタイムアウト
  • ARPキャッシュのエントリの不足

などが挙げられます。

MACアドレスが取得できない要因はたくさんあるんだな

ARPトラブル対策のポイント

ARPトラブルのポイントとして、ネットワークの設定や機器の設定を確認すること

LAN-loop
LANループ接続やっちゃった

意外と盲点でやりがちなのが、

  • ポートからLANが抜けていたり
  • Hubの電源が抜けていたり

といった物理的なことがARPトラブルの原因だったりします。

また、ARPトラブルはネットワークの不具合や攻撃の兆候だったりするので、早めに対策をした方が良いでしょう。

たとえばネットワークトラブルで、NASなどにバックアップが取れていなかった...など企業だと致命的なエラーにつながる(経験済み)ので要注意です。

ARPとは基本的な概念と仕組みについて分かりやすく図解でまとめ

ARPはネットワーク通信において、データ通信先を取得する重要な役割を担っていることが分かりましたね。

ARPテーブルやARPキャッシュポイズニング攻撃など、ARPプロトコルに関する基本的な概念と仕組み、セキュリティ、トラブルシューティングを見直して、より快適なネットワーク環境を作っちゃいましょう。

ぜひ以下のQ&Aも参照ください

Q. ARPとは何か?

Q. ARPの役割と重要性 ARPは?

Q. ARPテーブルとその動作とは?

Q. ARP要求とARP応答のプロセスとは?

Q. ARPキャッシュの使い方とは?

Q. ARPの設定方法とは?

Q. ARPトラブルシューティングって何?

Q. ARPキャッシュポイズニング攻撃とは?

-ネットワークのルール