ARP(4)

명칭
arp - 주소 해결 프로토콜

서식
pseudo-device ether

해설
주소 해결 프로토콜 (ARP)은 인터넷 호스트 주소와 10Mb/s 의 이더넷 어드레스를 동적으로 매핑 하는 프로토콜입니다. 이것은 모든 10Mb/s 이더넷(ethernet) 인터페이스 드라이버로 이용되고 있습니다. 이 프로토콜은 인터넷 프로토콜이나 10Mb/s 이더넷(ethernet)에 한정되고 있는 것은 아닙니다만, 현재의 실장에서는 이 편성 밖에 서포트하고 있지 않습니다.

ARP 는 인터넷 주소와 이더넷 어드레스의 매핑 (대응 관계)을 캐쉬합니다. 캐쉬에 없는 주소의 매핑을 인터페이스가 요구했을 때, ARP 는, 그 매핑을 요구하는 메세지를 큐에 넣어 그 주소 매핑을 요구하는 메세지를 접속된 네트워크에 대해서 브로드캐스트 합니다. 응답이 있었을 경우, 새롭게 매핑 된 주소를 캐쉬에 격납해, 큐에 넣어지고 있던 메세지를 송신합니다. ARP 는 매핑 요구의 응답을 기다리는 동안, 고들 1 개의 패킷을 큐 로 유지합니다. 즉, 1 번 최근 ``송신한''패킷만을 보관 유지합니다. 만약 목적의 호스트가 몇차례의 요구에도 응하지 않는 경우, 그 호스트는 단기간 (통상 20 초) 다운하고 있다고 생각되어 그 사이의 전송 요구에 대해 에러가 돌아갑니다. 그 에러는, 행선지의 호스트가 응하지 않는 경우는 EHOSTDOWN , 라우터가 응하지 않는 경우는 EHOSTUNREACH 됩니다.

ARP 캐쉬는, 동적으로 생성된 호스트 경로로서 시스템의 routing table에 거둘 수 있습니다. 직접 접속되고 있는 이더넷(ethernet) 네트워크에의 경로는 “복제” 된 경로 ( RTF_CLONING 플래그가 선 경로)로서 격납되어 그 네트워크상의 개개의 호스트에의 경로는 필요에 따라서 생성됩니다. 이러한 경로는 정기적으로 타임 아웃 합니다 (통상 그 경로가 유효하게 되고 나서 20 분에 타임 아웃 해, 이러한 엔트리는 사용되지 않는 한 유효하게는 되지 않습니다). 응답이 없는 호스트에의 엔트리는 “거부” 된 경로 ( RTF_REJECT 플래그를 세울 수 있었던 경로)가 됩니다.

ARP 엔트리는 arp(8) 유틸리티에 의해 추가나 삭제, 변경되는 일이 있습니다. 수작업으로 추가된 엔트리에는 일시적인 것도 영속적인 물건도 있고, “공표” 되는 일도 있습니다. 공표되었을 경우, 시스템은 ARP 리퀘스트에 대해, 자신이 그 리퀘스트의 목적 호스트인것 같이 응답합니다.

이전 ARP 는, 부속차 캡슐화의 사용을 교섭하기 위해서 사용되고 있었습니다. 이것은 이미 서포트되고 있지 않습니다.

ARP 는 자신의 모습을 하는 호스트 (즉 자신의 주소에 대한다 ARP 요구에 응답하는 호스트)를 수동적으로 감시합니다.

진단
arp: %x:%x:%x:%x:%x:%x is using my IP address %d. %d. %d. %d! : ARP 는 로컬 네트워크에, 다른 이더넷 어드레스인데도 관계없이 자신과 같은 인터넷 주소에 대한다 매핑 요구에 응답하는 다른 호스트를 찾아냈습니다. 일반적으로, 2 살의 호스트가 같은 인터넷 주소를 사용하려 하고 있는 것을 나타내고 있습니다.

arp: ether address is broadcast for IP address %d. %d. %d. %d! : ARP 는 있는 호스트에 대한 정보를 요구해, 그 호스트의 이더넷 어드레스가 이더넷(ethernet)의 브로드캐스트 어드레스인 것을 나타내는 응답을 받았습니다. 이것은 디바이스의 설정 미스인가, 망가져 있는 것을 나타내고 있습니다.

arp: %d. %d. %d. %d moved from %x:%x:%x:%x:%x:%x to %x:%x:%x:%x:%x:%x: ARP 는 참조한 호스트의 이더넷 어드레스를 캐쉬하고 있습니다만, 그 호스트가 새로운 주소를 가지고 있는 것을 나타내는 응답을 받아들였습니다. 이것은 통상 호스트의 하드웨어 주소가 바뀌거나 모바일 단말이 로컬의 서스네트워크에 연결될 수 있었는지 잘라버려졌을 때에 일어납니다. 또 이것은 대리 ARP 의 문제인 일도 있습니다.

arpresolve: can't allocate llinfo for %d. %d. %d. %d: 참조하고 있는 호스트에의 경로는 ARP 가 요구된 디바이스를 가리키고 있습니다. 그러나 ARP 는 그 호스트의 MAC 주소를 격납한다 routing table의 엔트리를 할당할 수가 없었습니다. 이것은 통상 routing table의 설정 미스를 나타내고 있습니다. 또, 커널이 메모리를 할당할 수 없었던 때에도 일어납니다.

관련 항목
inet(4), route(4), arp(8), ifconfig(8), route(8)

Plummer, D., An Ethernet Address Resolution Protocol, RFC826. Leffler, S.J., Karels, M.J., Trailer Encapsulations, RFC893.