ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)는 IP 주소를 기반으로 네트워크 장치의 MAC 주소를 찾는 프로토콜입니다. 이는 로컬 네트워크에서 장치 간의 통신을 가능하게 하는 중요한 역할을 하며, OSI 모델의 데이터 링크 계층(2계층)과 네트워크 계층(3계층) 사이에서 작동합니다.
1. ARP의 주요 역할
- IP 주소 → MAC 주소 변환:
- 네트워크에서 데이터 패킷은 IP 주소를 기반으로 전달됩니다.
- 그러나 실제 데이터 전송(프레임 단위)에서는 MAC 주소가 필요합니다.
- ARP는 IP 주소에 대응하는 MAC 주소를 찾아주는 작업을 수행합니다.
2. ARP의 동작 과정
- ARP 요청(ARP Request):
- 송신 장치가 IP 주소를 가지고 있지만 해당 IP 주소의 MAC 주소를 모를 때, 네트워크에 브로드캐스트 패킷을 보냅니다.
- 이 브로드캐스트는 "이 IP 주소를 가진 MAC 주소는 누구인가?"라고 묻는 요청입니다.
- ARP 응답(ARP Reply):
- 요청을 받은 네트워크 장치 중 해당 IP 주소를 가진 장치가 응답합니다.
- 응답에는 자신의 MAC 주소가 포함되어 있습니다.
- 이 응답은 송신 장치로 유니캐스트로 전달됩니다.
- MAC 주소 저장:
- 송신 장치는 응답받은 MAC 주소를 ARP 캐시(ARP Cache)라는 임시 저장소에 저장합니다.
- 이후 동일한 IP 주소로 데이터 전송 시, 다시 ARP 요청을 보내지 않고 캐시를 참조합니다.
3. ARP의 메시지 형식
ARP 패킷은 다음과 같은 주요 필드를 포함합니다:
- Hardware Type: 하드웨어 유형 (이더넷은 1로 설정).
- Protocol Type: 프로토콜 유형 (IPv4는 0x0800).
- Hardware Address Length: MAC 주소 길이 (이더넷의 경우 6바이트).
- Protocol Address Length: IP 주소 길이 (IPv4는 4바이트).
- Operation: 요청(1) 또는 응답(2)을 나타냄.
- Sender MAC Address: 요청을 보낸 장치의 MAC 주소.
- Sender IP Address: 요청을 보낸 장치의 IP 주소.
- Target MAC Address: 요청 시 빈 값으로 설정.
- Target IP Address: 찾고자 하는 IP 주소.
4. ARP의 한계 및 보안 문제
1) 한계
- 스케일 문제:
- ARP는 브로드캐스트를 사용하므로, 네트워크 크기가 커질수록 트래픽 증가와 성능 저하가 발생할 수 있습니다.
- IPv6 비호환:
- ARP는 IPv4에서만 사용됩니다. IPv6에서는 Neighbor Discovery Protocol(NDP)가 ARP의 역할을 대체합니다.
2) 보안 문제 (ARP 스푸핑):
- ARP는 신뢰 기반으로 동작하며, 보안 검증이 없습니다.
- 악의적인 장치가 ARP 요청/응답을 위조하여 잘못된 MAC 주소를 제공하면, 데이터가 공격자의 장치로 전달될 수 있습니다.
- ARP 스푸핑 방지 방법:
- Static ARP: 고정 ARP 테이블 설정.
- ARP 필터링: 방화벽과 같은 보안 장치를 사용.
- 동적 보안: DHCP 스누핑과 결합해 동적 ARP 검증.
5. ARP와 관련된 확장 프로토콜
- RARP (Reverse ARP):
- MAC 주소를 기반으로 IP 주소를 찾는 프로토콜.
- 디스크 없는 장치가 부팅 시 IP 주소를 요청할 때 사용.
- Proxy ARP:
- 라우터가 자신이 아닌 다른 장치의 ARP 응답을 대신 보내주는 방식.
- 동일한 서브넷처럼 보이게 만들어 네트워크를 확장할 때 사용.
- Gratuitous ARP:
- ARP 요청 없이 스스로의 MAC-IP 매핑 정보를 네트워크에 알리는 방식.
- IP 충돌 검출, 네트워크 장치의 MAC 주소 갱신에 사용.
6. ARP의 실제 동작 예시
예시 상황:
- PC1(IP: 192.168.1.10, MAC: 00:11:22:33:44:55)이 PC2(IP: 192.168.1.20)로 데이터를 전송하려고 할 때.
- ARP 요청:
- PC1이 "192.168.1.20의 MAC 주소가 무엇인가?"라고 브로드캐스트.
- ARP 응답:
- PC2(192.168.1.20)가 "내 MAC 주소는 66:77:88:99:AA:BB이다"라고 응답.
- 데이터 전송:
- PC1은 이제 PC2로 데이터를 전송하며, MAC 주소는 프레임의 목적지 주소로 사용.
7. ARP의 장점과 단점
장점:
- 단순한 구조로 로컬 네트워크 내에서 효율적으로 MAC 주소를 찾을 수 있음.
- 동적 MAC-IP 매핑으로 네트워크 관리가 편리.
단점:
- 대규모 네트워크에서 브로드캐스트 트래픽 증가로 성능 저하 가능.
- 보안이 취약하여 ARP 스푸핑 공격에 쉽게 노출.
8. 요약
- ARP는 IP 주소를 MAC 주소로 변환하여 로컬 네트워크에서 데이터 프레임을 전달하는 데 사용되는 중요한 프로토콜입니다.
- 단순하고 효율적이지만, 보안 취약점과 네트워크 확장성 문제를 가지고 있습니다.
- IPv6 환경에서는 ARP 대신 Neighbor Discovery Protocol(NDP)를 사용합니다.
'컴퓨터 하드웨어' 카테고리의 다른 글
네트워크에서 포트 번호의 역할 (1) | 2025.01.22 |
---|---|
[VMware] 네트워크 관리 도구, Virtual Network Editor (2) | 2025.01.21 |
MAC 주소와 IP 주소 (2) | 2025.01.19 |
IPv4(Internet Protocol version 4)와 IPv6(Internet Protocol version 6) (2) | 2025.01.18 |
동기통신(Synchronous Communication)과 비동기통신(Asynchronous Communication) (3) | 2025.01.17 |