アドレス解決プロトコル(ARP)は、デバイスのIPアドレスをそのハードウェアMACアドレスに紐付けることで、同じイーサネットセグメント上の2つのデバイスがフレームをやり取りできるようにします。あるデバイスがIPアドレスに対するARPリクエストをブロードキャストすると、そのIPアドレスの所有者が自身のMACアドレスを返信し、リクエスト元はその対応関係をキャッシュします。
主なポイント
- ARPは、ローカルネットワークセグメント上でIPアドレスをMACアドレスに変換します。
- ブロードキャストARPリクエストに対してはユニキャスト応答が返され、その応答はキャッシュされます。
- プロキシARPとは、あるデバイスが別のデバイスに代わってARPリクエストに応答することを指します。
- ARP抑制機能により、EVPN/VXLANファブリック全体でのブロードキャストARPフラッディングが防止されます。
- Versa Directorでは、MACアドレスやハードウェアの種類を含むARPエントリを表示できます。
このページの内容: その重要性仕組み種類ARP およびVersaよくある質問
ARPはなぜ重要なのでしょうか?
ARPは、レイヤ3のアドレス指定を、イーサネットネットワークが実際に伝送可能な形式に変換します。IPルーティングは、パケットがどのサブネットに属するかを決定しますが、フレームはMACアドレスを用いてLAN上を移動するのみです。そのため、ホストが同じセグメント上の相手機に到達するには、そのMACアドレスを把握するためのARP交換が必要となります。これがなければ、IPはイーサネット上で機能することができません。
この依存関係により、ARPはセキュリティ上の問題にも関わるようになります。標準のARPには認証機能が組み込まれていないため、ホストは任意のIP-MACマッピングを主張することが可能です。これが、ローカルネットワークにおけるARPスプーフィングや中間者攻撃の根幹となっています。また、ARPリクエストはブロードキャストされるため、大規模なネットワークや仮想化ネットワーク、特に多くのサイトにまたがるEVPN/VXLANファブリックでは、ARPが最適化されていないと、実質的なオーバーヘッドが発生する可能性があります。
ARPとは何ですか?
ARPはイーサネットフレームの内部で直接動作します(独自のEtherTypeを持ち、IPヘッダーはありません)。また、リクエストはルーターを越えないため、単一のブロードキャストドメイン内でのみ機能します。ホストがローカルサブネット上の宛先にアクセスする必要がある場合、まずARPキャッシュを確認します。エントリが存在しない場合、そのセグメント上のすべてのデバイスに対してARPリクエスト(「10.0.0.5を持っているのは誰ですか? 10.0.0.1に知らせて」という内容)をセグメント上のすべてのデバイスにブロードキャストします。所有者はユニキャストのARP応答で応答し、要求元はそのマッピングをキャッシュすることで、パケットごとに検索を繰り返す必要がなくなります。
ルーターやレイヤ3スイッチは、接続されたサブネットごとに独自のARPテーブルを維持し、エントリが期限切れになる前に更新を行います。エントリには有効期限があるため、NICの交換やIPアドレスの再割り当て後もARPは自動的に復旧します。次のパケットが送信されるだけで、新たなARP交換がトリガーされるからです。
ARPの種類
デフォルトでは動的ARPが使用されます。エントリはリクエストと応答のやり取りから学習され、タイマーによって有効期限が切れるため、テーブルは自動的に最新の状態に保たれます。静的ARPエントリは手動で設定され、IPアドレスをMACアドレスに恒久的に紐付けます。これは、決してスプーフィングされてはならないデバイスに有用です。プロキシARPでは、あるデバイスが別のデバイスに代わってリクエストに応答できるため、リクエスト元は実際には別の場所にあるアドレスに到達することになります。グラトゥイタス ARPは、ホストが自発的に自身のマッピングを通知するもので、アドレスの競合を検出したり、VRRP バックアップが仮想 IP を引き継ぐようなフェイルオーバー後にキャッシュを更新したりするために使用されます。
現代のファブリックでは、5つ目のパターンであるARP抑制が重要となります。すべてのリクエストがEVPN/VXLANネットワークに殺到する代わりに、ローカルで学習されたマッピングがリモートピアに直接アドバタイズされ、リモートピアがファブリックに代わってローカルで応答します。
ARP &Versa
VOSデバイスでは、ARPは単なる手出しできないバックグラウンドプロトコルではなく、設定可能です。インターフェースには、物理インターフェースおよびサブインターフェースに「Static ARP」タブが表示され、ホストのIPアドレスとMACアドレスを手動で紐付けることができます。 「プロキシ ARP」タブ(リリース 21.2.1 以降)を使用すると、VOS デバイスは、インターフェースのサブネット内または外部にある NAT プール内のアドレスに対するリクエストに応答し、ポートの物理 MAC アドレスを返信することができます。ただし、インターフェースの VRRP ステータスが「アクティブ」でない場合、デバイスはそれらの応答を保留します。
EVPN/VXLAN ファブリック(ゼロトラスト LAN セグメントの構築や 一般的なレイヤ 2 転送に使用 される)では、ARP 抑制機能(Release 22.1.1 以降)により、すべてのピアへのリクエストの氾濫が防止されます。ローカルで学習されたエントリは EVPN ネットワーク全体にアドバタイズされ、ピアはリモートホストに対してプロキシ ARP を実行します。IRB インターフェース(レイヤ 3 ネットワークとブリッジドメイン間のルーティング)は、通常の ARP リクエストを通じて他のスイッチによって検出されます。Versa Directorは、インターフェース名、MACアドレス、ハードウェアタイプを含む、ネットワークのARPエントリを表示します。
よくある質問
ARPとRARPの違いは何ですか?
ARPはIPアドレスをMACアドレスに変換しますが、RARPはその逆の処理を行います。つまり、デバイスが自身の既知のMACアドレスをブロードキャストしてIPアドレスの割り当てを要求するもので、かつてはディスクレスワークステーションの起動時に使用されていました。RARPは現在では使われておらず、その役割はDHCPが担っています。
ARPリクエストと応答はどのように機能するのでしょうか?
ホストは「このIPアドレスを所有しているのは誰か」と尋ねるARPリクエストをブロードキャストし、そのセグメント上のすべてのデバイスがそれを受信します。所有者のみが応答し、自身のMACアドレスを含むユニキャストARP応答を送信します。リクエスト元は、その応答をキャッシュします。
ARPスプーフィングとは何ですか?
ARPスプーフィングとは、ホストが偽造したARP応答を送信し、自身のMACアドレスを別のデバイス(多くの場合、ゲートウェイ)のIPアドレスに関連付けることで、トラフィックを攻撃者を経由するようにリダイレクトする攻撃です。標準のARPには認証機能がないため、この攻撃が成立します。
プロキシARPとは何ですか?
プロキシARPとは、あるデバイスが、同じセグメント上で直接到達できない別のホストに代わってARPリクエストに応答する仕組みです。トラフィックはプロキシのMACアドレスに到達し、そこからさらに転送されます。これは、IPアドレスの再割り当てを行わずにNATプールにアクセスするのに役立ちます。
ARP抑制とは何ですか?
ARP抑制機能により、ARPリクエストがEVPN/VXLANファブリック全体にブロードキャストされるのを防ぎます。代わりに、ローカルで学習されたIP-MACマッピングがすべてのEVPNピアにアドバタイズされ、各ピアはプロキシARPを通じてローカルでリクエストに応答するため、大規模なファブリックにおけるブロードキャストトラフィックを削減できます。
ARPに関する詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| RFC 826: イーサネット・アドレス解決プロトコル |
|---|
| 1982年に策定された、ARPがIPアドレスをイーサネットハードウェアアドレスに変換する方法を規定した最初のIETF標準。 |
関連用語
ARPについてお読みなら、次はこれらもぜひチェックしてみてください。
| 仮想ルーター冗長化プロトコル | ネットワーク | Versa Director |
|---|---|---|
| 引き継ぎ後に、バックアップルーターが仮想IPのMACマッピングを再取得するためにグラチュイタスARPを送信するフェイルオーバープロトコル。 | ルーティングインスタンス(ARPによるアドレス解決が行われる範囲)を共有するインターフェースをグループ化するVOS構成オブジェクト。 | インターフェース、MACアドレス、ハードウェアの種類など、ネットワークのARPエントリをリアルタイムで表示できる管理コンソール。 |