VM1 のトラフィックが VM2 に到着する前に、分散論理ルーターは VM2 の MAC アドレスを特定しておく必要があります。VM2 の MAC アドレスを特定したら、分散論理ルーターは送信パケットの正しい L2 ヘッダーを作成できます。

分散論理ルーター ARP プロセス は、分散論理ルーターの ARP 解決のプロセスを示しています。

図 1. 分散論理ルーター ARP プロセス
MAC アドレスを特定するために、分散論理ルーターは次のように動作します。
  1. ホスト A の分散論理ルーター インスタンスが、SRC MAC = vMAC および DST MAC = Broadcast の ARP 要求パケットを生成します。ホスト A の VXLAN モジュールは、出力方向の VXLAN 5001 ですべての VTEP を検出し、そのブロードキャスト フレームのコピーをそれぞれに送信します。
  2. VXLAN カプセル化プロセスでフレームがホストから送信されると、SRC MAC が vMAC から pMAC A に変更されるため、リターン トラフィックはホスト A の送信元分散論理ルーター インスタンスを見つけることができます。この時フレームは、SRC MAC = pMAC A および DST MAC = Broadcast になります。
  3. フレームはホスト B で受信され、カプセル化が解除されますが、このときの検証で、VXLAN 5001 のローカル分散論理ルーター インスタンスの LIF と一致する IP アドレスが送信元であると認識されます。これにより、フレームに abrequest のフラグが設定され、プロキシ ARP 機能が実行されます。DST MAC が Broadcast から vMAC に変更され、フレームはローカル分散論理ルーター インスタンスに到達できるようになります。
  4. ホスト B のローカル分散論理ルーター インスタンスは、SRC MAC = pMAC A、DST MAC = vMAC の ARP 要求フレームを受信し、これを要求する自分の LIF IP アドレスを確認します。このインスタンスは、SRC MAC を保存し、SRC MAC = vMAC、DST MAC = Broadcast の新しい ARP 要求パケットを生成します。このフレームは、dvUplink を介してフラッディングされないように「DVS Local」とタグ付けされます。分散仮想スイッチ (DVS) は、フレームを VM2 に配信します。
  5. VM2 は、 SRC MAC = MAC2、DST MAC = vMAC の ARP リプライを送信します。分散仮想スイッチは、これをローカル分散論理ルーター インスタンスに配信します。
  6. ホスト B の分散論理ルーター インスタンスは、DST MAC を手順 4 で保存された pMAC A と置き換え、分散仮想スイッチにパケットを返送して、ホスト A に再配信します。
  7. ARP リプライがホスト A に到着した後は、DST MAC は vMAC に変更され、SRC MAC = MAC2 と DST MAC = vMAC の ARP リプライ フレームは、ホスト A の分散論理ルーター インスタンスに到着します。

ARP 解決プロセスは完了し、ホスト A の分散論理ルーターは、VM2 へのトラフィックの送信を開始できます。