アドレス解決プロトコル(ARP):ヘッダーとは何ですか?

⚡ スマートサマリー

アドレス解決プロトコル(ARP)は、32ビットのIPv4アドレスを48ビットのMACアドレスにマッピングすることで、デバイスがローカルネットワーク上で通信できるようにします。ARPは、ブロードキャスト要求、キャッシュされた応答、およびヘッダーフィールドを使用して、ネットワーク層とデータリンク層を橋渡しします。

  • 🔗 目的: ARPは、既知のIPアドレスを、ローカルネットワーク上でフレームを配信するために必要なMACアドレスに変換します。
  • 🗂️ ARPキャッシュ: 解決済みマップpingはタイムアウト付きのARPキャッシュに保存され、既知のホストに対する繰り返しのブロードキャストを回避します。
  • 📡 解像度: ホストがARPリクエストをブロードキャストすると、そのIPアドレスを所有するデバイスがMACアドレスを含む応答を返します。
  • 🧩 ARPの種類: プロキシ、無償、 Reverse (RARP)および逆(InARP) ARPは、特殊なアドレス指定ニーズに対応します。
  • 🧾 ヘッダーフィールド: ARPヘッダーには、ハードウェアの種類、プロトコルの種類、アドレス長、操作コード、送信元アドレス、および宛先アドレスが含まれます。
  • 🛡️ セキュリティ: ARPには認証機能がないため、なりすまし攻撃に対して脆弱であり、AIベースの監視はポイズニングの検出に役立つ。

ネットワークにおけるアドレス解決プロトコル(ARP)

ARPとは何ですか?

アドレス解決プロトコル(ARP)は、OSIモデルのネットワーク層の重要なプロトコルであり、 MAC(メディアアクセスコントロール)アドレス デバイスから IPアドレスARPの主な役割は、32ビットのIPアドレス(IPv4の場合)を48ビットのMACアドレスに変換することです。

ARPは主に、ローカルネットワーク上でデバイス同士が通信を行う際に使用されます。ARPの正式名称はAddress Resolution Protocol(アドレス解決プロトコル)です。

アドレス解決プロトコル (ARP) はどのように機能しますか?

IPv4ネットワーク上のすべてのオペレーティングシステムはARPキャッシュを保持しています。ホストがLAN上の別のホストにパケットを送信する必要がある場合、まずARPキャッシュをチェックしてMACアドレス変換が既に存在するかどうかを確認します。マップが既に存在する場合、ping MACアドレスが存在する場合は、ホストはそれを再利用します。存在しない場合は、ホストはARPリクエストをブロードキャストしてMACアドレスを検出します。

下の図は、ホストがアドレスを解決し、パケットを中間ルーター経由で転送して宛先に到達するまでの経路を示しています。

ARPがMACアドレスを解決し、ホストPからルーターT1とT2を経由してホストUへパケットをルーティングする

次の例を考えてみます。

  • ホストPは、P上のアプリケーションがホストUにメッセージを送信する際に、ホストUのプロトコルアドレスを解決します。
  • PがホストUのプロトコルアドレスを直接解決できない場合、インターネット層を使用してT1とT2を経由してパケットをUに配信します。
  • ホスト P は T1 ハードウェア アドレスを解決します。
  • ホストP上のネットワーク層は、U宛の宛先プロトコルアドレスを含むパケットをT1に渡して配信させる。
  • T1はパケットをT2に送信し、T2はパケットをホストUに転送します。

ARP の重要な用語

アドレス解決プロトコルに関連する重要な用語を以下に示します。

  • ARPキャッシュ: ARPはMACアドレスを解決した後、それをテーブル(キャッシュ)に保存して後で参照できるようにするため、後続の通信では再度ブロードキャストすることなくMACアドレスを再利用できます。
  • ARPキャッシュタイムアウト: これは、解決済みのMACアドレスがARPキャッシュから削除されるまでの間、キャッシュ内に保持されることができる時間です。
  • ARPリクエスト: 送信者が指定されたIPアドレスに対応する宛先MACアドレスを見つけることができるかどうかを確認するために、ネットワーク上でブロードキャストされるパケット。
  • ARP 応答/応答: 送信元が宛先から受信するMACアドレス応答は、データのさらなる通信を円滑にする。

アドレス解決方法

プロトコルアドレスとハードウェアアドレスの関連付けは、バインディングと呼ばれます。この目的には、次の3つの手法が用いられます。

  • テーブル検索: バインディングは、プロトコルアドレスをキーとしてメモリに格納されます。データリンク層は、プロトコルアドレスをチェックして、対応するハードウェアアドレスを特定します。
  • 動的: このメッセージング方式は、「ジャストインタイム」な解決に使用されます。データリンク層はハードウェアアドレスの要求メッセージを送信し、宛先が応答します。
  • 閉形式計算: この方式では、プロトコルアドレスはハードウェアアドレスに基づいているため、データリンク層はプロトコルアドレスから直接ハードウェアアドレスを導出できる。

ARPの種類

アドレス解決プロトコルには、以下の4種類があります。

  • プロキシ ARP
  • 無償ARP
  • Reverse ARP(RARP)
  • インバース ARP (InARP)

以下の図は、それぞれの詳細を解説する前に、4種類のARPをまとめたものです。

ARP の 4 つのタイプをまとめたチャート: プロキシ、無償、 Reverse、および逆

プロキシ ARP

