【入門編】 ARP(Address Resolution Protocol)の動作原理 – ネットワーク基礎とWebセキュリティ実践ガイド

こんにちは!ネットワークの世界へようこそ。インフラやWebセキュリティの現場に身を置いていると、日夜さまざまなパケットが飛び交い、私たちのリクエストを目的地へと運んでくれています。

今回は、そんなネットワークの基礎の基礎、そして私たちが普段何気なく使っている通信の裏側でこっそりと、しかし非常に重要な役割を果たしている「ARP(Address Resolution Protocol)」の仕組みについて、じっくりと紐解いていきたいと思います。

「ARPって名前は聞いたことがあるけれど、パケットの動きを想像すると少しモヤモヤする……」
「IPアドレスとMACアドレスって、何がどう違うんだっけ?」

そんな疑問を抱えている初心者の方もご安心ください。一歩ずつ、身近な例えを交えながら優しく解説していきますので、ぜひ最後までリラックスして読み進めてくださいね!

—

1. 郵便配達で例える「IPアドレス」と「MACアドレス」

ネットワークの世界に足を踏み入れたばかりの頃、誰もが一度は混乱するのが「IPアドレス」と「MACアドレス」の違いです。この2つのアドレスの役割を、私たちが普段利用している「郵便配達」に例えて考えてみましょう。

  • IPアドレス = 宛先の「ご住所(東京都〇〇区……)」

インターネットという広大な世界(あるいは社内の広いネットワーク)の中で、今、手紙を届けたい相手が「どこにいるのか」を指し示す論理的な住所です。ネットワークの場所が変われば、この住所も変わります。

  • MACアドレス = 受取人の「お名前(または固有のマイナンバーのようなもの)」

ネットワーク機器(パソコンやスマホのNIC:ネットワークカード)が工場で生産されたときに世界唯一の番号として刻印される、変更不可能な物理的な識別子です。

さて、あなたが同じ部屋(同じローカルネットワーク)にいる同僚のPCにデータを送りたいとします。あなたは相手のIPアドレス(住所)を知っています。しかし、ネットワークのケーブルやWi-Fiの電波に乗せてパケットを送り出すとき、機械たちはこう呟きます。

「住所(IPアドレス)は分かったけれど、目の前のどの端末(MACアドレス)にこの封筒を渡せばいいんだ?」

ここで登場するのが、今回の主役であるARP(Address Resolution Protocol)です。

—

2. ARPの正体と、ローカルネットワークでの叫び声

ARPは、一言で言うと「このIPアドレスを使っている人は、MACアドレスが何番ですか?」と周囲に問いかけるプロトコルです。

私たちがオフィスのフロアで「おーい、IPアドレスが 192.168.1.50 の人、あなたのMACアドレスを教えてくださーい!」と大声で叫ぶ状況を想像してみてください。この叫び声の通信を、ネットワーク用語で「ブロードキャスト(一斉送信)」と呼びます。

ARPが動くときのパケットの旅は、次のようなドラマチックな流れで進みます。

1. ARPリクエスト(問いかけ)の送信
送信元のPCは、「192.168.1.50 のMACアドレスを知りたい!」というARPリクエストを作成します。宛先のMACアドレス欄には、ネットワーク上の全員に向けて叫ぶための特別なブロードキャストアドレス(ff:ff:ff:ff:ff:ff)が指定されます。
2. フロア全員が耳を傾ける
このブロードキャストパケットは、同じスイッチングハブにつながっているすべての端末(プリンター、スマホ、他のPC)に届きます。「なんだろう?」と全員が一度はこのパケットの中身を確認します。
3. 該当者以外はスルー
「おっと、私のIPアドレスは 192.168.1.50 じゃないや」と思った端末たちは、そのパケットをそっと無視(破棄)します。
4. ARPリプライ(返答)の返却
見事に名指しされた 192.168.1.50 の端末だけが、「はい!私のMACアドレスは aa:bb:cc:dd:ee:ff ですよ」と、問いかけてくれた相手にだけこっそり(ユニキャストで)お返事を返します。

これで、送信元は「なるほど、あのIPアドレスの物理的な宛先(MACアドレス)はこれだな」と無事に知ることができました。

—

3. 効率化の立役者!「ARPキャッシュ」の仕組み

