테마
IPv4 주소와 서브네팅
IPv4(Internet Protocol version 4, 인터넷 프로토콜 버전 4) 주소는 인터넷에 붙은 장치를 구별하는 32비트 번호다. 주소 하나를 네트워크 부분과 호스트 부분으로 나눠 읽어야 같은 네트워크인지, 몇 대를 붙일 수 있는지가 나온다. 실기 시험은 클래스 범위와 주어진 주소·마스크로 네트워크 주소, 브로드캐스트 주소(broadcast address), 호스트 수를 계산하는 문제를 자주 낸다. 주소 체계의 원리는 CS 문서 cs.network.ip에서 더 자세히 다룬다.
주소의 구조와 클래스
IPv4 주소는 8비트씩 네 덩어리(옥텟, octet)로 끊어 192.168.10.77처럼 10진수로 쓴다. 앞쪽은 어느 네트워크인지, 뒤쪽은 그 안의 어느 장치인지를 뜻한다. 초기 인터넷은 이 경계를 첫 옥텟 값으로 정했고, 그 구분을 클래스(class)라고 한다.
| 클래스 | 첫 옥텟 | 앞 비트 | 기본 마스크 | 용도 |
|---|---|---|---|---|
| A | 0~127 | 0 | 255.0.0.0 | 대규모 |
| B | 128~191 | 10 | 255.255.0.0 | 중규모 |
| C | 192~223 | 110 | 255.255.255.0 | 소규모 |
| D | 224~239 | 1110 | 없음 | 멀티캐스트(multicast) |
| E | 240~255 | 1111 | 없음 | 연구용 예약 |
127로 시작하는 주소는 A 클래스 범위지만 자기 자신을 가리키는 루프백(loopback)용이라 장치에 붙이지 않는다. 클래스 방식은 주소를 너무 크게 나눠 낭비가 심해서, 지금은 아래 CIDR(Classless Inter-Domain Routing, 클래스 없는 도메인 간 라우팅) 방식을 쓴다. 그래도 시험은 클래스 범위를 그대로 묻는다. D 클래스의 멀티캐스트(multicast)는 정해진 여러 장치에게만 데이터를 한 번에 보내는 방식이다.
사설 IP 주소(private IP address)는 내부망에서만 쓰도록 RFC(Request for Comments, 인터넷 표준 문서) 1918이 떼어 둔 대역이다. 인터넷으로 직접 나갈 수 없으므로 밖으로 나갈 때는 NAT(Network Address Translation, 네트워크 주소 변환)로 공인 주소로 바꾼다.
| 클래스 | 사설 대역 |
|---|---|
| A | 10.0.0.0/8 |
| B | 172.16.0.0/12 (172.16~172.31) |
| C | 192.168.0.0/16 |
서브넷 마스크와 CIDR
서브넷 마스크(subnet mask)는 주소의 어디까지가 네트워크 부분인지 1로 표시한 32비트 값이다. 255.255.255.192는 앞 26비트가 1이다. CIDR은 이 1의 개수를 /26처럼 주소 뒤에 붙이는 표기(이 숫자를 프리픽스라 부른다)이자, 클래스와 상관없이 경계를 자유롭게 정하는 방식이다. 경계를 원하는 곳에 둘 수 있어서 필요한 크기만큼만 주소를 나눠 줄 수 있다.
호스트 비트가 n개면 주소는 2^n개다. 그중 호스트 비트가 모두 0인 네트워크 주소와 모두 1인 브로드캐스트 주소는 장치에 줄 수 없으므로(네트워크 주소는 네트워크 자체를, 브로드캐스트 주소는 그 안의 모든 장치를 가리키는 용도라 장치 하나를 뜻할 수 없다), 사용 가능한 호스트 수는 2^n − 2다.
| 프리픽스 | 마스크 끝 옥텟 | 주소 수 | 호스트 수 |
|---|---|---|---|
| /25 | 128 | 128 | 126 |
| /26 | 192 | 64 | 62 |
| /27 | 224 | 32 | 30 |
| /28 | 240 | 16 | 14 |
| /30 | 252 | 4 | 2 |
시험 포인트
- "첫 옥텟이 128~191" → B 클래스. 192~223 → C, 224~239 → D(멀티캐스트).
- 사설 대역 → 10/8, 172.16/12, 192.168/16. 172.32.x.x는 사설이 아니다.
- 호스트 수 → 2^(호스트 비트) − 2. 주소 수(2^n)와 헷갈리지 않는다.
- 주소를 주고 네트워크 주소·서브넷 수를 묻는 계산은 다음 문서에서 연습한다.
