見出し画像

通信に必要な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のパケット構成についてお話しします。

では!


この記事が気に入ったらサポートをしてみませんか?