IPv4 서브넷에서 사용 가능한 호스트 수를 2^(32-prefix)-2로 외우면 대부분의 일반 LAN에서는 맞는다. 네트워크 주소와 브로드캐스트 주소를 하나씩 빼기 때문이다. 하지만 이 공식을 /31과 /32에 그대로 적용하면 실제 용도를 설명하지 못한다.
/30부터 비교하면 차이가 보인다
CIDR 계산기에 198.51.100.8/30을 넣으면 전체 주소는 4개다. 전통적인 서브넷에서는 첫 주소 .8이 네트워크, 마지막 .11이 브로드캐스트이고 .9, .10 두 개를 호스트에 쓸 수 있다.
198.51.100.10/31은 전체 주소가 .10, .11 두 개뿐이다. 예전 공식대로 각각 네트워크와 브로드캐스트로 빼면 남는 주소가 없다. 그러나 두 장비만 연결하는 지점 간 링크에서는 브로드캐스트가 필요하지 않다. RFC 3021 방식의 /31 링크는 두 주소를 양쪽 인터페이스에 모두 사용할 수 있어 주소 낭비를 줄인다.
203.0.113.7/32는 주소 하나를 정확히 가리킨다. 단일 호스트 경로, 라우터의 루프백, 방화벽 규칙처럼 ‘한 주소만’ 지정할 때 쓴다. 여러 호스트가 공유하는 일반 서브넷이라는 뜻은 아니다.
/31을 아무 LAN에나 쓰면 안 되는 이유
/31의 두 주소를 모두 쓸 수 있다는 규칙은 지점 간 링크라는 맥락이 중요하다. 같은 이더넷 세그먼트에 여러 장비가 있고 브로드캐스트 동작이 필요한 일반 사용자 네트워크를 /31로 만들면 의도와 맞지 않는다. 장비와 운영체제가 /31 링크를 지원하는지도 확인해야 한다.
따라서 계산 결과가 ‘사용 가능 2개’라고 보여도 곧바로 DHCP 풀이나 서버망에 적용하는 것은 위험하다. 설계 문서에는 point-to-point 용도와 양쪽 인터페이스 주소를 명시한다.
/32는 마스크가 아니라 경로 선택에도 쓰인다
라우팅에서는 더 긴 프리픽스가 더 구체적인 경로다. /24가 256개 주소 범위를 가리키는 반면 /32는 한 주소만 가리키므로, 특정 호스트로 가는 경로를 별도로 지정할 수 있다. VPN 피어, 루프백 인터페이스, 접근제어 목록에서도 자주 보인다.
다만 /32를 인터페이스에 설정했다와 그 주소가 인터넷에서 접근 가능하다는 같은 말이 아니다. 다음 홉, 라우팅 테이블, 방화벽, NAT, 상위 네트워크의 경로가 함께 맞아야 한다. CIDR 계산기는 범위를 알려 주지만 연결 가능성을 시험하지는 않는다.
네트워크·브로드캐스트 표기를 읽는 법
계산기에서 /31이나 /32의 네트워크·브로드캐스트 값이 일반 서브넷과 다르게 표시될 수 있다. 이것은 계산 오류가 아니라 특수 용도를 반영한 결과다. 제품마다 N/A, 같은 주소, 또는 첫·마지막 주소로 표기할 수 있으므로 숫자만 비교하지 말고 설명을 읽는다.
일반적인 검산 순서는 다음과 같다.
- 프리픽스가 0부터 32 사이인지 확인한다.
- 전체 주소 수가
2^(32-prefix)인지 본다. - /30 이하는 네트워크와 브로드캐스트를 제외한다.
- /31은 지점 간 링크 지원 여부를 확인한다.
- /32는 단일 주소 경로나 호스트 식별 용도인지 확인한다.
예제로 검산하기
192.168.10.35/24→ 범위192.168.10.0부터192.168.10.255, 일반 호스트 254개198.51.100.8/30→ 전체 4개, 일반 호스트.9와.10198.51.100.10/31→ 지점 간 링크에서.10과.11사용203.0.113.7/32→203.0.113.7한 주소
CIDR 결과에서 가장 중요한 것은 ‘주소가 몇 개인가’보다 어떤 네트워크 역할을 전제로 그 주소를 사용할 수 있는가다. 실제 운영 장비에 적용하기 전에는 장비 문서와 현재 라우팅 구성을 확인하고, 원격 장비라면 접속이 끊겼을 때 복구할 경로도 준비해야 한다.