공부/Network

서브넷(Subnet)과 서브넷 마스크

해리누나 2024. 6. 5. 23:01
728x90
반응형

지난번에 IP 주소를 효율적으로 관리하기 위하여 IP 주소를 특정 범위로 나눈 클래스에 대해 얘기했었다. (IP 주소의 클래스(A,B,C 클래스)) 각 클래스는 서로 다른 크기의 네트워크를 지원하는데 예로, 호스트 ID가 총 24 비트라 대략 1677만 개의 호스트 ID를 사용할 수 있는 A 클래스 네트워크에 대해 이야기해보자. 만일 그 수 많은 컴퓨터가 브로드캐스트 패킷을 전송하게 된다면 모든 컴퓨터에 패킷이 전송되어 네트워크가 혼잡해질 것이다. 또한 만일 하나의 네트워크를 구성하는데 60대의 호스트가 들어간다면 어떤 클래스를 사용하는 것이 효율적일까? 호스트 ID의 개수가 1677만개인 A 클래스의 경우 약 1677만개의 IP 주소가, 호스트 ID의 개수가 65536개인 B 클래스의 경우 65476개의 IP 주소가, 마지막으로 호스트 ID 개수가 256개인 C 클래스의 경우 196개의 IP 주소가 버려지게 되니 효율적이지 못하다. (네트워크 주소와 브로드캐스트 주소가 포함된 계산입니다.)

 

이와 같은 클래스 기반 할당 방식의 문제점은 실제 필요한 호스트 수보다 크게 할당되어 낭비되는 주소가 많아진다는 점이다. 따라서 IP 주소를 보다 더 효율적으로 사용할수 있는 방법이 개발되었는데 바로 서브넷팅(Subneting)이다.

 

1. 서브넷팅

  • 서브넷팅은 큰 네트워크를 더 작은 여러 네트워크로 분할하는 것을 말한다.
  • 분할된 작은 네트워크를 서브넷(Subnet)이라 한다.
  • 서브넷팅을 통헤 효율적인 IP 사용이 가능해지며 네트워크 관리 및 보안도 향상시킬 수 있다.
  • 이때 서브넷 ID는 호스트 ID에서 비트를 빌려서 만들어진다.

 

예시

예로 호스트가 50대인 네트워크에 IP 주소를 할당해야 하는 경우, C 클래스 주소 192.168.10.0 /24 를 사용한다면 총 호스트 ID 는 256 개다. (네트워크 주소와 브로드캐스트 포함) 256 개의 호스트 ID 개수를 절반으로 나눈 후, 다시 절반으로 나누면 64개씩 4개의 서브넷으로 나눠지게 된다. 그러면 그 중에서 하나가 네트워크에 할당되고 나머지 할당되지 않은 주소들은 다른 네트워크 할당된다. 이렇게 효율적으로 IP 주소를 사용할 수 있도록  만드는게 바로 서브넷팅이다.

 

 

2. 서브넷팅 방법

192.168.10.0 의 C 클래스 주소가 주어졌을 때, 이 주소를 절반으로 128개씩 두개로 나눠보자.

 

1). 먼저 10진수의 주소를 2진수로 변경

2). 네트워크 ID와 호스트 ID를 구분

3). C 클래스는 프리픽스(Prefix)가 24이니 24번째 비트까지가 네트워크 ID고 나머지가 호스트 ID 이다.

: 프리픽스는 네트워크 부분의 비트 수를 의미하며 IP 주소 뒤에 슬래시 '/'와 숫자를 붙여 표기한다.

4).이제 주소를 나누기 위해 서브넷 구분 비트를 정해줘야 한다.

5). 서브넷 구분 비트는 항상 호스트 ID에서 왼쪽 부분부터 결정이 된다.

6). 현재 서브넷 구분 비트를 한 비트 준다고 했을 때, 서브넷 구분 비트 하나에 들어갈 수 있는 값을 0과 1 이렇게 두 개가 된다.

7). 그렇다면 IP 주소의 범위를 서브넷 구분 비트가 0인 경우 마지막 옥텟이 0 부터 127까지, 서브넷 구분 비트가 1인 경우엔 128 ~ 255까지로 이렇게 두 가지로 나눌 수 있다.

 

8). 이제 서브넷 구분 비트는 호스트 ID 가 아닌 네트워크 ID에 포함된다.

9). 즉 25번째 까지의 비트가 네트워크 ID 고 나머지 비트가 호스트 ID가 되는 것이다.

10). 네트워크 주소(호스트 ID 부분이 전부 0)와 브로드캐스트 주소(호스트 ID 부분이 전부 1)는 실제 장비에 할당 될 수 없는 주소니 결국 각 서브넷에서 장비 할당이 가능한 호스트 주소의 총 개수는 128개가 아니라 126개가 된다.

 

 

3. 서브넷 마스크

11). 서브넷 마스크는 IP 주소에서 네트워크 ID 인 비트는 서브마스크 1로, 호스트 ID 인 비트는 서브마스크 0으로 표기한다.

12). 즉 네트워크 ID 비트인 스물다섯번째 비트까지가 서브마스크 1이고 호스트 ID 비트인 스물여섯번째부터의 비트 서브마스크가 0이라는 소리다.

13). 이를 십진수로 변환하면 255.255.255.128 이라는 서브넷 마스크와 프리픽스 25를 구할 수 있게 된다.

 

이렇게 원래 254개의 호스트 수를 가진 C 클레스 네트워크 192.168.10.0/24를  각각 총 호스트수가 126인 2개의 서브넷으로 서브넷팅이 완료되었다.

 

 

 

 

 

 

참고

책: 10일만에 배우는 네트워크 기초, 모두의 네트워크 | 미즈구치 카츠야 | 이승룡 옮

https://www.youtube.com/watch?v=-iMFsDdfoeI

728x90
반응형