アドレス解決プロトコル(ARP)とは何ですか?
Address Resolution Protocol(ARP)は、動的IPアドレスをローカルエリアネットワーク(LAN)内の永続的な物理マシンアドレスにマッピングするための手順です。 物理マシンアドレスは、メディアアクセス制御(MAC)アドレスとも呼ばれます。
ARPの仕事は、基本的に32ビットアドレスを48ビットアドレスに変換し、その逆も変換することです。 これは、IPバージョン4(Ipv4)のIPアドレスは32ビットですが、MACアドレスは48ビットであるために必要です。
ARPはOpen Systems Interconnection model(OSIモデル)の第2層と第3層の間で動作します。 MACアドレスは、osiモデルのレイヤ2であるデータリンクレイヤに存在します。 IPアドレスはレイヤ3、ネットワークレイヤ上に存在します。
ARPは、トークンリング、fiber distributed data interface(FDDI)、ATMを介したIPなどの他のLAN技術を介したIPにも使用できます。
ARPの仕組み
新しいコンピュータがLANに参加すると、識別と通信に使用する一意のIPアドレスが割り当てられます。 特定のLAN上のホストマシン宛ての着信パケットがゲートウェイに到着すると、ゲートウェイはARPプログラムにIPアドレスと一致するMACアドレスを見つ ARP cacheと呼ばれるテーブルは、各IPアドレスとそれに対応するMACアドレスのレコードを保持します。
Ipv4Ethernetネットワーク内のすべてのオペレーティングシステムはARPキャッシュを保持します。 ホストは、LAN内の別のホストにパケットを送信するためにMACアドレスを要求するたびに、そのARPキャッシュをチェックして、IPからMACアドレスへの変換がすでに存在するかどうかを確認します。 そうであれば、新しいARP要求は不要です。 変換がまだ存在しない場合は、ネットワークアドレスの要求が送信され、ARPが実行されます。
ARPは、LAN上のすべてのマシンに要求パケットをブロードキャストし、マシンのいずれかがその特定のIPアドレスを使用しているかどうかを尋ねます。 マシンがIPアドレスを自分のものとして認識すると、ARPが将来の参照のためにキャッシュを更新し、通信を続行できるように応答を送信します。
自身のIPアドレスを知らないホスト-マシンは、逆ARP(RARP)プロトコルを使用して検出できます。
ARPキャッシュサイズは制限されており、領域を解放するためにすべてのエントリが定期的にクリーンアップされます。 アドレスは数分間だけキャッシュに残る傾向があります。 頻繁な更新により、ネットワーク内の他のデバイスは、物理ホストが要求されたIPアドレスをいつ変更したかを確認できます。 クリーニングプロセスでは、未使用のエントリは、現在電源がオンになっていないコンピュータとの通信に失敗した試行とともに削除されます。
Proxy ARP
Proxy ARPを使用すると、ネットワークプロキシはネットワーク外のIPアドレスに対するARPクエリに応答できます。 これにより、あるサブネットワークから別のサブネットワークへのパケットの転送が正常に可能になります。
ARP照会パケットがブロードキャストされると、ルーティングテーブルを調べて、LAN上のどのデバイスが宛先に最速で到達できるかを調べます。 多くの場合、ルータであるこのデバイスは、ネットワーク外のパケットを意図した宛先に転送するためのゲートウェイとして機能します。
ARPスプーフィングとARPキャッシュポイズニング
ARPを使用するLanは、ARPスプーフィングに対して脆弱であり、ARPポイズンルーティングまたはARPキャッシュポイズニングとも呼ばれます。
ARPスプーフィングは、攻撃者のMACアドレスをネットワーク内の正当なコンピュータまたはサーバーのIPアドレスとリンクするために、ハッカーがLAN経由で偽のARPメッセージをブロードキャストするデバイス攻撃です。 リンクが確立されると、ターゲットコンピュータは、最初に元の宛先用のフレームと、正当なIPアドレス用のデータをハッカーのコンピュータに送信できます。
ARPのなりすましは、企業に深刻な影響を与える可能性があります。 最も単純な形式で使用されると、ARPスプーフィング攻撃は機密情報を盗む可能性があります。 ただし、この攻撃は、次のような他の悪意のある攻撃を容易にすることもできます:
- 中間者攻撃
- サービス拒否攻撃
- セッションハイジャック
ARPの歴史と未来
ARPは、1982年11月にDavid C.Plummerによって発行されたRequest for Comments(RFC)826で最初に提案され、議論されました。 アドレス解決の問題は、イーサネットがすぐに推奨されるLAN技術になったため、IPスイートの初期にはすぐに明らかでしたが、イーサネットケーブルには48ビットアドレスが必要でした。
128ビットのIpv6アドレスは、ARPの代わりにNeighbor Discovery protocol acquire configuration informationを使用します。 Ipv4アドレスは現在より一般的ですが、Ipv6の使用は増加しています。 この増加は、主にIPアドレスを必要とするIoTデバイスの流入によるものです。 ネイバー検出はOsiモデルのレイヤ2で動作し、Internet Control Message Protocol(ICMP)バージョン6を使用して近隣ノードを検出します。