Skip to content
난이도 출제 빈출문제은행 4

IPv4 주소와 서브네팅 ​

IPv4(Internet Protocol version 4, 인터넷 프로토콜 버전 4) 주소는 인터넷에 붙은 장치를 구별하는 32비트 번호다. 주소 하나를 네트워크 부분과 호스트 부분으로 나눠 읽어야 같은 네트워크인지, 몇 대를 붙일 수 있는지가 나온다. 실기 시험은 클래스 범위와 주어진 주소·마스크로 네트워크 주소, 브로드캐스트 주소(broadcast address), 호스트 수를 계산하는 문제를 자주 낸다. 주소 체계의 원리는 CS 문서 cs.network.ip에서 더 자세히 다룬다.

주소의 구조와 클래스 ​

IPv4 주소는 8비트씩 네 덩어리(옥텟, octet)로 끊어 192.168.10.77처럼 10진수로 쓴다. 앞쪽은 어느 네트워크인지, 뒤쪽은 그 안의 어느 장치인지를 뜻한다. 초기 인터넷은 이 경계를 첫 옥텟 값으로 정했고, 그 구분을 클래스(class)라고 한다.

클래스첫 옥텟앞 비트기본 마스크용도
A0~1270255.0.0.0대규모
B128~19110255.255.0.0중규모
C192~223110255.255.255.0소규모
D224~2391110없음멀티캐스트(multicast)
E240~2551111없음연구용 예약

127로 시작하는 주소는 A 클래스 범위지만 자기 자신을 가리키는 루프백(loopback)용이라 장치에 붙이지 않는다. 클래스 방식은 주소를 너무 크게 나눠 낭비가 심해서, 지금은 아래 CIDR(Classless Inter-Domain Routing, 클래스 없는 도메인 간 라우팅) 방식을 쓴다. 그래도 시험은 클래스 범위를 그대로 묻는다. D 클래스의 멀티캐스트(multicast)는 정해진 여러 장치에게만 데이터를 한 번에 보내는 방식이다.

사설 IP 주소(private IP address)는 내부망에서만 쓰도록 RFC(Request for Comments, 인터넷 표준 문서) 1918이 떼어 둔 대역이다. 인터넷으로 직접 나갈 수 없으므로 밖으로 나갈 때는 NAT(Network Address Translation, 네트워크 주소 변환)로 공인 주소로 바꾼다.

클래스사설 대역
A10.0.0.0/8
B172.16.0.0/12 (172.16~172.31)
C192.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다.

프리픽스마스크 끝 옥텟주소 수호스트 수
/25128128126
/261926462
/272243230
/282401614
/3025242

시험 포인트 ​

  • "첫 옥텟이 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)와 헷갈리지 않는다.
  • 주소를 주고 네트워크 주소·서브넷 수를 묻는 계산은 다음 문서에서 연습한다.

관련 문서