プロキシARP方式では、レイヤ3デバイスが他のホストに代わってARP要求に応答できます。設定されたルータは、ターゲットIPアドレスに応答し、自身のMACアドレスをそのターゲットIPアドレスにマッピングすることで、送信者のトラフィックがルータを経由して目的の宛先に到達します。

無償ARP

無償ARPは、ホストが自身のIPアドレスに対して送信する要求です。これにより、ネットワークは重複したIPアドレスを特定できます。ルーターやスイッチが自身のIPアドレスに対して無償ARPをブロードキャストし、応答がない場合、そのデバイスに割り当てられたIPアドレスを他のノードが使用していないことが確認できます。

Reverse ARP(RARP)

Reverse ARP(RARPとも呼ばれる)は、LAN内のクライアントシステムがARPルータテーブルから自身のIPv4アドレスを要求するために使用するネットワークプロトコルです。ネットワーク管理者は通常、ゲートウェイルータに、各MACアドレスを特定のIPアドレスにマッピングするテーブルを作成します。

インバース ARP (InARP)

逆ARP(InARPとも呼ばれる)は、ノードのデータリンク層アドレスからIPアドレスを特定するために使用されます。InARPは、レイヤ2シグナリングからレイヤ2仮想回線アドレスを取得するATMネットワークやフレームリレーで広く使用されています。

ARPヘッダー

ARPヘッダーには、要求と応答の両方でアドレス情報を伝えるために使用されるフィールドが含まれています。下図はARPヘッダーの構造を示しています。

ハードウェアタイプ、プロトコルタイプ、アドレス長、操作コード、送信元アドレスおよび宛先アドレスを示すARPヘッダー構造

  • ハードウェアの種類: イーサネットの場合は 1 です。
  • プロトコルタイプ: これはネットワーク層で使用されるプロトコルです。
  • ハードウェアアドレス長: これはバイト単位の長さなので、イーサネットの場合は6になります。
  • プロトコルアドレス長: その値は4バイトです。
  • Opera生産 Code: これは、パケットがARP要求(1)かARP応答(2)かを示します。
  • 送信側ハードウェアアドレス: これは送信元ノードのハードウェアアドレスです。
  • 送信者プロトコルアドレス: これは送信元ノードのレイヤ3アドレスです。
  • Target ハードウェアアドレス: これはRARPリクエストで使用され、レスポンスには宛先のハードウェアアドレスとレイヤ3アドレスの両方が含まれます。
  • Target プロトコルアドレス: これはARPリクエストで使用され、応答にはレイヤ3アドレスと宛先のハードウェアアドレスの両方が含まれます。

ARPを使用する利点

ARPを使用するメリットと利点は以下のとおりです。

  • システムのIPアドレスが分かれば、ARPを使ってMACアドレスを簡単に特定できます。
  • エンドノードはMACアドレスを「認識」するように手動で設定する必要はありません。必要なときに自動的に検出されます。
  • ARPは、ネットワーク上の各ホストがマップを作成できるようにする。ping IPアドレスと物理アドレス(MACアドレス)の間。
  • 地図のセットpingホストに保存されているものは、ARPテーブルまたはARPキャッシュと呼ばれます。

よくあるご質問

ARP要求はLAN全体にブロードキャストされますが、そのIPアドレスを所有するホストが存在しないため、どのデバイスからも応答がありません。送信側はMACアドレスを受信しないため、パケットは配信されず、タイムアウト後に最終的に破棄されます。

これは無償ARPと呼ばれます。ホストは自身のIPアドレスとMACアドレスのマッピングを通知します。ping そのため、他のデバイスもキャッシュを更新します。もし別のマシンから応答があった場合、ネットワーク上でIPアドレスの重複が発生していることを示しており、管理者が解決する必要があります。

ARPスプーフィング、またはARPポイズニングとは、攻撃者のMACアドレスを正規のIPアドレスに紐付ける偽のARP応答を送信する攻撃です。ARPには認証機能がないため、被害者は攻撃者にトラフィックを送信してしまい、中間者攻撃、セッションハイジャック、サービス拒否攻撃などが可能になります。

いいえ。ARPはIPv4固有のプロトコルです。IPv6では、リンク層アドレスの解決と重複アドレスの検出にICMPv6メッセージを使用する近隣探索プロトコル(NDP)がARPに置き換えられ、同様のマップを提供します。ping さらに、ルーター検出などの機能も追加されました。

`arp ​​-a` を実行します。 Windows またはLinuxでキャッシュされたIP-MACマップを一覧表示するpingLinux では、ip neigh コマンドも使用できます。古いエントリを削除するには、arp -d コマンドの後に IP アドレスを指定して実行します。これにより、新しい名前解決が強制されます。

動的エントリはARPリクエストを通じて自動的に学習され、タイムアウト後に期限切れとなります。静的エントリは手動で設定され、期限切れになることはありません。静的エントリはなりすましに対する耐性を向上させますが、ハードウェアやアドレスが変更されるたびにメンテナンスが必要です。

はい。機械学習モデルは、IPアドレスとMACアドレスのマッピングをベースラインとして構築します。pingトラフィックパターンを分析し、突然の変化、重複するMACアドレスのバインディング、または異常なARP応答レートなど、ポイズニングを示唆する兆候を検出します。AIは検出速度を向上させますが、エンジニアは疑わしいホストをブロックする前にアラートを確認します。

GitHubコパイロット ドラフト Python または、ARP テーブルの解析などのタスクのためのシェル スクリプト、 pingホストの監視や、短いコメントからのキャッシュチェックの自動化など。 Rev生成されたコマンドは、本番環境のネットワーク機器に対して実行する前に、慎重に確認してください。