ARP (Address Resolution Protocol)
Switch는 MAC Address를 통해서 목적지와 함께 Frame을 주고 받는다. 그러나 처음 통신을 시작할 때는 상대방의 MAC Address를 모른다. 그 때 상대방의 Mac Address를 알아내기 위하여 사용하는 프로토콜이 ARP(Address Resolution Protocol)이다.
ARP 동작 방식 By R2
R1에서 R2로 Ping을 날려보는 것으로 ARP 동작 방식을 이해할 수 있다.
- 참고 Topology
기본 설정, 및 IP 설정은 생략.
1. R1에 ping 1.1.1.2 명령어를 입력하여 R2에 ping을 보낼 준비를 한다.
출발지 IP | 목적지 IP | 출발지 MAC | 목적지 MAC | Data |
1.1.1.1 | 1.1.1.2 | 0000.0000.0001 | ? | ping |
2. R1은 R2의 MAC Address를 알지 못한다. 고로 R1은 브로드캐스트 주소로 설정한 ARP Request Packet을 전송한다.
출발지 IP |
목적지 IP |
출발지 MAC |
목적지 MAC |
Data |
1.1.1.1 |
1.1.1.2 |
0000.0000.001 |
FFFF.FFFF.FFFF | ARP Req. |
3. ARP Request Packet을 받은 SW1은 자신의 연결되어있는 모든 포트에 ARP Request Packet을 브로드캐스팅한다. 1
4. ARP Request Packet을 받은 R2와 R3는 자신의 요청 패킷인지 아닌지를 확인한다. 고로 R3는 Request Frame을 폐기하고 R2는 R1에게 ARP Reply Packet을 전달한다. 동시에 R2와 R3는 자신들의 ARP Table에 R1의 MAC Address 정보를 저장한다.
출발지 IP |
목적지 IP |
출발지 MAC |
목적지 MAC |
Data |
1.1.1.2 |
1.1.1.1 |
0000.0000.0002 |
0000.0000.0001 | ARP Rep. |
5. ARP Table에 저장되면서 R2의 MAC Address를 알게 된 R1은 R2에게 정확하게 Ping을 보낸다.
출발지 IP |
목적지 IP |
출발지 MAC |
목적지 MAC |
Data |
1.1.1.1 |
1.1.1.2 |
0000.0000.0001 |
0000.0000.0002 | ping |
ARP Debuging을 통한 ARP 동작 방식 확인 By R3
R1#ping 1.1.1.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.2, timeout is 2 seconds: *Oct 21 17:34:36.711: IP ARP: creating incomplete entry for IP address: 1.1.1.3 interface FastEthernet0/0 *Oct 21 17:34:36.715: IP ARP: sent req src 1.1.1.1 0000.0000.0001, dst 1.1.1.2 0000.0000.0000 FastEthernet0/0 *Oct 21 17:34:36.775: IP ARP: rcvd rep src 1.1.1.3 0000.0000.0003, dst 1.1.1.1 FastEthernet0/0.!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 16/22/28 ms R1#
*Oct 21 17:34:36.711: IP ARP: creating incomplete entry for IP address: 1.1.1.3 interface FastEthernet0/0
1.1.1.3, 즉 R3에게 ARP를 보낼 준비를 한다.
dst 1.1.1.3 0000.0000.0000 FastEthernet0/0
그러나 destination을 모르는 R1은 0000.0000.0000의 Broadcast 주소로 설정된 ARP Request Packet을 전달한다.
*Oct 21 17:34:36.775: IP ARP: rcvd rep src 1.1.1.2 0000.0000.0003, dst 1.1.1.1 FastEthernet0/0
위의 ARP 동작방식을 통하여 1.1.1.3의 MAC Address가 0000.0000.0003이라는 것을 Received받는다.
그 후 .!!!!를 통해서 ping이 빠지지 않고 정상적으로 때려지는 것을 확인할 수 있다.
ARP Table 확인
show arp 명령어를 통해서 장비의 ARP Table을 확인할 수 있다.
R1#show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 1.1.1.1 - 0000.0000.0001 ARPA FastEthernet0/0 Internet 1.1.1.3 0 0000.0000.0003 ARPA FastEthernet0/0
ARP Exception(예외)
ARP 요청시 무조건 목적지 IP 주소의 MAC 주소를 요청하지는 않는다.
1. 목적지 IP 주소가 자신과 동일한 서브넷 소속이면 해당 목적지 IP 주소를 가진 장비에게 직접 MAC 주소를 요청한다.
2. 목적지 IP 주소가 자신과 다른 서브넷 소속이면 1. 자신의 게이트웨이에게 게이트웨이의 MAC 주소를 요청한다. 2. 요청 후 게이트웨이 라우터는 라우팅 테이블을 참조하여 패킷을 목적지 방향으로 라우팅시킨다.
- 플러딩(flooding) 한다고도 부른다.자세한 내용은 Transparent Bridging에서 다룬다. [본문으로]
'네트워크 > All about Network' 카테고리의 다른 글
VLAN(Virtual LAN) (2) - Inter-VLAN Routing (0) | 2018.10.26 |
---|---|
VLAN(Virtual LAN) (1) - VLAN 개요 (0) | 2018.10.26 |
트랜스패런트 브리징(Transparent Bridging) (0) | 2018.10.24 |
이더넷 물리적 계층 (Ethernet Physical Hierarchy) (2) - Hub & Repeater, Switch & Bridge (0) | 2018.10.23 |
이더넷 물리적 계층 (Ethernet Physical Hierarchy) (1) - Ethernet, Cable, Frame, CSMA/CD (0) | 2018.10.23 |