앞서 인터넷 계층에서 사용하는 IP주소에 대해 알아보자

1. ARP (Address Resolution Protocol)


컴퓨터와 컴퓨터 간의 통신은 흔히들 IP 주소 기반으로 통신한다고 알고 있지만 정확히 이야기하자면 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신한다.

ARP는 즉, IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜이다.

ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환한다. 이와 반대로 RARP를 통해 실제 주소인 MAC 를 가상 주소인 IP 주소로 변환하기도 한다.

ARP와 RARP

ARP와 RARP

ARP의 주소를 찾는 과정

ARP의 주소를 찾는 과정

장치 A가 ARP 브로드캐스트를 보내서 IP 주소인 120.70.80.3에 해당하는 MAC 주소를 찾는다. 그리고 해당 주소에 맞는 장치 B가 ARP 리플라이 유니캐스트를 통해 MAC 주소를 반환하는 과정을 거쳐 IP 주소에 맞는 MAC 주소를 찾게 된다.

1-1) ARP 동작 과정 - 전체 방송과 개인 답장

시나리오: A 컴퓨터가 IP 주소 "120.70.80.3"인 B 컴퓨터와 통신하고 싶다.

1단계: ARP 브로드캐스트 (전체 방송) A가 네트워크 전체에 외친다.

"여러분~ IP 주소 120.70.80.3 쓰시는 분 계신가요? MAC 주소 좀 알려주세요!"

이건 마치 아파트 방송으로 "502호 사시는 분~ 현관 비밀번호 좀 알려주세요!"라고 하는 것과 같다. 단지 내 모든 사람이 듣지만, 해당하는 사람만 반응한다.

2단계: ARP 리플라이 유니캐스트 (개인 답장)

B가 A에게만 답장한다.

"네! 저예요. 제 MAC 주소는 aa:bb:cc:dd:ee:ff입니다."

이제 A는 B의 MAC 주소를 알았으므로, 앞으로는 직접 통신할 수 있다.

1-2) ARP 캐시 테이블

한 번 알아낸 MAC 주소는 캐싱(메모)해둔다.

마치 자주 가는 친구 집 주소를 연락처에 저장해두는 것과 같다. 일정 시간이 지나면 삭제되어 새로 물어봐야 한다.