주소 결정 프로토콜 ARP (Address Resolution Protocol)란?
목적지 IP를 그 IP주소에 맞는 물리적인 주소(MAC Address)를 가지고 오는 프로토콜입니다.
역순 주소 결정 프로토콜 RARP (Reverse Address Resolution Protocol)
ARP와 반대로 목적지 MAC Address에 맞는 IP값을 알아오는 프로토콜 입니다.
ARP 패킷 구조
1) Hardware Type
- 16bit로 ARP가 수행되고 있는 네트워크 유형을 정의
- 이더넷인 경우 값은 1로 설정됨
2) Protocol Type
- 16bit로 상위 프로토콜을 정의
- 상위 프로토콜이 IP일경우 0x0800으로 설정됨
3) Hardware Length
- 8bit로 물리주소의 길이를 바이트 단위로 정의
- 이더넷인 경우 6으로 설정
4) Protocol Length
- 8bit로 논리주소의 길이를 바이트단위로 정의
- 이더넷인 경우 4로 설정
5) Operation
- 16bit로 패킷의 유형을 정의
- ARP Request : 1, ARP Reply : 2
6) Sender Hardware Address
- 송신자의 물리주소를 나타내는 필드
- 이더넷의 경우 이필드는 6byte값
7) Sender IP Address
- 송신자의 논리주소를 나타내는 필드
- IP프로토콜인 경우 4byte값
8) Target Hardware Address
- 목적지 시스템의 물리주소를 정의
- 이더넷의 경우 6byte값
- ARP Request인 경우 송신자는 목적지 시스템의 물리주소를 알 수 없어, 모두 0으로 설정
9) Target IP Address
- 목적지 시스템의 논리주소를 정의
- IP 프로토콜의 경우 4byte값
ARP 동작 원리
- 송신자는 목적지 물리주소가 필요하므로, 물리주소 요청을 위한 ARP Request 패킷을 Broadcast로 전송.
(Broadcast를 하는 이유는 목적지의 물리주소를 모르기 때문에 모두에게 요청함.
요청 패킷에는 수신자가 수신자 주소를 응답할 때 필요한 송신자 주소가 포함)
- 모든 호스트와 라우터는 송신자가 보낸 ARP Request 패킷을 받음.
- 해당되는 수신자만 자신의 Mac Address와 IP를 넣어 ARP Reply 패킷을 Unicast로 전송.
ARP 동작 과정
1) 송신자는 목적지 IP Address를 지정해 패킷 송신
2) IP 프로토콜이 ARP 프로토콜에게 ARP Request 메시지를 생성하도록 요청
= ARP 요청 메시지 (송신자 물리주소, 송신자 IP주소, 00-00-00-00-00, 수신자 IP주소)
3) 메시지는 2계층으로 전달되고 이더넷 프레임으로 Encapsulation 됨
= 송신자 물리주소를 발신지 주소, 수신자 물리주소를 브로드캐스트 주소로 지정
4) 모든 호스트와 라우터는 프레임을 수신 후 자신의 ARP 프로토콜에게 전달
5) 목적지 IP Address가 일치하는 시스템은 자신의 MacAddress를 포함하고 있는 ARP Reply 메시지를 보냄
=자신의 Mac Address를 포함하는 응답 메시지
6) 최초 송신 측은 지정한 IP Address에 대응하는 Mac Address를 획득.
※ ARP요청은 broadcast, ARP 응답은 unicast
'Network > Network' 카테고리의 다른 글
Distance Vector & RIP(Routing Information Protocol) (0) | 2021.06.18 |
---|---|
스패닝 트리 프로토콜(STP, Spanning Tree Protocal)란? (0) | 2021.04.30 |
Broadcast, Unicast, Multicast (0) | 2021.04.29 |
Collision domain이란? (0) | 2021.04.29 |
OSI 7 Layer (0) | 2021.04.29 |
댓글