주소 결정 프로토콜 (ARP)
포스트
취소

주소 결정 프로토콜 (ARP)

주소 결정 프로토콜 - ARP (Address Resolution Protocol)


네트워크 상에서 IP 주소(Logical Address)를 물리적 네트워크 주소(Physical Address)로 대응(bind)시키기 위해 사용되는 프로토콜로, 보통 같은 망에 있는 기기에 송신 합니다.

ARP흐름

  1. ARP 요청 메시지

    먼저 상대의 주소를 알기위해 주변의 노드들에게 나는 Y인데, Z야, 너의 mac주소가 뭐니?하고 주소를 요청합니다.

    ethernet header에는 다음과 같은 정보가 담깁니다.

    • 보내는사람(source) : Y mac주소
    • 받는사람(destination) : FF-FF-FF-FF-FF-FF 브로드캐스트 (방송용)
  2. Z만 받아서 요청에 대한 응답 메시지를 생성

    요청을 받은 Z는 Z인 나는 mac주소 ~이야하고 Y에게 응답을 합니다.

    ethernet header에는 다음과 같은 정보가 담깁니다.

    • src : Z mac주소
    • dst : Y mac주소

ARP Cache Table

ARP Request를 통하여 얻은 호스트들과 라우터들의 IP 주소와 MAC 주소는 ARP Cache Table에 일정시간 동안 저장하게 됩니다. 이 테이블에 저장 해둠으로 Broadcast를 하지않고 주소를 다시 사용 할 수 있어 네트워크의 부하가 줄어들고 성능 향상이 가능해집니다. 또한 이 테이블은 ARP 캐시로 되어있는데, Dynamic type과 Static type으로 저장이 되어있습니다. Dynamic type은 arp를 통해 자동으로 가져온 주소이며, 설정된 시간이 지나면 다시 ARP Request를 통하여 주소를 얻게 됩니다. Static type은 관리자가 수동으로 입력한 주소이기 때문에 변동되지 않습니다.

1
$ arp -a

ARP Cache의 저장시간

  • C3isco의 기기에서는 4시간으로 설정되어있습니다.
  • Windows10 에서는 17500ms로 되어있습니다.
  • Ubuntu에서는 60초로 되어있습니다.

ARP Cache의 저장시간을 짧게 설정 할 경우

네트워크의 호스트들이 지속적으로 ARP Cache Table의 Entry를 교체하게 되어 많은 Broadcast를 전송하게 되고 네트워크의 부하가 늘어 들고 성능은 떨어지게 됩니다.

ARP Cache의 저장시간을 길게 설정 할 경우

Dynamic type의 호스트에 다른 IP 주소가 할당된 다면 ARP Cache Table에 이전의 주소가 남아있어서 엉뚱한 곳으로 요청을 보내게 됩니다.

역순 주소 결정 프로토콜 - RARP (Reverse ARP)


arp와는 반대로, Physical Address에 대한 Logical Address를 알아오기 위해 사용하는 프로토콜입니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.