📚 네트워크 · 패킷 분석 › 01. TCP/IP 구조 이해 — 11편
이전 글: 10. 공인 IP와 사설 IP · 다음 글: 12. Subnet Mask란 무엇인가
패킷은 누구에게 보내느냐에 따라 전달 방식이 나뉩니다.
| 방식 | 대상 | IPv4 목적지 예 | 목적지 MAC 예 |
|---|---|---|---|
| Unicast | 특정 한 대상 (1:1) | 192.168.10.80 | 대상의 MAC (00:0c:29:77:88:99) |
| Broadcast | 같은 네트워크의 모든 대상 (1:전체) | 255.255.255.255, 192.168.10.255 | ff:ff:ff:ff:ff:ff |
| Multicast | 참여(가입)한 그룹 (1:그룹) | 224.0.0.0/4 대역 (예: 224.0.0.251) | 01:00:5e:로 시작 |
| Anycast | 같은 주소를 가진 여러 대상 중 가장 가까운 하나 | 공개 DNS 등 일반 유니캐스트 주소 형태 | 경로상 다음 장비의 MAC |
일상적인 웹·SSH·DB 통신은 대부분 Unicast입니다. Broadcast와 Multicast는 "상대를 아직 모를 때"나 "여럿에게 한 번에 알릴 때" 쓰입니다. IPv6에는 브로드캐스트가 없고, 그 역할을 멀티캐스트(예: ff02::1 모든 노드)가 대신합니다(09. IPv6 기초 — 관제에서 놓치기 쉬운 두 번째 주소 체계에서 다룸).
스위치는 목적지 MAC에 따라 프레임을 다르게 처리합니다.
[스위치]
┌───────────┬────┴─────┬───────────┐
PC-A PC-B PC-C 라우터 ──→ 다른 네트워크
(보내는 쪽)
Unicast : PC-A → PC-C 스위치가 PC-C 포트로만 전달
Broadcast : PC-A → ff:ff:..:ff 스위치가 모든 포트로 복제 (라우터는 다른 네트워크로 넘기지 않음)
Multicast : PC-A → 01:00:5e:.. 기본은 모든 포트로 복제,
IGMP Snooping이 켜진 스위치는 가입한 포트로만 전달
브로드캐스트는 두 종류가 있습니다.
255.255.255.255: 현재 링크 전체. 라우터를 절대 넘지 않습니다.192.168.10.255(192.168.10.0/24의 마지막 주소): 특정 네트워크 전체. 원격에서 보내면 라우터를 거쳐 해당 네트워크에서 브로드캐스트로 바뀔 수 있어, 현재 라우터들은 기본적으로 이를 전달하지 않도록 권고됩니다(RFC 2644).브로드캐스트가 닿는 범위를 브로드캐스트 도메인이라 하며, 라우터와 VLAN이 그 경계가 됩니다(04 영역 168. Broadcast Domain에서 다룸).
내부망 캡처를 열면 Unicast 외에도 다음과 같은 프로토콜이 늘 보입니다. 대부분 정상 동작입니다.
| 프로토콜 | 방식 | 목적지 주소·포트 | 용도 |
|---|---|---|---|
| ARP Request | Broadcast | ff:ff:ff:ff:ff:ff | IP에 해당하는 MAC 묻기 |
| DHCP Discover | Broadcast | 255.255.255.255 UDP 67 | IP를 줄 DHCP 서버 찾기 (출발지 0.0.0.0) |
| NetBIOS Name Service | Broadcast | 서브넷 브로드캐스트 UDP 137 | Windows 이름 해석(구형) |
| LLMNR | Multicast | 224.0.0.252 UDP 5355 | DNS 실패 시 이름 해석 |
| mDNS | Multicast | 224.0.0.251 UDP 5353 | 로컬 서비스·이름 탐색 |
| SSDP | Multicast | 239.255.255.250 UDP 1900 | UPnP 장치 탐색 |
| IGMP | Multicast | 224.0.0.1 등 | 멀티캐스트 그룹 가입·탈퇴 알림 |
IPv4 멀티캐스트 MAC은 01:00:5e 뒤에 IP 주소의 하위 23비트를 붙여 만듭니다. 예를 들어 224.0.0.251 → 01:00:5e:00:00:fb입니다.
실습 예시 — 내 LAN의 브로드캐스트·멀티캐스트만 관찰 (tcpdump는 Rocky: dnf install tcpdump, Ubuntu: apt install tcpdump)
# 예시(값은 환경마다 다름) — 본인 소유 실습 VM의 인터페이스에서만
sudo tcpdump -i ens33 -n -e -c 20 'broadcast or multicast'
# 출력 형식 예시(값은 환경마다 다름)
10:15:02.114 00:0c:29:3a:4b:5c > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.10.1 tell 192.168.10.25, length 28
10:15:03.201 00:0c:29:77:88:99 > 01:00:5e:00:00:fb, ethertype IPv4 (0x0800), length 87: 192.168.10.80.5353 > 224.0.0.251.5353: ... (mDNS)
10:15:04.550 00:0c:29:77:88:99 > 01:00:5e:00:00:fc, ethertype IPv4 (0x0800), length 75: 192.168.10.80.xxxxx > 224.0.0.252.5355: ... (LLMNR)
-e 옵션으로 목적지 MAC을 함께 보면 방식이 한눈에 구분됩니다.broadcast는 이더넷 브로드캐스트, multicast는 이더넷 멀티캐스트(그룹 비트가 1인 주소)를 뜻합니다. IP 기준으로 보려면 ip broadcast, ip multicast를 씁니다.Windows에서는 Wireshark 표시 필터 eth.dst.ig == 1로 브로드캐스트·멀티캐스트 프레임만 볼 수 있습니다.
브로드캐스트·멀티캐스트는 같은 LAN 안에서만 보이므로, 경계 방화벽이 아닌 내부 센서·패킷 캡처·호스트 로그에서 확인해야 합니다.
관제자가 확인할 질문은 다음과 같습니다.
⚠️ 오탐 주의: 내부망에는 ARP, DHCP, mDNS, SSDP, LLMNR 트래픽이 원래 많습니다. 존재 자체를 이상으로 보지 말고, 응답 주체·빈도·대상 범위가 평소와 다른지를 기준으로 판단해야 합니다. IDS 룰 중 일부는 이런 정상 트래픽에 반응할 수 있어 튜닝이 필요합니다.
ff:ff:ff:ff:ff:ff, IPv4 멀티캐스트 MAC은 01:00:5e로 시작합니다.