ARP와 DHCP — IP를 MAC으로, 자동 IP 할당
IP 주소를 알아도 실제 통신은 MAC 주소로 합니다. ARP가 IP→MAC 변환을 해주고, DHCP가 IP 주소를 자동 할당합니다.
ARP (Address Resolution Protocol)
IP 주소를 MAC 주소로 변환 하는 프로토콜입니다.
호스트 A (192.168.1.10)가 호스트 B (192.168.1.20)에 데이터를 보내려면:
1. ARP 요청 (브로드캐스트):
"192.168.1.20의 MAC 주소가 뭐야?" → FF:FF:FF:FF:FF:FF (모든 장비에)
2. ARP 응답 (유니캐스트):
호스트 B: "내 MAC은 AA:BB:CC:DD:EE:FF야" → 호스트 A에게만
3. ARP 캐시에 저장:
192.168.1.20 → AA:BB:CC:DD:EE:FF (일정 시간 캐싱)
# ARP 캐시 확인
arp -a # 또는
ip neigh show
# ARP 캐시 삭제
sudo ip neigh flush all
ARP 스푸핑 (보안 위협)
공격자가 거짓 ARP 응답을 보내 트래픽을 가로채는 공격입니다 (MITM).
정상: 호스트A → 라우터(게이트웨이)
공격: 호스트A → 공격자(가짜 게이트웨이 MAC) → 라우터
대응: Dynamic ARP Inspection(DAI), 정적 ARP 엔트리
DHCP (Dynamic Host Configuration Protocol)
네트워크 설정(IP, 서브넷, 게이트웨이, DNS)을 자동으로 할당 합니다.
DORA 과정
클라이언트 DHCP 서버
│ │
│── Discover (브로드캐스트) ──→│ "IP 줄 서버 있나요?"
│ │
│←── Offer ────────────────│ "192.168.1.100 줄게"
│ │
│── Request (브로드캐스트) ──→│ "192.168.1.100 쓸게요"
│ │
│←── Acknowledge ──────────│ "확인, 임대 시간 24시간"
│ │
D = Discover
O = Offer
R = Request
A = Acknowledge
DHCP가 할당하는 정보:
- IP 주소
- 서브넷 마스크
- 기본 게이트웨이
- DNS 서버
- 임대 시간(Lease Time)
DHCP 임대 갱신
임대 시간의 50% 경과: Renew 시도 (유니캐스트)
임대 시간의 87.5% 경과: Rebind 시도 (브로드캐스트)
임대 만료: IP 반납, DORA 재시작
핵심 포인트
- ARP는 같은 네트워크에서만: 다른 네트워크로 보낼 때는 게이트웨이의 MAC을 ARP로 조회
- DHCP Discover가 브로드캐스트인 이유: 아직 IP가 없으므로 유니캐스트 불가
- DHCP Request도 브로드캐스트인 이유: 여러 DHCP 서버에게 "이 서버의 Offer를 선택했다"고 알림
정리
ARP는 L3(IP)와 L2(MAC)를 연결하는 다리이고, DHCP는 네트워크 설정 자동화의 핵심입니다. 실제로는 ARP의 브로드캐스트 동작과 DHCP의 DORA 과정을 설명할 수 있으면 충분합니다.