ARPとは基本的に
- Address Resolution Protocol(アドレス解決プロトコル)の略称
- IPアドレスとMACアドレスの対応付けを行うプロトコル
といった概念のことを指します。
前回記事:MACアドレスとは?なぜ必要なのか分かりやすく図解で解説
-
MACアドレスとは?なぜ必要なのか分かりやすく図解で解説
MACアドレスは ネットワーク端末の住所であり ネットワークにつながる機器や端末が固有に持つ識別子・情報を差し 物理的な ...
続きを見る
ARPとは基本的な概念と仕組みについて分かりやすく図解でARPはどんなときに必要?仕組みを図解で
ARPが必要となる場面として
- 通信相手のIPアドレスを知っているとき
- そのIPアドレスに対応するMACアドレスを取得するために
といった目的で使用されます。
ん〜...よく分からないぞ
ARPはネットワーク端末のMACアドレスを調べるために必要
ARPは送信元ホストが通信先のIPアドレスを持つデータを送信する場合、送信先MACアドレスを知る必要があります。
具体的には、
- IPアドレスを持つデバイスが
- 自身のIPアドレスと
- 通信先のIPアドレスを含むARP要求メッセージを送信する
といったことから始まります。
次に、MACアドレスを持つデバイスは、自身のMACアドレスと通信先のIPアドレスが含まれたARP応答メッセージを返します。
ARP応答メッセージは、ARP要求メッセージを受信したデバイスに直接送信されます。
これにより、ARPキャッシュに通信先のIPアドレスとMACアドレスの対応が保存されます。
以降の通信時にはARPキャッシュを参照することで、「ARP要求メッセージを送信する必要がなくなりデータ送信できる」というわけですね。
以上のことからARPは、
- ローカルネットワーク上で使用され
- ARPリクエストを送信して
- そのIPアドレスに対応するMACアドレスを取得する
といった流れでデータ通信を行います。
ARPは、通信相手の「MACアドレスを取得するときに使われる概念」ってことね
しかし、複数の端末やデバイスから取得したMACアドレスを、ARPはどうやって管理しているのでしょうか。
実はARPは、MACアドレス情報を「ARPテーブル」を使って管理しています。
ARPテーブルってモノを載せておくテーブル?
ARPとは基本的な概念と仕組みについて分かりやすく図解でARPテーブルとは?作成される意味と管理される理由
ARPテーブルとは、ARPによって取得されたIPアドレスとMACアドレスの対応関係を保存する表のことです。
ARPによって通信を行う際に、IPアドレスをMACアドレスに変換する必要がありますが、ARPテーブルに変換済みの情報が保存されていれば、通信がスムーズに行われることができます。
ARPテーブルって情報を簡単に思い出すための「引き出し」だな
そのためARPテーブルは、「ARPキャッシュ」とも呼ばれます。
ARPテーブルが作成されキャッシュで管理される
ARPキャッシュには、
- IPアドレスとMACアドレスの対応情報が格納され
- ARPテーブルのエントリと同じものが作られる
といった特徴があります。
ARPリクエストを送信する前に、ARPキャッシュに問い合わせることで通信の効率を向上させることができます。
ARPテーブルの作成方法と管理方法は各ノードによって異なりますが、一般的にARPリクエストに対するARPリプライメッセージを受信することで、ARPテーブルが作成されます。
ARPテーブルの管理方法は、
- ARPテーブルのエントリの有効期限を設定することや
- ARPキャッシュポイズニング攻撃に対する対策
などを行うことが挙げられます。
MACアドレスを取得したら、キャッシュデータが残るんだね
ところで「ARPキャッシュポイズニング攻撃」ってなんだ?
ARPキャッシュポイズニング攻撃とは?対策方法について
ARPキャッシュポイズニング攻撃は、
- ARPテーブルに偽の情報を登録することで
- 正当な通信を妨害することができる
ハッカーによるサイバー攻撃の1つです。
え、相当ヤバイ攻撃なんじゃないの?
ARPキャッシュポイズニング攻撃によりハッカーは、
- 通信の盗聴
- 情報の改ざん
- ドキュメントの閲覧・権限の変更
といった機密情報の収集やドキュメントの制御まで出来てしまいます。
ARPキャッシュポイズニング攻撃を受けないための対策
ARPキャッシュポイズニング攻撃に対する対策方法としては、以下のような方法があります。
対策 | 内容 |
---|---|
ARPテーブルの監視 | ARPテーブルのエントリを定期的に監視することで、偽のエントリが登録されていないかを確認することができます。 |
静的ARPテーブルの使用 | ARPキャッシュポイズニング攻撃の対象となるARPテーブルを事前に手動で設定することで、攻撃の被害を最小限に抑えることができます。 |
セキュリティソフトの利用 | ARPキャッシュポイズニング攻撃に対する防御機能を備えたセキュリティソフトを使用することで、攻撃からネットワークを保護することができます。 |
手っ取り早いのはセキュリティソフト入れるほうが良いかな
セキュリティソフトはこちら(アフィリンクはありません)
ARPテーブルが管理される理由は、こうした攻撃からデータを守るためと言えるでしょう。
また、ARPが正しく動作しないのはARPキャッシュポイズニングが原因とは限りません。
ARPとは基本的な概念と仕組みについて分かりやすく図解でARPトラブルシューティングの対策とポイント
ARPが正しく動作せずMACアドレスが取得できないとき、ARPキャッシュポイズニングとは別にARP動作トラブルも考えられます。
ARPキャッシュポイズニンズと必ずしも同じ原因ではないため、以下のような対策が考えられます。
項目 | 対策 |
---|---|
ARPテーブルの確認 | ARPテーブルに不正なエントリが無いか確認することで、ARPトラブルを特定することができます。 |
ARPリクエスト/リプライの確認 | ARPリクエストとリプライのメッセージが正しく送信されているかを確認することで、ARPトラブルを特定することができます。 |
ネットワークトラフィックの確認 | ネットワーク上のトラフィックが正常に流れているかを確認することで、ARPトラブルの原因を特定することができます。 |
ARPトラブルの原因としては、
- ARPリクエスト
- ARPリプライのタイムアウト
- ARPキャッシュのエントリの不足
などが挙げられます。
MACアドレスが取得できない要因はたくさんあるんだな
ARPトラブル対策のポイント
ARPトラブルのポイントとして、ネットワークの設定や機器の設定を確認すること。
意外と盲点でやりがちなのが、
- ポートからLANが抜けていたり
- Hubの電源が抜けていたり
といった物理的なことがARPトラブルの原因だったりします。
また、ARPトラブルはネットワークの不具合や攻撃の兆候だったりするので、早めに対策をした方が良いでしょう。
たとえばネットワークトラブルで、NASなどにバックアップが取れていなかった...など企業だと致命的なエラーにつながる(経験済み)ので要注意です。
ARPとは基本的な概念と仕組みについて分かりやすく図解でまとめ
ARPはネットワーク通信において、データ通信先を取得する重要な役割を担っていることが分かりましたね。
ARPテーブルやARPキャッシュポイズニング攻撃など、ARPプロトコルに関する基本的な概念と仕組み、セキュリティ、トラブルシューティングを見直して、より快適なネットワーク環境を作っちゃいましょう。
ぜひ以下のQ&Aも参照ください