본문 바로가기
네트워크/ARP, ICMP

Proxy ARP 동작 과정

by 최개미의 세계 2024. 4. 14.

1. Proxy ARP 동작 과정

  • 아래 내용은 PC1↔PC2 간에 통신하고자 하는 두 PC가 서로 잘못 IP를 입력했을 때 동작 방식을 설명한 내용

1) Case 1 - PC1 → PC2 데이터 전달 과정

  • PC1→PC2로 향하는 패킷을 생성하기 위해 프레임의 D-MAC 확정 필요
  • D-IP가 동일 네트워크가 아니라고 판단한 PC1은 게이트웨이인 IP 1.1.1.1의 MAC을 알기 위해 ARP Request를 송신

 

  • Switch는 ARP Reply를 하여 PC1은 PC2로 송신하려는 패킷을 Switch로 송신
  • Switch는 D-MAC이 본인이고 D-IP가 PC2인 패킷을 수신

 

  • Switch는 일반적이고 정상적인 상황은 아니지만, 라우팅으로 패킷을 전달하기 위해 PC2에 대한 ARP Request를 송신하고 ARP Reply를 수신
  • 위 과정까지 진행되어 PC1→PC2로 패킷 전달 가능

 

2) Case 1 - PC2 → PC1 데이터 전달 과정

  • PC2는 PC1으로 보내는 패킷을 만들기 위해 D-MAC 확정 필요
  • PC2는 D-IP인 1.1.1.1과 동일 Broadcast로 판단하여 PC1으로 ARP Request를 송신
  • ARP Request를 수신한 Switch는 D-MAC은 S-MAC Learning을 하고 D-MAC이 Broadcast이므로 Flooding하고 EtherType이 ARP임을 확인하고 Target IP가 본인과 달라 패킷을 Drop
  • ARP Request를 수신한 PC1은 Target IP가 본인 IP이지만 Sender IP가 동일 네트워크의 IP가 아닌 것으로 판단하여 ARP Reply를 할 수 없어 패킷을 Drop
  • PC1의 Subnet Mask를 /25→/24로 변경하면 정상 통신이 가능
  • Switch의 e0/2 인터페이스에 Proxy ARP를 활성화하면 통신 가능

 

  • Switch e0/2 인터페이스에 Proxy ARP를 설정하고 PC2→PC1으로 ARP Request를 송신하는 과정부터 표시한 것
  • PC2는 D-IP인 1.1.1.1과 동일 Broadcast로 판단하여 PC1으로 ARP Request를 송신
  • ARP Request를 수신한 Switch는 D-MAC은 S-MAC Learning을 하고 D-MAC이 Broadcast이므로 Flooding하고 EtherType이 ARP임을 확인하고 Target IP를 확인
  • Switch는 해당 프레임이 ARP Request이며 자신에게 송신된 것이 아님을 확인하고 Proxy ARP 기능이 설정되어 있지 않으면 Drop하고 Proxy ARP 기능이 설정되어 있으면 Target IP의 Reachable을 확인하기 위해 라우팅 테이블을 확인
  • 라우팅 테이블에 Next-Hop이 확인되지 않으면 ARP Request 패킷을 Drop하고 Next-Hop이 확인되면 ARP Reply를 송신

 

  • ARP Reply의 Sender MAC은 Switch 본인의 MAC을, Sender IP는 ARP Request에서 사용된 Target IP를 사용하여 송신
  • ARP Reply를 수신한 PC2는 Switch의 MAC이 PC1의 MAC으로 인식하고 D-IP가 PC1인 패킷 송신 가능

 

  • PC2→PC1으로 패킷을 송신하게 되면 Switch는 D-MAC이 본인이고 D-IP가 PC1인 패킷을 수신하게 되고 정상적인 상황은 아니지만, 라우팅으로 수신한 패킷을 전달하기 위해 PC1에 대한 ARP Request를 송신하고 ARP Reply를 수신한 후 패킷을 전달

 

3) Case 2 - PC2 → PC1 데이터 전달 과정

  • PC2→PC1으로 향하는 패킷을 생성하기 위해 프레임의 D-MAC 확정 필요
  • D-IP가 동일 네트워크가 아니라고 판단한 PC1은 게이트웨이인 IP 1.1.2.1의 MAC을 알기 위해 ARP Request를 송신

 

  • Router는 ARP Reply를 하여 PC2는 PC1으로 송신하려는 패킷을 Router로 송신
  • Router는 D-MAC이 본인이고 D-IP가 PC1인 패킷을 수신

 

  • Router는 일반적이고 정상적인 상황은 아니지만, 라우팅으로 패킷을 전달하기 위해 PC1에 대한 ARP Request를 송신하고 ARP Reply를 수신
  • 위 과정까지 진행되어 PC2→PC1으로 패킷 전달 가능

 

4) Case 2 - PC1 → PC2 데이터 전달 과정

  • PC1은 PC2로 보내는 패킷을 만들기 위해 D-MAC 확정 필요
  • PC1은 D-IP인 1.1.2.2와 동일 Broadcast로 판단하여 PC2로 ARP Request를 송신
  • ARP Request를 수신한 Router는 S-MAC Learning
  • Proxy ARP 비활성화 시, Target IP가 본인과 다르므로 Drop

 

  • ARP Request를 수신한 인터페이스에 Proxy ARP가 설정되어 있으면 라우팅 테이블에 Target IP 경로가 없으면 Drop하고 라우팅 테이블에 Target IP 경로가 있으면 S-MAC을 자신의 MAC으로, Sender IP는 ARP Request의 Target IP인 1.1.2.2로 구성된 ARP Reply를 송신
  • ARP Reply를 수신한 PC1은 Router MAC을 PC2의 MAC으로 인지하고 패킷을 송신

 

  • PC1→PC2로 송신한 패킷을 받은 Router는 정상적인 상황은 아니지만, 패킷을 전달하기 위해 PC2에 대한 ARP Request를 송신하고 ARP Reply를 수신하고 라우팅하여 전달

 

'네트워크 > ARP, ICMP' 카테고리의 다른 글

Traceroute Overview 및 동작 과정  (0) 2024.04.19
ICMP Redirect  (0) 2024.04.18
ICMP Destination Unreachable  (0) 2024.04.17
ICMP Request Reply  (0) 2024.04.16
ICMP Overview 및 Header  (0) 2024.04.15
Gratuitous ARP 동작 과정  (0) 2024.04.13
ARP 동작 과정  (0) 2024.04.12
ARP Overview 및 Header  (1) 2024.04.11