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 |