주소 결정 프로토콜(Address Resolution Protocol, ARP)은 네트워크 상에서 IP 주소를 물리적 네트워크
주소로 대응시키기 위해 사용되는 프로토콜이다. 여기서 물리적 네트워크 주소는 이더넷 또는 토큰링의 48 비트
네트워크 카드 주소를 뜻한다.

이를테면, IP 호스트 A가 IP 호스트 B에게 IP 패킷을 전송하려고 할 때 IP 호스트 B의 물리적 네트워크 주소를
모른다면, ARP 프로토콜을 사용하여 목적지 IP 주소 B와 브로드캐스팅 물리적 네트워크 주소 FFFFFFFFFFFF를
가지는 ARP 패킷을 네트워크 상에 전송한다. IP 호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷을 수신하면
자신의 물리적 네트워크 주소를 A에게 응답한다.

이와 같은 방식으로 수집된 IP 주소와 이에 해당하는 물리적 네트워크 주소 정보는 각 IP 호스트의 ARP 캐시라
불리는 메모리에 테이블 형태로 저장된 다음, 패킷을 전송할 때에 다시 사용된다. ARP와는 반대로, IP 호스트가
자신의 물리 네트워크 주소는 알지만 IP 주소를 모르는 경우, 서버로부터 IP주소를 요청하기 위해 RARP
(Reverse Address Resolution Protocol)를 사용한다.

출처 : 위키백과 ― 우리 모두의 백과사전.

위키백과에 ARP에 대한 설명이 간결하고 쉽게 기술되어 있다.
DNS가 IP네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 것처럼 ARP는 IP 주소로
Mac Address를 알아내는 것이라고 생각하면 된다.


ARP의 동작은 위의 그림과 같다.
1. 목적지 IP 주소에 대응하는 목적지 Mac 주소를 구하기 위해서 ARP 브로드캐스트를 발생시킨다.
2. ARP 패킷의 목적지 IP가 자신의 IP와 동일한 호스트는 자신의 Mac 주소를 유니캐스트로 송신자에게 응답한다.
3. 송신자는 ARP 테이블에 목적지 Mac 주소를 등록한 후에 자신의 실제 정보를 수신자에게 전송한다.



위 그림은 ARP 헤더 구조이다.


'네트워크 > 네트워크 일반' 카테고리의 다른 글

MAC address  (0) 2010.12.30
동적 업데이트를 지원하지 않는 DNS 클라이언트 업데이트  (0) 2010.10.09
Class별 사설 IP 범위  (0) 2010.10.09
nbtstat 명령어  (0) 2010.10.09
Host 이름 풀이 순서  (0) 2010.10.09

+ Recent posts