ARP(Address Resolution Protocol)는 IP 주소를 네트워크 장치의 고유 번호인 MAC 주소로 변경하는 프로토콜
ARP 프로토콜은 라우터를 통과하여 전달될 수 없고 LOCAL에서만 수행
호스트에서 데이터를 전송하기 위해서는 데이터 링크에서 처리할 MAC 주소가 필요한데, ART는 해당 호스트의 MAC 주소를 알아내는 프로토콜
하드 디스크 저장 장치가 없는 단말(X Window 단말이나 브리지/라우터 등의 임베디드 시스템의)의 경우에는 자신의 이더넷 주소는 알고 있지만, 동적인 자신의 IP 주소가 저장될 하드 디스크가 없기 때문에 자신의 IP 주소를 얻기 위해 RARP(Reverce ARP)를 사용
패킷 구조
하드웨어의 종류
DIX 이더넷의 경우는 1, IEEE 802.3 CSMA/CD는 6
프로토콜의 종류
IP 값일 경우는 프로토콜 종류 값이 800(16진수)
HLen(하드웨어 주소 길이)
이더넷의 경우 HLen의 값은 6Byte
PLen(프로토콜 길이)
IP 주소의 경우 PLen의 값은 4Byte
동작 코드
ARP 요청의 경우는 동작 코드 값이 1이고, 응답의 경우는 2가 설정됨
RARP 요청의 경우는 동작 코드 값이 3이고, 응답의 경우는 4가 설정됨
동작 코드 값
내용
1
ARP 요청
2
ARP 응답
3
RARP 요청
4
RARP 응답
동작 원리
ARP
호스트 A에서 B로 데이터를 전송하고자 하는 경우, 먼저 A는 ARP 요청 패킷을 브로드캐스팅하면 패킷을 받은 호스트들 중에서 B 호스트만이 응답하고, 나머지 호스트는 이 패킷을 버림
이때 B는 캡슐화해서 송신된 패킷으로부터 A의 MAC 주소를 알 수 있으므로 ARP 요청 없이 ARP 응답을 전송
이후부터는 호스트 A는 호스트 B로 데이터 전소하는 것이 가능
ARP는 MAC 주소를 캐시에 저장해 두고 다음에 전송 시에는 ARP 요청 전에 ARP 캐시를 확인하는 절차를 따름
RARP
RARP 요청 패킷에는 자신의 하드웨어 주소를 방송하여 자신의 IP 주소를 질의하고 이를 수신한 RARP 서버는 자신이 미리 저장하고 있는 정보, 즉 해당 단말의 하드웨어 주소에 대한 IP 주소 정보를 요청한 단말로 응답함