毎回、通信をするたびにフロア全体に大声で「誰ですかー!」と叫んでいたら、ネットワークがすぐに大渋滞を起こしてしまいますよね。そこでネットワーク機器は、一度調べた対応表を自分の頭の中にメモしておく機能を持っています。これが「ARPキャッシュ(ARPテーブル)」です。

自分のPCがこれまでに学習した「IPアドレスとMACアドレスの対応表」は、コマンドを使っていつでも自分の目で確認することができます。実務やトラブルシューティングでも本当によく使う基本コマンドですので、ぜひ覚えておきましょう!

WindowsやLinuxでのARPテーブル確認方法

お使いの端末のターミナル(コマンドプロンプトやPowerShell、Linuxのシェル)を開き、以下のコマンドを打ち込んでみてください。

# 現在保持しているARPキャッシュの一覧を表示するコマンド
arp -a

このコマンドを実行すると、以下のようなリストが表示されます。

インターフェイス: 192.168.1.10 --- 0x3
  インターネット アドレス     物理アドレス      種類
  192.168.1.1           cc-d1-1a-2b-3c-4d   動的 (dynamic)
  192.168.1.254         10-fe-ed-55-66-77   動的 (dynamic)

この「種類」の欄にある 「動的 (dynamic)」 という文字に注目してください。

ARPキャッシュの寿命と動的更新プロセス

ARPキャッシュは、一度覚えたら永遠に記憶しているわけではありません。ネットワークの接続機器が入れ替わったり、IPアドレスが変わったりする可能性があるため、ARPキャッシュには「保持期間(有効期限、TOSやエージングタイム)」が設定されています。

OSやネットワーク環境によって異なりますが、一般的には数分から長くても20分程度で一度キャッシュが消去(期限切れ)されるようになっています。
もし有効期限が切れたあとに再びその宛先へ通信しようとすると、OSは再び先ほどのARPリクエスト(ブロードキャスト)を飛ばして、最新のMACアドレスを新しく覚え直します。この一連のプロセスを「ARPテーブルの動的更新」と呼びます。

—

4. 現場で役立つ!ARPにまつわるトラブルとセキュリティの視点

インフラエンジニアとして現場に出ると、このARPの仕組みが原因で頭を悩ませるトラブルに遭遇することがあります。最後に、少しだけ実務的な視点もお話しておきましょう。

IPアドレスの重複エラー

社内ネットワークなどで、うっかり同じIPアドレスを複数のPCに設定してしまったとき、「IPアドレスが競合しています」という警告を見たことはありませんか?
これは、ARPの仕組みが引き金になっています。自分が使おうとしているIPアドレスに対して「それ俺の住所だけど?」と別の機器がARPリプライを返してくることで、OSが「おや、同じ住所を名乗る不審者がいるぞ」と検知できるのです。

ARPスプーフィング(なりすまし)の脅威

セキュリティの文脈において、ARPには実は大きな弱点があります。それは「通信相手が本当に本物かどうかを確認する認証の仕組み(仕組み上の暗号化や署名)がARPには備わっていない」という点です。
悪意のある攻撃者が偽のARPリプライを大量に送りつけることで、「私がルーターです(MACアドレスは偽物)」と周囲に嘘をつき、通信を盗聴したり改ざんしたりする「ARPスプーフィング(ARPキャッシュポイズニング)」という古典的かつ強力な攻撃手法が存在します。
現代のエンタープライズネットワークでは、スイッチ側の機能(DAI: Dynamic ARP Inspectionなど)を使って、こうした偽のARPメッセージをブロックする対策が標準的に行われています。

—

まとめ

いかがでしたでしょうか? 今回はネットワークの裏側でひたむきに働く「ARP」の仕組みについて、郵便配達の例えや実際のコマンドを交えて解説しました。

  • IPアドレス(住所)からMACアドレス(名前)を調べるのがARPの仕事
  • 最初はネットワーク全体へブロードキャスト(大声で叫ぶ)で問いかける
  • 一度調べた内容は「ARPキャッシュ」に一時保存して効率化を図る
  • 保持期間が切れると自動的に再取得(動的更新)される

普段私たちがブラウザでスムーズにWebサイトを閲覧できたり、社内でファイル共有ができたりするのは、こうしたパケットたちの地道な名札確認のやり取りがあってこそです。

次にターミナルで arp -a を叩いたときには、画面に並ぶIPとMACの羅列の向こう側で、パケットたちが元気に行き交う姿をぜひ想像してみてくださいね。それでは、また次回の技術解説でお会いしましょう!

コメント

タイトルとURLをコピーしました