본문 바로가기

Network

IP주소 체계와 서브네팅

네트워크를 이해하려면 “어디로 데이터를 보내야 하는지”를 먼저 알아야 한다. 이번 글에서는 IP 주소 체계와 서브네팅(Subnetting)에 대해 정리해 본다. 참고로 IP주소는 IPv4(ex. 192.168.123.132)와 IPv6(ex. 2001:db8:abcd:0012:0000:0000:0000:0001) 두가지 형태가 있으나 아래에서는 보다 대중적으로 많이 사용되고 있는 IPv4를 기준으로 설명한다.

 


IP 주소 구조

 

IP주소란 인터넷에 연결되어 있는 장치(컴퓨터, 스마트폰, 서버 장비 등)들을 식별할 수 있도록 각각의 장비에 부여되는 고유 주소이다. IP 주소는 32비트 binary 주소를 4바이트(8비트씩)로 구분하여 “dotted-decimal” 형태로 표기(ex. 192.168.1.10)한다.

 

이러한 IP 주소는 네트워크 ID + 호스트 ID로 구성된다. 네트워크 ID는 해당 기기가 어느 네트워크에 속한지를 나타내고, 호스트 ID는 그 네트워크 안에서 어떤 장치인지를 구분한다.

 


IPv4 클래스

 

IPv4 클래스란 초창기 네트워크 규모에 따라 주소 공간을 구분하기 위해 만들어진 개념이다. 현재는 CIDR(Classless Inter Domain Routing) 방식이 더 일반적이지만 기본 이해를 위해 알아 둬야 할 필요가 있다.

 

IP 주소를 8비트로 4등분을 하면, 각각을 옥텟(Octet)이라 부른다. 이러한 옥텟은 0~255개의 범위가 되므로 각각 256개가 들어갈 수 있게 된다.

 

그리고 이러한 옥텟 별로 IP의 클래스를 A,B,C로 나눌 수 있다.

 

클래스 네트워크 비트 수 호스트 비트 수 IP주소 범위 기본 서브넷 마스크 목적
A 8 24 1.0.0.0 ~ 126.255.255.255 255.0.0.0 (/8) 대형망
B 16 16 128.0.0.0 ~ 191.255.255.255 255.255.0.0 (/16) 중형망
C 24 8 192.0.0.0 ~ 223.255.255.255 255.255.255.0 (/24) 소형망
D     224.0.0.0 ~ 239.255.255.255   멀티캐스트
E     240.0.0.0 ~ 254.255.255.255   실험,연구용

 

 

A 클래스

  • A클래스의 첫번째 옥텟의 앞 비트는 0으로 고정된다.
  • 따라서 A Class의 범위는 첫 옥텟이 1 ~ 126 사이의 숫자로 시작한다.

 

 

B 클래스

  • B클래스는 첫번째 옥텟의 앞 비트가 10으로 고정이 된다.
  • 따라서 B Class의 범위는 첫 옥텟이 128 ~ 191 사이의 숫자로 시작한다.

 

 

C 클래스

  • C클래스는 첫번째 옥텟의 앞 비트가 110으로 고정.
  • 따라서 C Class의 범위는 첫 옥텟이 192 ~ 223 사이의 숫자로 시작한다.

 

 

D 클래스

  • D클래스는 첫번째 옥텟의 앞 비트가 1110으로 고정
  • 따라서 표현할 수 있는 범위는 224.0.0.0 ~ 239.255.255.255
  • 멀티캐스트용 대역으로 IP주소에 할당되지 않는다.

 

 

E 클래스

  • E클래스는 첫번째 옥텟의 앞 비트가 1111으로 고정
  • 따라서 표현할 수 있는 범위는 240.0.0.0 ~ 255.255.255.255
  • 연구용 예약된 주소 대역으로 IP주소에 할당되지 않는다.

 

이러한 클래스 기반의 IP 주소 체계는 “이렇게 밖에 나눌 수 없던” 시대의 산물이다. 이러한 이유는 1980~90년대 초반까지 대부분의 라우터가 A, B, C 클래스 경계만 인식이 가능했기 때문이다. 당시 라우터 설정에는 서브넷 마스크가 포함되지 않았고 단순히 IP주소의 첫 비트(들)로 어느 클래스인지만 보고 경로를 결정했기 때문이다.

 


