Skip to content

서브넷

  • 흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다.

  • 하지만 이 방식은 매우 비효율적이다. 예를 들어 어떤 기관에 A 클래스를 할당한다고 하면 16,777,214개의 호스트를 할당할 수 있게 되는데, 이 기관이 100개의 호스트를 할당할 때 16,777,114개의 호스트는 그대로 낭비된다.

  • 이러한 비효율성을 해결하기 위해 네트워크 장치들의 수에 따라 효율적으로 사용할 수 있는 서브넷(subnet)이 등장하게 되었다.

  • 서브넷은 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크를 뜻한다. 이러한 서브넷을 만들 때 사용되는 것이 바로 서브넷 마스크이다.

  • 즉, 서브넷 마스크는 IP 주소 체계의 Network ID와 Host ID를 분리하는 역할을 한다.

image

서브넷 마스크(subnet mask)

서브넷팅을 자세히 알아보기 전에 기본 서브넷 마스크(Default Subnet mask)에 대해 알아보자.

image
  • 각 클래스마다 기본 서브넷 마스크는 위 표와 같다(D, E클래스는 사용하지 않음). 이러한 기본 서브넷 마스크를 이용하면 IP 주소의 Network ID와 Host ID를 구분할 수 있다.

  • IP주소에 서브넷 마스크를 AND 연산하면 Network ID가 된다.

  • 예를 들어 C클래스인 192.168.32.0 이라는 IP주소가 있다고 하자.

    • C클래스의 기본 서브넷 마스크는 255.255.255.0 이므로 AND연산을 하면 192.168.32.0이 나오고 이것이 바로 Network ID이다.
    • 이때 서브넷 마스크의 Network ID부분은 1이 연속적으로 있어야 하고 Host ID부분은 0이 연속적으로 있어야 한다.
  • 예시의 IP주소를 보면 192.168.32.0/24 처럼 /24 같은 표시가 붙어있는 것을 확인할 수 있다.

    • 이러한 표기법을 슬래시 표기법이라 부른다.
    • 이것은 서브넷 마스크의 bit 수(왼쪽에서부터 1의 개수)를 나타낸다.
    • /24는 해당 IP의 서브넷 마스크의 왼쪽에서부터 24개가 1이라는 것을 의미한다.

서브넷팅(subnetting)

  • 서브넷팅은 IP 주소 낭비를 방지하기 위해 원본 네트워크를 여러개의 서브넷으로 분리하는 과정을 뜻한다.
  • 서브넷 마스크의 bit 수를 증가시키는 것이라고 생각하면 된다.
  • 서브넷마스크의 bit수를 1씩 증가시키면 할당할 수 있는 네트워크가 2배수로 증가하고 호스트 수는 2배수로 감소한다.

예제

  • C클래스인 192.168.32.0/24를 서브넷 마스크의 bit수를 1 증가시켜서 192.168.32.0/25로 변경하는 상황을 살펴보자.

    image

  • 192.168.32.0/24는 원래 하나의 네트워크였다. 이때 할당 가능한 host의 수는 2^8-2 = 254개이다.

    • 여기서 2개를 빼는 이유는 첫번째 주소인 192.168.32.0은 Network Address로 쓰이고 마지막 주소인 192.168.32.255는 Broadcast로 쓰이기 때문에 호스트에 할당할 수 없기 때문이다.
  • 이 때 서브넷 마스크의 bit 수를 1 증가시켜서(서브넷팅) 192.168.32.0/25로 변경하게 되면 Network ID부분을 나타내는 부분이 24비트에서 25비트로 증가하고 Host ID를 나타내는 부분이 8개 비트에서 7개 비트로 줄어든다.

    • 즉 할당 가능한 네트워크 수가 2개로 증가하고 각 네트워크(서브넷)당 할당가능한 호스트수는 2^7-2 = 126개로 줄어든다. 또한 서브넷 마스크가 255.255.255.128로 변한 것을 확인할 수 있다.
  • 정리하자면 다음과 같다.

    • 192.168.32.0 : 서브넷1의 Network Address
    • 192.168.32.1 ~ 192.168.32.126 : 서브넷1의 host 할당 가능한 부분
    • 192.168.32.127 : 서브넷1의 Broadcast Address
    • 192.168.32.128 : 서브넷2의 NetworkAddress
    • 192.168.32.129 ~ 192.168.32.254 : 서브넷2의 host 할당 가능한 부분
    • 192.168.32.255 : 서브넷2의 Broadcast Address

reference