[네트워크] ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) 란

기기마다 고유의 MAC주소가 있으며, 현재 어떤 IP에 어떤 기기가 연결되어 있는지 MAC주소로 확인한다. 3계층의 IP 정보를 이용해 2계층 MAC 주소를 알아내는 프로토콜을 ARP 라고 한다.

1) 내부 네트워크

host A가 같은 서브넷 안의 host B에게 데이터를 전송해야 하는데, IP주소는 알지만 MAC 주소를 모르는 상황이다.

MAC주소를 알아내기 위해 FF:FF:FF:FF:FF:FF로 ARP_QUERY 패킷을 브로드캐스트 한다. B는 ARP_QUERY 패킷의 IP 주소가 자신임을 확인하고 자신의 MAC주소를 담은 ARP_RESPONSE 패킷을 A에게 전송한다. 이제 A는 B의 MAC주소를 알기 때문에 통신할 수 있다.

IP는 영구적이기지 않기 때문에 일정 시간이 지나면 기존 ARP 테이블 정보를 폐기한다.

2) 외부 네트워크

host A가 다른 서브넷 안의 host B에게 데이터를 전송해야 하는 상황이다.

A는 ARP_QUERY 패킷을 브로드캐스트 하고, 이를 받은 게이트웨이 라우터는 패킷이 들어온 인터페이스의 MAC주소를 알려준다. A는 B의 MAC주소를 라우터의 MAC주소로 인식하고 데이터를 전송하게 된다.

라우터는 패킷의 src MAC 주소를 outbound 인터페이스의 MAC 주소로, 목적지를 B의 MAC 주소로 바꾸어 B에게 패킷을 전송한다. 만약 라우터도 B의 MAC주소를 모른다면 IP에 해당하는 인터페이스로 ARP_QUERY 패킷을 브로드캐스트하여 알아낸다.

카테고리:

업데이트:

댓글남기기