1. Proxy ARP 동작 과정 - Case 1
- Device에 IP Address 및 Subnet Mask를 잘못 입력했을 때 PC1↔PC2 간에 통신 과정을 설명
1) PC1 → PC2 데이터 전송 과정
- PC1에 'ping 1.1.1.129'를 입력하면 다른 Broadcast Domain에 존재한다고 판단하여 Gateway인 1.1.1.2의 MAC Address를 알기 위해 ARP Request를 전송
- Switch는 D-MAC이 Broadcast임으로 Flooding
- Switch는 ARP Request를 수신하고 S-MAC Learning
- Switch는 ARP Request를 수신하고 Target Protocol Address가 본인이므로 ARP Learning
- Switch는 D-MAC이 Broadcast임을 확인하고 EtherType, Opcode, Target Hardware Address, Target Protocol Address를 확인하여 자신에게 전송된 ARP Request임을 확인하고 ARP Reply를 전송
- PC1은 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- PC1→PC2로 전송하려는 ICMP Request를 전송
- Switch는 ICMP Request를 수신하고 S-MAC Learning
- Switch는 D-MAC이 본인이고 D-IP가 PC2인 ICMP Request를 수신
- Switch는 정상적인 상황은 아니지만, 라우팅으로 패킷을 전달하기 위해 PC2의 MAC Address 정보가 필요하며 이를 알기 위해 ARP Request를 전송
- Switch는 PC2와 Direct로 연결되어 있으므로 D-MAC은 D-IP에 해당하는 MAC Address로 구성
- PC2는 ARP Request를 수신하고 D-MAC이 Broadcast이고 Target Protocol Address가 본인이므로 ARP Learning
- PC2는 D-MAC이 Broadcast임을 확인하고 EtherType, Opcode, Target Hardware Address, Target Protocol Address를 확인하여 자신에게 전송된 ARP Request임을 확인하고 ARP Reply를 전송
- Switch는 ARP Relpy를 수신하고 S-MAC Learning
- Switch는 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- 위 과정까지 진행되어 PC1→PC2로 ICMP Request 패킷 전달 가능
2) PC2 → PC1 데이터 전송 과정
- PC2에 'ping 1.1.1.1'를 입력하면 동일 Broadcast Domain에 존재한다고 판단하여 D-IP인 1.1.1.1의 MAC Address를 알기 위해 ARP Request를 전송
- Switch는 D-MAC이 Broadcast임을 확인하고 Flooding
- Switch는 ARP Request를 수신하고 S-MAC Learning
- Switch는 ARP Request를 수신하고 Target Protocol Address가 본인이 아니므로 ARP Learning 불가
- PC1은 ARP Request를 수신하고 Target Protocol Address가 본인이지만 Sender Protocol Address가 동일 Broadcast Domain이 아닌 것으로 판단하여 ARP Learning 및 ARP Reply 전송이 불가능하며 패킷을 Drop
- PC1의 Subnet Mask를 /25→/24로 변경하면 정상 통신이 가능
- Switch의 e0/2 인터페이스에 Proxy ARP를 활성화하면 통신 가능
- PC2에 'ping 1.1.1.1'를 입력하면 동일 Broadcast Domain에 존재한다고 판단하여 D-IP인 1.1.1.1의 MAC Address를 알기 위해 ARP Request를 전송
- Switch는 D-MAC이 Broadcast임을 확인하고 Flooding
- Switch는 ARP Request를 수신하고 S-MAC Learning
- Switch는 ARP Request를 수신하고 Target Protocol Address가 본인이 아니므로 ARP Learning 불가
- Switch는 ARP Request가 자신에게 전송된 것이 아님을 확인하고 Proxy ARP가 Disable이면 Drop하고 Enable이면 Target Protocol Address에 대한 Reachable Next-Hop이 있는지 확인하기 위해 라우팅 테이블 Entry를 확인
- Reachable Next-Hop이 없으면 ARP Request 패킷을 Drop하고 있으면 ARP Reply 패킷을 전송
- Switch는 라우팅 테이블에 Target Protocol Address에 대한 Reachable Next-Hop이 있으므로 ARP Reply을 전송
- PC2은 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- PC2는 Switch의 MAC Address를 PC1 MAC Address인것처럼 ARP Learning
- PC2의 ARP Table에 PC1 IP Address에 대한 MAC Address가 존재하므로 D-IP가 PC1인 패킷 전송 가능
- Switch는 ICMP Request를 수신하고 S-MAC Learning
- Switch는 ICMP Request를 수신하고 D-MAC이 본인이고 D-IP가 PC1인 ICMP Request를 수신하고 정상적인 상황은 아니지만 라우팅으로 수신한 패킷을 전달하기 위해 ARP Table 정보 확인
- D-IP가 PC1인 ICMP Request 패킷을 수신한 Switch는 D-IP가 동일 Broadcast Domain 내에 있다고 판단하여 D-IP인 1.1.1.1의 MAC Address를 알기 위해 ARP Request 패킷을 전송
- PC1은 ARP Request를 수신하고 D-MAC이 Broadcast이고 Target Protocol Address가 본인이므로 ARP Learning
- PC1은 D-MAC이 Broadcast임을 확인하고 EtherType, Opcode, Target Hardware Address, Target Protocol Address를 확인하여 자신에게 전송된 ARP Request임을 확인하고 ARP Reply를 전송
- Switch는 ARP Reply를 수신하고 S-MAC Learning
- Switch는 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- Switch는 D-MAC이 본인임을 확인하고 EtherType, Opcode, Target Hardware Address, Target Protocol Address를 확인하여 본인이 전송한 ARP Request에 대한 ARP Reply임을 확인
2. Proxy ARP 동작 과정 - Case 2
- Device에 IP Address 및 Subnet Mask를 잘못 입력했을 때 PC1↔PC2 간에 통신 과정을 설명
- 본 글에서는 Router가 Routed Interface가 아닌 SVI Interface로 구성되었다고 가정하고 설명
1) PC1 → PC2 데이터 전송 과정
- PC1에 'ping 1.1.2.2'를 입력하면 동일 Broadcast Domain에 존재한다고 판단하여 D-IP인 1.1.2.2의 MAC Address를 알기 위해 ARP Request를 전송
- Router는 D-MAC이 Broadcast임으로 Flooding
- Router는 ARP Request를 수신하고 S-MAC Learning
- Router는 ARP Request를 수신하고 Target Protocol Address가 본인이 아니므로 Learning이 불가능하며 패킷을 Drop
- Router의 e0/1 인터페이스에 Proxy ARP를 활성화하면 통신 가능
- PC1에 'ping 1.1.2.2'를 입력하면 동일 Broadcast Domain에 존재한다고 판단하여 D-IP인 1.1.2.2의 MAC Address를 알기 위해 ARP Request를 전송
- Router는 D-MAC이 Broadcast임으로 Flooding
- Router는 ARP Request를 수신하고 S-MAC Learning
- Router는 ARP Request를 수신하고 Target Protocol Address가 본인이 아니므로 Learning이 불가
- Router는 ARP Request가 자신에게 전송된 것이 아님을 확인하고 Proxy ARP가 Disable이면 Drop하고 Enable이면 Target Protocol Address에 대한 Reachable Next-Hop이 있는지 확인하기 위해 라우팅 테이블 Entry를 확인
- Reachable Next-Hop이 없으면 ARP Request 패킷을 Drop하고 있으면 ARP Reply 패킷을 전송
- Router는 라우팅 테이블에 Target Protocol Address에 대한 Reachable Next-Hop이 있으므로 ARP Reply를 전송
- PC1은 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- PC1은 Router의 MAC Address를 PC2 MAC Address인것처럼 ARP Learning
- PC1의 ARP Table에 PC2 IP Address에 대한 MAC Address가 존재하므로 D-IP가 PC2인 패킷 전송 가능
- Router는 ICMP Request를 수신하고 S-MAC Learning
- Router는 ICMP Request를 수신하고 D-MAC이 본인이고 D-IP가 PC2인 ICMP Request를 수신
- Router는 라우팅으로 패킷을 전달하기 위해 PC2의 MAC Address 정보 필요하며 이를 알기 위해 ARP Request를 전송
- Router는 PC2와 Direct로 연결되어 있으므로 D-MAC은 D-IP에 해당하는 MAC Address로 구성
- PC2는 ARP Request를 수신하고 D-MAC이 Broadcast이고 Target Protocol Address가 본인이므로 ARP Learning
- PC2는 D-MAC이 Broadcast임을 확인하고 EtherType, Opcode, Target Hardware Address, Target Protocol Address를 확인하여 자신에게 전송된 ARP Request임을 확인하고 ARP Reply를 전송
- Router는 ARP Relpy를 수신하고 S-MAC Learning
- Router는 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- 위 과정까지 진행되어 PC1→PC2로 ICMP Request 패킷 전달 가능
2) PC2 → PC1 데이터 전송 과정
- PC2에 'ping 1.1.1.1'를 입력하면 다른 Broadcast Domain에 존재한다고 판단하여 Gateway인 1.1.2.1의 MAC Address를 알기 위해 ARP Request를 전송
- Router는 D-MAC이 Broadcast임으로 Flooding
- Router는 ARP Request를 수신하고 S-MAC Learning
- Router는 ARP Request를 수신하고 Target Protocol Address가 본인이므로 ARP Learning
- Router는 D-MAC이 Broadcast임을 확인하고 EtherType, Opcode, Target Hardware Address, Target Protocol Address를 확인하여 자신에게 전송된 ARP Request임을 확인하고 ARP Reply를 전송
- PC2는 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- PC2→PC1로 전송하려는 ICMP Request를 전송
- Router는 ICMP Request를 수신하고 S-MAC Learning
- Router는 D-MAC이 본인이고 D-IP가 PC1인 ICMP Request를 수신
- Router는 라우팅으로 패킷을 전달하기 위해 PC1의 MAC Address 정보 필요하며 이를 알기 위해 ARP Request를 전송
- Router는 PC1와 Direct로 연결되어 있으므로 D-MAC은 D-IP에 해당하는 MAC Address로 구성
- PC1은 ARP Request를 수신하고 D-MAC이 Broadcast이고 Target Protocol Address가 본인이므로 ARP Learning
- PC1는 D-MAC이 Broadcast임을 확인하고 EtherType, Opcode, Target Hardware Address, Target Protocol Address를 확인하여 자신에게 전송된 ARP Request임을 확인하고 ARP Reply를 전송
- Router는 ARP Relpy를 수신하고 S-MAC Learning
- Router는 ARP Reply를 수신하고 D-MAC이 본인이고 Target Protocol Address가 본인이므로 ARP Learning
- 위 과정까지 진행되어 PC2→PC1로 ICMP Request 패킷 전달 가능
'Network > ARP, ICMP' 카테고리의 다른 글
ICMP Time Exceeded (0) | 2024.12.10 |
---|---|
ICMP Destination Unreachable (0) | 2024.12.08 |
ICMP Request and Reply (0) | 2024.12.06 |
Introduction to ICMP and Header (0) | 2024.12.04 |
Gratuitous ARP 동작 과정 (1) | 2024.11.30 |
ARP 동작 과정 (0) | 2024.11.28 |
ARP Header (0) | 2024.11.26 |
Introduction to ARP (0) | 2024.11.24 |