ARP
보이기
ARP(Address Resolution Protocol)은 RFC 826의 규격에 따라 IP 주소를 보내어 통신을 하고자 하는 상대방의 MAC 주소를 알아오는 프로토콜이다.
송신자가 ARP Request 구조(송신자의 물리 주소, 송신자 IP주소, 00-00-00-00-00, 수신자 IP 주소 등)를 브로드캐스트 방식으로 보내면 수신자가 ARP Reply 구조로 유니캐스트 방식으로 응답하여 MAC 주소를 받으면 패킷을 교환할 경로를 인식할 수 있다.
ARP 패킷 구조
Ethernet Layer 2 Packet 기준 Data 부분에 다음 형태의 데이터가 들어간다. IPv4 기준이다.
| Hardware Type(16bit, 이더넷의 경우 1) | Protocol Type(16bit, IPv4의 경우 0x0800) | |
| Hardware Length(8bit) | Protocol Length(8bit) | Operation(16bit, ARP Request는 1, ARP Reply는 2) |
| Sender MAC Address(32bit) | ||
| Sender IP Address(32bit) | ||
| Receiver MAC Address(32bit, ARP Request의 경우 이 부분을 0으로 채운다) | ||
| Receiver IP Address(32bit) | ||