본문 바로가기
[ CS 전공 ]

[ 네트워크 ] ARP 통신

by 불주먹고양이 2022. 3. 3.

1. ARP 통신 (Address Resolution Protocol)

: 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC 주소를 IP 주소를 이용해서 알아오는 프로토콜

 

- 같은 네트워크 대역에서 통신을 한다고 하더라도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에, IP 주소와 MAC 주소가 모두 필요하다.

- 이때, IP 주소는 알고 MAC 주소는 모르더라도 ARP를 통해 통신이 가능하다.

 

 

 

2. ARP 프로토콜 구조

 

 

 

3. ARP 시뮬레이션

- 상황 : A가 C와 통신하려고 하는데, C의 MAC 주소를 모르고 있는 상태.

 

 

(1) A가 Ethernet (2계층)으로 ARP (3계층) 요청을 보냄.

- Ethernet 프로토콜의 경우,

2계층으로서 MAC 주소를 사용한다. 따라서 Destination Address와 Source Address 모두 MAC 주소로 구성된다.

현재 Destination MAC Address를 모르고 있는 상황이다.

 

- ARP 프로토콜의 경우,

3계층으로서 MAC 주소와 IP 주소를 모두 가지고 있다.

현재 Destination MAC Address를 모르고 있는 상황이다.

 

- 이러한 상황에서 필요한 것이 바로 Broadcasting (브로드캐스팅)이다. 

 

 

2) A가 LAN 내부의 모든 기기에게 Broadcasting 통신 packet을 보낸다.

- A의 ARP 프로토콜

목적지 MAC 주소를 00 00 00 00 00 00으로 비워두기

 

- A의 Ethernet 프로토콜

목적지 MAC 주소를 브로드캐스트 주소인 FF FF FF FF FF FF로 두기

 

 

3) 스위치에서 decapsulation

- 위의 네트워크 그림에서 가운데에 있는 장비가 스위치 (2계층 장비)이다.

- 스위치는 2계층 프로토콜인 Ethernet까지만 확인하고, decapsulation 한다.

- MAC 주소가 FF FF FF FF FF FF 이므로 같은 네트워크 대역에 있는 모든 장비들에게 패킷을 보낸다.

 

 

4) 장비들에서 decapsulation

- 2계층과 3계층 프로토콜까지 decapsulation 한다.

- IP 주소가 일치하지 않는 장비들은 packet을 버리고, 일치하는 장비인 C는 ARP 응답 packet을 보낸다.

 

 

5) ARP Cache 테이블에 MAC 주소를 등록한다.

 

 

 

4. ARP Cache Table

- ARP 요청을 보냈던 시스템은 ARP 응답을 수신하면, 질의 대상 시스템의 하드웨어 주소와 IP 주소를 로컬 Cache에 저장한다.

- 시스템에서 다음에 데이터를 보낼 때, 로컬 Cache를 검사하여 엔트리를 찾으면 저장되어있던 Cache table에서 찾아서 보내준다.

- 따라서 브로드캐스트를 할 필요가 없어지고, 로컬 트래픽도 줄어든다.

 

cmd 창 > arp -a 명령어 입력

 

- 일정 시간이 지나면 지워진다.

- 이를 방지하기 위해서는 수동으로 MAC 주소를 등록해 놓을 수도 있다.