通信に必要な2つのアドレスを仲介する重要プロトコル!ARP
「手紙が届けるためには、宛先の住所だけでなく、中継局の宛先も必要ですよね?」
はい、こんにちは!松井真也です。
前回で、シリーズ「着実に普及していくIPアドレスの進化版:IPv6」が終了しました!IPv6は、IPv4とバージョンが違うだけかと思いきや、仕組みが大きく異なるので、別物のネットワークだと考えて学ぶのがいいと実感しました!
さて、頭の中をIPv4に戻して、今回は、ARP(アドレス解決プロトコル)についてご紹介します。情報ネットワークで「アドレス」といえば、「MACアドレス」(L2の物理的なアドレス)と「IPアドレス」(L3の論理的なアドレス)の2つですね。この2つが連携して、遠く離れたネットワークのノードまでデータが届きます。
この「IPアドレス」からLAN上の「MACアドレス」を知るために必要なのがARPです。これは重要そうですね!
早速見ていきましょう!
ARPとは何か?
ARPとは、Address Resolution Protocolの略です。上で触れたように、IPアドレスから物理アドレス(MACアドレス)を知るためのプロトコルです。
IPv4環境では、インターネットやLANで通信するためには、どうしてもこの二つのアドレスが不可欠です。
IPアドレスはデバイスがネットワーク上で識別されるためのアドレスであり、MACアドレスはネットワークカード(NIC)に固有に割り当てられた物理的なアドレスでしたね。これらのアドレスをリンクすることで、データの送受信がスムーズに行われるのです。
存在理由は何となく分かりました!
ARPの動作プロセス
ARPの動作は、想像するよりもシンプルです。
まず、データを送信したいデバイスが「ARPリクエスト」と呼ばれる特別なパケットをネットワーク上にブロードキャストします。このリクエストには、「このIPアドレスの持ち主のMACアドレスを教えてください!」という問い合わせが含まれています。
このブロードキャストを受け取った全デバイスの中で、問い合わせられたIPアドレスを持つデバイスが一台だけ応答します。この応答は「ARPリプライ」と呼ばれます。自身のMACアドレスを送信元に直接送り返す形で行われます。
ARPパケットのフィールド構成は次回にお話しします!
ARPキャッシュの役割と管理
ARPプロセスを効率化するために、各デバイスは「ARPキャッシュ」という形で既知のIPアドレスとMACアドレスのペアを記録します。フレーム一つを送るたびに、ARPリクエストするわけにはいきませんからね…。
このキャッシュにより、同じデバイスとの通信が再び発生したときに、ARPリクエストを再度送信する必要がなくなります。
しかし、ネットワーク上のデバイスの設定変更などがあった場合には、キャッシュされた情報が古くなってしまうこともあります。そのため、ARPキャッシュには有効期限が設定されています。
どれくらいだと思いますか?だいたい数分です。人間の感覚だと短すぎる気もしますが、ネットワーク環境が変わったとき長い時間待つのも嫌ですからね…。
これにより、常に最新の情報が保持され、通信の効率が保たれるのです。
ARPのセキュリティ問題
ARPのシンプルな仕組みは、同時にセキュリティの問題も抱えています。
例えば、「ARPスプーフィング」と呼ばれる攻撃手法があります。攻撃者が偽の「ARPリプライ」を送信して、本来の機器になりますわけです。
これにより、ネットワーク上のデータ流を自身のデバイスへと誘導するという手口です。これにより、重要なデータが盗まれたり、通信が妨害されたりする可能性があります。困りますね。
これを防ぐためには、ネットワーク機器でARPパケットを監視し、不審な活動を検出するセキュリティ機能を導入したりします。
はい、本日はここまで。今回は、ARPの基本についてご紹介しました。次回はもう少し技術的にARPのパケット構成についてお話しします。
では!
この記事が気に入ったらサポートをしてみませんか?