ARP프로토콜


ARP(Address Resolution Protocol) 프로토콜은 같은 네트워크 대역에서 통신을 하기 위해 필요한 2 계층의 MAC 주소를 3 계층의 IP주소를 이용해서 알아오는 프로토콜이다. 즉, IP 주소와 MAC 주소 사이를 연결해준다. 

 

 

 

ARP 프로토콜의 구조


Hardware type : 2 계층에서 사용 중인 프로토콜 유형 (Ethernet 프로토콜 → 0x0001)

Protocol type : 3단계에서 사용 중인 프로토콜의 유형 (IPv4 → 0x0800)

Hardware Address Length : MAC 주소의 길이 (0x06)

Protocol Address Length : IPv4의 길이(0x04)

Opcode : 어떻게 동작하는지 나타내는 코드 값 (요청 시 →  0x0001, 응답 시 →  0x0002)

Source Hardware Address : 출발지 MAC 주소 (6Byte)

Source Protocol Address : 출발지 IPv4 주소 (4Byte)

Destination Hardware Address : 목적지 MAC 주소 (6Byte)

Destination Protocol Address : 목적지 IPv4 주소  (4Byte)

 

 

ARP 프로토콜의 통신 과정


 

 

같은 LAN대역에 존재하는 PC들 중에 'A' PC가 'C' PC와의 통신을 하기 위해서 'C' PC의 MAC 주소를 알아오려고 하는 과정이다.

 

 

 

 

 

 

 

 


'A' PC가 ARP요청 패킷을 만들게 된다. ARP프로토콜은 3 계층이므로 2 계층의 Ethernet 프로토콜을 capsuling 하여 패킷을 만들게 되며, 목적지의 MAC 주소를 모르기 때문에 ARP프로토콜의 Destination Hardware Address은 0으로 비워두고 Ethernet 프로토콜의 Source Address 부분은 브로드 캐스팅을 위해서 F로 채우게 된다.

 

 

 

 


브로드 캐스팅이므로 같은 모든 LAN대역의 PC 또는 장비는  'A' PC의 ARP 요청을 받게 된다. 여기서 ARP 요청을 받은 각각의 PC와 장비는 ARP 요청의 decapsuling을 통하여 ARP 요청의 목적지 IP주소와 자신의 IP주소가 다르면 해당 패킷을 버리고 일치하게 되면 자신의 MAC 주소를 작성하여 응답 프로토콜을 만들어 요청에 대한 응답을 하게 된다. 

 

 


응답을 받은 'A' PC는 IP주소를 통하여 'C' PC인 것을 확인을 하고 ARP 캐시 테이블에 'C' PC의 IP주소와 MAC 주소를 등록하게 된다. 이 전체적인 과정을 거친 후 통신은 시작을 한다.

 

 

 

 

 

 

 

 

 

 

ARP 캐시 테이블


IP주소와 MAC주소의 대응 관계를 등록해 두는 테이블이다. 일시적으로만 저장이 되며 영구적으로 등록을 하고 싶은 경우에는 수동으로 등록을 해야 한다.

'Network' 카테고리의 다른 글

IPv4의 조각화  (0) 2021.08.30
IPv4 프로토콜 & ICMP 프로토콜  (0) 2021.08.30
Ethernet 프로토콜  (0) 2021.08.27
IP주소  (0) 2021.08.27
Network Model  (0) 2021.08.25

+ Recent posts