network 이론/basic network

ARP

byeong07 2016. 11. 6. 23:22

ARP (Address Resolution Protocol) 정의

논리적 주소(IP Address)를 기반으로 물리적 주소(MAC Address)를 알아오는 프로토콜.

 

ARPLayer 2계층 이더넷 환경에서 목적지 IP주소에 대한 MAC주소 변환 동작을 담당한다. 단 목적지 MAC주소 정보가 없다면, ARP주소 변환이 불가능하기 때문에 데이터를 전송할 수 없다.

 

쉽게 말해 IP -> MAC, MAC -> IP 이렇게 바꿔주는 역할을 한다는 뜻이다.

 

상대방은 MAC 주소가 없는 패킷을 받으면 2계층 (Datalink-Layer)에서 폐기해버린다.

때문에 상대방의 MAC주소를 알아야 프레임이 만들어져서 통신을 할 수 있게 된다.

 

IP -> MAC으로 변환 할 때를 ARP라고 하고, MAC -> IP로 변환할 때 RARP라고 한다.

 

ARP : IP는 아는데 MAC주소를 모를 때 사용한다.

RARP : IP 호스트가 자신의 물리적 주소(MAC)은 알지만 논리적 주소(IP) 주소를 모르는 경우 서버로부터 IP 주소를 요청하기 위해 사용한다.

 

 

ARP의 필요성

- 송신자는 목적지(수신자)IP주소를 알고 있다.

- IP 데이터그램을 프레임으로 캡슐화하여 전송하려고 한다.

- 그러나 프레임 헤더에는 물리주소가 들어가야 하는데 물리주소를 모른다.

- 따라서, IP주소를 이용하여 물리주소를 알아내는 방법이 필요하게 되었다.

 

ARP의 동작원리

- 송신자는 목적지 물리주소가 필요하므로, 물리주소 요청을 위한 ARP요청 패킷을 브로드캐스트로 전송. (브로드캐스트를 하는 이유는 목적지의 물리주소를 모르므로 모두에게 요청함.) (요청 패킷에는 수신자가 수신자 주소를 응답할 때 필요한 송신자 주소가 포함)

- 모든 호스트와 라우터는 송신자가 보낸 ARP 요청 패킷을 수신함.

- 해당되는 수신자만 자신의 논리주소와 물리주소를 넣어 응답 패킷을 유니캐스트로 전송.

 

 

 

ARP 동작과정

. 송신자는 목적지 IP주소는 알고 있으나, 물리주소는 모름.

. 물리주소를 알아내기 위해 ARP 요청 메시지 생성.

= ARP 요청 메시지 (송신자 물리주소, 송신자 IP주소, 00-00-00-00-00, 수신자 IP주소)

. 요청메시지를 데이터링크 계층으로 전달, 프레임 생성.

= 송신자 물리주소를 발신지 주소, 수신자 물리주소를 브로드캐스트 주소로 지정

. 모든 호스트나 라우터는 이 프레임을 수신하여 자신의 ARP로 전달.

. 요청 메시지에 해당되는 호스트나 라우터만 ARP응답 메시지 생성.

= 자신의 물리주소를 포함하는 응답 메시지

. ARP 응답메시지를 유니캐스트로 ARP 요청 메시지를 보낸 송신자에게 전송.

= 유니캐스트를 이요오하는 이유는 송신자가 요청메시지에 물리주소를 포함했기 때문

. 송신자는 ARP 응답메시지를 받고 목적지 물리주소를 획득

. 목적지에게 전송할 IP데이터그램을 획득한 물리주소를 이용해 프레임으로 캡슐화

. 캡슐화된 프레임을 유니캐스트로 목적지로 전송

'network 이론 > basic network' 카테고리의 다른 글

NAT  (0) 2016.11.06
VPN  (0) 2016.11.06
TCP, UDP  (0) 2016.11.06
Collision Domain 및 Broadcast Domain  (0) 2016.09.06
TCP/IP model  (0) 2016.09.06