VM1의 트래픽이 VM2에 도달하려면 먼저 DLR이 VM2의 MAC 주소를 인식해야 합니다. VM2의 MAC 주소를 인식한 후에 DLR은 아웃바운드 패킷에 대해 올바른 L2 헤더를 생성할 수 있습니다.

1에는 DLR의 ARP 확인 프로세스가 나와 있습니다.

그림 1. DLR ARP 프로세스

MAC 주소를 인식하기 위해 DLR은 다음 단계를 따릅니다.

  1. 호스트 A의 DLR 인스턴스는 SRC MAC = vMAC 및 DST MAC = Broadcast인 ARP 요청 패킷을 생성합니다. 호스트 A의 VXLAN 모듈은 송신 VXLAN 5001에서 모든 VTEP를 찾은 후 각각에 해당 브로드캐스트 프레임 사본을 전송합니다.

  2. 프레임이 VXLAN 캡슐화 프로세스를 통해 호스트를 나가면 SRC MAC은 vMAC에서 pMAC A로 변경되므로 반환 트래픽은 호스트 A에서 원래 DLR 인스턴스를 찾을 수 있습니다. 이제 프레임은 SRC MAC = pMAC A 및 DST MAC = Broadcast입니다.

  3. 프레임이 호스트 B에서 수신되고 캡슐화가 해제되면 검사가 진행된 후 VXLAN 5001의 로컬 DLR 인스턴스 LIF와 일치하는 IP 주소에서 소싱되는지 확인됩니다. 이 경우 프레임은 프록시 ARP 기능을 수행하기 위한 요청으로 태그가 지정됩니다. 해당 프레임이 로컬 DLR 인스턴스에 도달할 수 있도록 DST MAC이 Broadcast에서 vMAC으로 변경됩니다.

  4. 호스트 B의 로컬 DLR 인스턴스는 ARP 요청 프레임, SRC MAC = pMAC A, DST MAC = vMAC을 수신하며, 이를 요청하는 자체 LIF IP 주소를 확인합니다. 그런 다음 SRC MAC을 저장하고 새로운 ARP 요청 패킷, SRC MAC = vMAC, DST MAC = Broadcast를 생성합니다. 이 프레임은 dvUplink를 통해 폭발적으로 증가하지 않도록 하기 위해 “DVS 로컬”로 태그가 지정됩니다. DVS는 프레임을 VM2에 전달합니다.

  5. VM2는 ARP 응답, SRC MAC = MAC2, DST MAC = vMAC을 전송합니다. DVS는 이를 로컬 DLR 인스턴스로 전송합니다.

  6. 호스트 B의 DLR 인스턴스는 DST MAC을 4단계에서 저장된 pMAC A로 바꾼 후 호스트 A로 다시 전송하기 위해 패킷을 DVS로 보냅니다.

  7. ARP 응답이 호스트 A에 도달하면 DST MAC은 vMAC으로 변경되고 SRC MAC = MAC2 및 DST MAC = vMAC이 지정된 ARP 응답 프레임은 호스트 A의 DLR 인스턴스에 도달합니다.

ARP 확인 프로세스가 완료되고 이제 호스트 A의 DLR 인스턴스는 VM2로 트래픽을 전송할 수 있습니다.