ARP
Address Resolution Protocol(주소 확인 프로토콜)
논리적인 주소를 물리적 주소로 변환하는 프로토콜을 의미한다.
즉, IP주소를 MAC 주소로 변환하는 프로토콜이다.
보통 네트워크는 라우터를 기준으로 나눠져있다. 네트워크 내부에서는 IP주소로 통신하는 것이 아닌, MAC 주소를 가지고 통신한다.
스위치가 2계층에 존재하는 이유가 바로 여기 있다. 2계층에서 MAC 주소를 보고 통신하기 때문이다.
ARP는 어떻게 동작할까?
작동원리
1. 초기 Host A는 192.168.30.6에 MAC주소를 알지못하기 때문에, 네트워크 전체에 192.168.30.6에 대한 MAC 주소를 물어보는 요청을 보낸다.(Broadcast)

2. 요청한 IP 주소에 맞는 다른 호스트는 자신의 MAC 주소를 담아 응답을 보낸다. 요청 메시지에 자신의 MAC 주소를 요청한 호스트 A의 IP 주소가 있기 때문에, A에게 곧장 보낼 수 있다.(Unicast)

3. MAC 주소를 알아낸 호스트 A는 ARP 정보를 담고 있는 테이블에 192.168.30.6의 MAC 주소를 업데이트한다. 정보를 담고 있는 테이블을 ARP Table 혹은 ARP Cache라고 부른다.
RARP
Reverse ARP
MAC 주소를 IP 주소로 변환하는 프토토콜
RARP 동작을 하기 위해서는 RARP 서버가 존재해야한다. 자신의 IP를 알지 못할 때, 이 프로토콜을 사용한다.
RARP는 라우팅을 지원하지 않아 서브넷마다 서버가 반드시 필요하다는 단점이 있다.
RARP 서버는 IP를 분배하는 역할을 수행한다.
BroadCast로 자신의 MAC 주소로 자신의 IP 주소를 알기 위해서 요청하면, RARP Serever는 너 이런 IP를 사용해! 라는 식으로 IP를 할당해준다.
RARP 서버가 만약에 없다면, IP주소를 받지 못해서 통신을 할 수 없다.
작동 원리
1. 최초 호스트 A는 자신의 IP를 모르는 상태이기 때문에, IP를 요청하는 RARP Request를 BroadCast로 보낸다. 이때 요청에는 자신의 MAC주소가 기재되어 있다.

2. RARP 서버는 요청한 호스트 A의 IP주소를 담은 RARP 응답 메시지를 만들어 Host A에게 전송한다.

의문
ARP Table(Cache)가 왜 존재할까?
ARP Table이 없는 상태에서 ARP를 사용한다면, 호스트는 모두 같은 네트워크에 존재하는 MAC 주소를 알지못한다. 그러면 IP주소에 해당하는 MAC을 찾기위해서 BroadCast를 하고 Unicast를 계속 해야하는 비효율이 발생하기 때문에 존재한다.
'CS > Network' 카테고리의 다른 글
| [Network] HTTP(S) (0) | 2025.08.22 |
|---|---|
| [Network] 포트(Port) (0) | 2025.08.18 |
| [Network] IP 주소 (0) | 2025.08.17 |
| [Network] MAC 주소 (0) | 2025.08.16 |
| [Network] TCP, UDP (0) | 2025.08.15 |