네트워크 주소 & 브로드캐스트 주소

 

IP주소에서는 다음과 같이 사용할 수 없는 주소가 2가지가 있다.

 

네트워크 주소는 해당 네트워크 자체를 나타내는 주소이고, 브로드캐스트 주소는 해당 네트워크 내 모든 호스트에게 데이터를 전달하기 위해 나타내는 주소이다.

이 두가지 주소는 호스트에게 할당하지 않는 게 관례로 자리잡고 있다.

 


서브넷(Subnet)의 등장

 

네트워크가 점차 확장되기 시작하면서 기존의 클래스 기반 IP 주소의 한계가 드러나기 시작했다. A, B, C 클래스는 각각에 고정된 크기의 주소 블록을 할당하다 보니 대형 조직은 넉넉한 B, C 클래스조차 부족했고 소규모 조직은 A, B 클래스의 절반도 쓰지 못해 IP 주소 자원이 크게 낭비되었다.

결국 IP 주소 부족 문제와 과도한 브로드캐스트 도메인으로 인한 네트워크 성능 저하 문제가 발생하자 이러한 문제를 해결하기 위해 서브넷이라는 개념이 도입되었다.

 


서브넷 마스크(Subnet Mask)

 

서브넷 마스크란 IP 주소에서 “네트워크 비트”와 “호스트 비트”를 구분하는 비트 마스크(ex. 255.255.255.0)이다.

 

위 예시에서 IP 주소는 192.168.10.100 인데 서브넷 마스크 255.255.255.0 로 AND 연산을 하면 192.168.10.0 이라는 네트워크 주소가 도출된다.

IP 주소              11000000 . 10101000 . 00001010 . 01100100 
                          ↓              ↓                 ↓                 ↓
                          192          . 168           . 10             . 100

서브넷 마스크     11111111 . 11111111 . 11111111 . 00000000 
                          ↓             ↓               ↓                ↓
                          255         . 255         . 255         . 0

 

이렇게 도출된 네트워크 주소에 호스트 마스크(서브넷 마스크를 반전한 값)인 0.0.0.255를 OR 연산 하면 192.168.10.255 라는 브로드캐스트 주소가 도출된다

네트워크 주소       11000000 . 10101000 . 00001010 . 00000000 
호스트 마스크       00000000 . 00000000 . 00000000 . 11111111 
OR 연산 결과        11000000 . 10101000 . 00001010 . 11111111 
                        → 192      . 168      . 10       . 255

 

기존의 Classful 체계에서는 A, B, C 클래스별로 고정된 기본 서브넷 마스크가 사용되었다.

 

하지만 동적인 서브넷 마스크를 도입하면 IP 주소를 보다 효율적으로 나누는 것이 가능해진다.

 

 

 

CIDR 표기법

 

CIDR(Classless Inter Domain Routing) 표기법은 서브넷 마스크를 보다 간소화해서 표현하는 방법을 의미한다. 표기 방법은 IP 주소 뒤에 ‘/’와 prefix 길이(네트워크 비트 수)를 붙여 표현한다.

10.0.0.0/16               →    네트워크 비트 16, 호스트 비트 16
192.168.100.0/27     →    네트워크 비트 27, 호스트 비트 5

출처 :
https://inpa.tistory.com/entry/WEB-IP-%ED%81%B4%EB%9E%98%EC%8A%A4-%EC%84%9C%EB%B8%8C%EB%84%B7-%EB%A7%88%EC%8A%A4%ED%81%AC-%EC%84%9C%EB%B8%8C%EB%84%B7%ED%8C%85-%EC%B4%9D%EC%A0%95%EB%A6%AC
https://www.youtube.com/watch?v=b7Wk-6w5vgg
https://almotjalal.tistory.com/98

 

'Network' 카테고리의 다른 글

네트워크 인터페이스  (4) 2025.07.27
스위치와 라우터  (1) 2025.01.12
TLS(Transport Layer Security)  (2) 2024.07.14
TCP와 UDP  (0) 2023.12.10
OSI 모델, TCP/IP 모델  (0) 2023.12.09