서브넷의 마지막 주소로, 호스트 비트가 모두 1인 주소다. 그 세그먼트의 모든 호스트에 전달된다.
구하는 법
192.168.1.130/26
네트워크 주소 192.168.1.128 다음 블록 경계 192 브로드캐스트 = 192 - 1 = 192.168.1.191
-
네트워크 — ... .10000000 호스트 비트 전부 0
-
브로드캐스트 ... .10111111 — 호스트 비트 전부 1
-
그래서 사용 가능 호스트가 2^h - 2 가 된다
라우터는 전달하지 않는다
디렉티드 브로드캐스트(다른 서브넷의 브로드캐스트 주소로 보내는 것) 는 라우터가 기본적으로 전달하지 않는다
이유: 증폭 공격에 악용된다 (Smurf 공격)
- 출발지를 피해자로 위조해 브로드캐스트로 보내면
- 세그먼트의 모든 호스트가 피해자에게 응답한다
RFC 2644 이후 기본 차단이 권고된다
세 종류의 브로드캐스트
- 255.255.255.255 — 제한적 브로드캐스트 — 라우터를 넘지 않는다
- 192.168.1.191 — 디렉티드 브로드캐스트 — 특정 서브넷 전체
- (IPv6 에는 없다) — 멀티캐스트로 대체됐다
/30과 /31
- /30 — 4개 중 네트워크·브로드캐스트를 빼고 2개 사용 — 라우터 간 링크에 딱 맞다
- /31 — RFC 3021 — 점대점 링크는 브로드캐스트가 의미 없으므로 2개 모두 사용
면접 함정
- ❌ "/30에는 브로드캐스트가 없다" → 있다. 그래서 4개 중 2개만 쓴다.
- ❌ IPv6에도 브로드캐스트가 있다 → 없다. 멀티캐스트로 대체됐다.
브로드캐스트가 부담이 되는 이유
브로드캐스트 프레임은 세그먼트의 '모든' 호스트가 받아
- NIC 가 걸러내지 못하고 커널까지 올라온다
- 각 호스트의 CPU 를 조금씩 쓴다
호스트가 수천 대인 큰 세그먼트에서는
- ARP 브로드캐스트만으로도 무시할 수 없는 부하가 된다
- 서브넷을 나누는 실질적 이유 중 하나
IPv6는 아예 없앴다
IPv6 에는 브로드캐스트가 없다
- 멀티캐스트로 대체 (관심 있는 노드만 받는다)
- ARP 도 NDP(Neighbor Discovery) 의 멀티캐스트로 바뀌었다
불필요한 인터럽트를 줄이려는 설계 결정이다
진단에서의 쓰임
ping -b 192.168.1.255 # 세그먼트의 살아 있는 호스트 탐색(허용된 경우)
arping -I eth0 192.168.1.1 # ARP 수준 확인
요즘은 대부분 차단되어 응답이 없는 것이 정상이다.
계산 실수 방지
브로드캐스트 = 다음 블록 경계 - 1
172.16.35.200/21 → 블록 8, 네트워크 172.16.32.0 다음 경계는 172.16.40.0 → 브로드캐스트 172.16.39.255
'네트워크 주소 + 블록크기 - 1' 로 셋째 옥텟만 더하면 틀린다 (32 + 8 - 1 = 39 → .39.255 가 맞다. 마지막 옥텟은 255)