네트워크 계층의 프로토콜 - ARP (Address Resolution Protocol)
1. ARP란?
- 정의: Address Resolution Protocol (ARP)는 IP 주소를 이용해 MAC 주소를 알아내는 프로토콜.
- 역할: 동일 네트워크 내에서 통신 시, 송수신 대상의 IP 주소는 알고 있지만 MAC 주소를 모를 경우, 이를 해결.

2. ARP 동작 과정
2.1. 시나리오
- 호스트 A가 네트워크 상에서 호스트 B에 패킷을 전송하려는 상황을 가정:
- IP 주소는 알고 있지만, MAC 주소를 모름.
2.2. ARP 요청 (ARP Request)
- 브로드캐스트 방식으로 네트워크에 메시지를 전송:
- "IP 주소 X의 MAC 주소를 알고 있는 호스트는 응답해주세요!"
2.3. ARP 응답 (ARP Reply)
- 요청 메시지를 수신한 호스트 B는 자신의 MAC 주소를 포함한 유니캐스트 응답 메시지를 호스트 A에게 전송.
2.4. ARP 테이블 갱신
- 호스트 A는 응답 메시지를 받아, ARP 테이블에 호스트 B의 IP와 MAC 주소를 기록.
- 이후 동일 호스트와의 통신 시, ARP 요청을 반복하지 않음.
3. ARP 패킷 형식
3.1. 주요 필드
-
오퍼레이션 코드 (Operation Code):
-
송신지 하드웨어 주소 (Sender Hardware Address):
-
수신지 하드웨어 주소 (Target Hardware Address):
- 요청 메시지에서는 비워짐, 응답 메시지에서 사용.
-
송신지 프로토콜 주소 (Sender Protocol Address):
-
수신지 프로토콜 주소 (Target Protocol Address):
4. ARP 테이블
4.1. 정의
- IP 주소와 MAC 주소의 매핑 정보를 기록한 데이터베이스.
- ARP 요청과 응답으로 얻은 정보를 캐싱.
4.2. 특징
- 자동 갱신: 일정 시간이 지나면 기록 삭제.
- 수동 확인 및 관리:
- Windows:
arp -a
명령어 사용.
- Mac/Linux:
arp -a
명령어 사용.
5. 다른 네트워크와의 ARP 사용
5.1. 동일 네트워크와 다른 네트워크의 차이
- 동일 네트워크: ARP로 직접 MAC 주소를 확인.
- 다른 네트워크: 라우터를 통해 ARP 수행.
5.2. 동작 예시
-
호스트 A → 라우터 A:
- 라우터의 MAC 주소를 알아내기 위해 ARP 요청 수행.
-
라우터 A → 라우터 B:
- 라우터 간에도 ARP 요청을 통해 상대방의 MAC 주소 확인.
-
라우터 B → 호스트 B:
- 호스트 B의 MAC 주소를 알아내기 위해 ARP 요청 수행.
5.3. 요약
- ARP는 네트워크별로 독립적으로 수행되며, 이를 통해 IP 주소를 기반으로 최종적으로 MAC 주소를 확인.
6. ARP 프로토콜 요약
- ARP는 IP 주소로 MAC 주소를 알아내는 필수 프로토콜.
- 동일 네트워크 내에서 동작하며, 요청과 응답 과정을 통해 정보를 교환.
- 기록된 ARP 테이블을 활용해 네트워크 성능을 최적화.
- 다른 네트워크와 통신 시에는 라우터를 통해 ARP가 단계적으로 수행.
이로써 네트워크 계층의 주요 프로토콜인 IP와 ARP를 정리했습니다. 다음 강의에서는 라우팅 프로토콜과 관련된 내용으로 이어가겠습니다. 감사합니다!