본문 바로가기
Network tech/IP(Internet Protocol)

[Subnet mask] 서브넷, 서브넷마스크, 서브넷팅에 대해서 !

by 어깨 :) 2023. 8. 3.
728x90

IP 주소 낭비를 막기 위해 원본 네트워크를 나누는 과정

서브넷(Subnet)

IP 주소 공간을 더 작은 네트워크로 분할하는 기술을 말합니다. IP 주소 공간을 서브넷으로 분할하면 네트워크를 효율적으로 관리하고, 더 많은 호스트들을 지원하거나 보안을 강화할 수 있습니다.

 

 

 

서브넷 마스크(Subnet Mask)

 
서브넷마스크란, 일단 말뜻 그대로 서브, 즉 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서 씌우는 마스크라고 생각하면 됩니다.
 
다시 말해, 서브넷 마스크는 주어진  IP 주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌어주는 이진수의 조합이다라고 보면 됩니다.
 
 
서브넷을 만들 때 사용되는 것으로 IP 주소에는 반드시 서브넷 마스크가 있는데, 이 서브넷 마스크를 이용하여 IP주소에서 Network ID와 Host ID를 분리할 수 있습니다.
 
 
 

 

서브넷팅(subnetting)

서브넷팅이란 네트워크를 더욱 작은 단위의 네트워크로 분할하는 걸 말한다. IP주소의 낭비를 방지하고 브로드캐스트 도메인의 크기를 줄여서 성능을 향상하는 것이 주된 목적이다.

예를 들어 당신이 192.167.1.0이라는 C클래스 네트워크의 소유주라고 가정해 보자. 회사 A가 매달 요금을 지불할 테니 30개의 IP 주소를 빌려줄 수 있냐고 요청한다. 이때 서브넷팅이 없다면 192.167.1.0~192.167.1.255까지의 네트워크의 모든 주소를 줘야 한다. 회사 A는 30개의 IP만 필요하다고 했으니 224개의 주소가 낭비된 것이다.

또한 B클래스에 브로드캐스팅(모든 호스트에 데이터를 보냄)이 있다고 생각해 보자. 최대 6만 5534대의 호스트에 데이터가 전송된다. 이렇게 많은 통신이 갑작스레 이루어지면 성능저하는 물론 최악의 경우 과부하로 시스템이 정지한다. 때문에 서브넷팅으로 네트워크를 세분화하고 필요한 부분에만 브로드캐스트가 이루어지게 할 필요가 있다.

 

 

 

https://lamarr.dev/networkingbeginner/2020/03/22/09.html

 

Layer3 서브넷팅(Subnetting) - 라마개발일기

IP를 통해 구분된 네트워크를 더욱 세분화 하는 서브넷팅 기술에 대해서 정리해보았다.

lamarr.dev

 

 


서브넷(subnet)과 서브넷 마스크(subnet mask)

서브넷은 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크를 뜻한다. 이러한 서브넷을 만들 때 사용되는 것이 바로 서브넷 마스크이다. 즉, 서브넷 마스크는 IP 주소 체계의 Network ID와 Host ID를 분리하는 역할을 한다. 

 

예를 들어 C 클래스는 기본적으로 앞의 24비트는 Network ID, 뒤의 8비트는 Host ID를 나타낸다. 이때 서브넷 마스크를 이용하면 원본 네트워크를 여러 개의 네트워크로 분리할 수 있다. 이러한 과정을 서브넷팅(subneting)이라고 한다.

 

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

기본 서브넷 마스크

 

각 클래스마다 기본 서브넷 마스크는 위 표와 같다(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이라는 것을 의미한다. 

 

그런데 애초에 IP클래스들은 Network ID를 나타내는 부분과 Host ID를 나타내는 부분이 이미 구분되어 있는데 굳이 서브넷 마스크가 필요한 이유가 무엇일까? 위에서도 설명했지만 서브넷팅을 하여 효율적인 네트워크의 사용을 위해서다.


서브넷팅(subnetting)

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

 

예를 들어 C클래스인 192.168.32.0/24를 서브넷 마스크의 bit 수를 1 증가시켜서 192.168.32.0/25로 변경한다고 하자.

서브넷팅 예시

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로 변한 것을 확인할 수 있다. 

서브넷의 구성

위 그림을 보면 네트워크의 수가 어떻게 2개로 늘어났는지 이해하기 쉬울 것이다.

정리하자면 다음과 같다.

  • 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 

C클래스를 예시로 들었지만 A, B 클래스도 똑같은 방식을 적용하면 된다. 

 

 

https://code-lab1.tistory.com/34

 

[네트워크] 서브넷, 서브넷마스크, 서브넷팅이란? | 서브넷팅 예제

서브넷의 등장 배경 흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다. 하지만 이 방식은 매우 비효율적이다. 예를 들어 어떤 기관에 A 클래스를 할당한다고 하면 16,777,214개의 호스

code-lab1.tistory.com

 

 


서브넷 관련 CCNA 문제

CCNA는 Cisco라는 세계 최대의 네트워크 장비 업체가 운영하는 자격시험이다. 여기서 출제된 서브넷 관련 문제를 풀어보고 이해도를 높여보자.

       1. IP주소 192.168.44.97/30이 속해있는 서브넷 ID는 어떤 것인가?

  • 서브넷팅된 IP주소가 속해있는 서브넷 ID를 알아내기 가장 쉬운 방법은 IP주소와 서브넷ID를 2진수로 변환하고 AND연산 하는 것이다. C클래스의 네트워크 ID부분은 모두 1이므로 생략하고, 마지막 옥텟의 부분(97)에만 주목하자. 01100001 & 11110000 = 01100000 이므로 정답은 192.168.44.96이 된다.
  •  
  • 2. IP주소 172.31.77.201/27이 속해있는 서브넷의 서브넷 브로드캐스트 어드레스는 무엇인가?
  •  
  • 서브넷 마스크는 2진수로 11111111.11111111.11111111.11100000 즉 255.255.255.224이다. IP와 서브넷 마스크를 AND연산 해주면 서브넷 ID가 나온다. 11001001 & 11100000 = 11000000 즉 해당 IP의 서브넷ID는 172.31.77.192이다. 호스트ID 부분이 5비트(31)이므로 더해주면 브로드캐스트 주소는 172.31.77.223이 된다.

https://lamarr.dev/networkingbeginner/2020/03/22/09.html

 

Layer3 서브넷팅(Subnetting) - 라마개발일기

IP를 통해 구분된 네트워크를 더욱 세분화 하는 서브넷팅 기술에 대해서 정리해보았다.

lamarr.dev

 

728x90