IP 주소를 통해 MAC 주소를 알려주는 프로토콜이에요.
PC1
이 PC2
에게 IP 통신을 시도하고 통신을 수행하기 위해선 PC2
의 목적지 MAC주소를 알아야 해요. 그래서 PC1
이 ARP
를 보내고 PC2
가 이를 받아 목적지 주소를 담은 응답을 보내주는 거죠.
그림을 예로 들면서 설명할게요.
PC1
은 동일 네트워크 대역인 목적지 IP 172.20.10.9
로 패킷을 전송시도해요.
이 때, 목적지 MAC 주소를 알기 위해 우선 자신의 ARP
캐시 테이블을 확인해요. 해당 IP는 없으니 ARP
Request를 Broadcast로 전송해요.
Broadcasting을 통해 전달된 Request 메시지를 해당 IP의 PC가 받으면 본인의 MAC 주소를 Unitcast 방식으로 ARP
Reply를 통해 전달해요.
그렇게 Reply를 받고 목적지 MAC 주소는 ARP
캐시 테이블에 저장되고 패킷을 전송해요.
네트워크 주소에서 물리 주소를 가져오는 기능을 말해요. 방식은 2가지가 있어요.
정적 변환
해당 기기의 물리 주소와 네트워크 주소를ARP
테이블로 일일히 만드는 방식이에요.
요즘은 스마트폰이 있어 기기가 이동해서 네트워크 인터페이스가 자주 바뀌어요. 그래서 그때 마다 일일히 테이블을 갱신해줘야 해서 이는 비효율적인 방식이긴 해요.동적 변환
해당 물리 주소나 네트워크 주소 처리를 프로토콜로 사용해서 파악해요. 앞서 말한 동작 방식이에요.
ARP
가 동작하는 네트워크 환경, 이더넷에 대한 정보가 담겨 있어요.
프로토콜의 종류에요. 일반적으로 IPv4
가 담겨있어요.
MAC 주소의 길이6-type
, IP 주소 길이4-byte
가 담겨 있어요.
명령 코드가 담겨 있어요. 1
은 ARP Request
, 2
는 ARP Reply
를 의미해요.
이후에 송신 수신측 순으로 MAC 주소와 프로토콜 주소가 담겨 있어요.
ARP
에 대한 내용은 여기까지에요. 좀 힘드네요 ㅎㅎ ㅠ. 기회가 된다면 ARP
캐시 테이블에 대한 내용도 다룰게요.