이 영역을 누르면 첫 페이지로 이동
Arc 블로그의 첫 페이지로 이동

Arc

페이지 맨 위로 올라가기

Arc

[Network] 서브넷 마스크(Subnet Mask)

  • 2023.03.30 10:27
  • Computer Science/Network
글 작성자: SeoArc

서브넷 마스크(Subnet Mask)?

흔히 사용되는 IPv4 주소 체계는 클래스를 나누어 IP를 할당한다. 예를 들어, 어떤 기관에 B 클래스를 할당한다고 하면 65,536개의 호스트를 할당할 수 있게 된다. 그런데, 기관에서 10,000개의 호스트만 할당한다고 했을 때 나머지 55,536개의 호스트가 낭비되게 된다.

이렇듯 이 방식은 매우 비효율적이기 때문에, 서브넷을 사용하여 네트워크 영역을 부분적으로 나눌 필요가 있다. 이 역할을 수행하는 것을 서브넷 마스크라고 한다.

 

서브넷(Subnet)

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

 

각 클래스별 기본 서브넷 마스크는 다음과 같다.

Class 이진 표현 십진 표현 기본 서브넷 마스크
A Class 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 0.0.0.0 ~ 127.255.255.255 255.0.0.0
B Class 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 128.0.0.0 ~ 191.255.255.255 255.255.0.0
C Class 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx 192.0.0.0 ~ 223.255.255.255 255.255.255.0

예를 들어, C 클래스인 192.168.1.51이라는 IP 주소가 있다고 하자.
C 클래스의 기본 서브넷 마스크는 255.255.255.0 이므로 AND 연산을 하면 192.168.1.0이 나오는데, 이것이 바로 Network ID이다.

이를 192.168.1.51/24 로 표현하기도 한다.

 

서브넷팅(Subnetting)

서브넷팅은 IP 주소 낭비를 방지하기 위해 원본 네트워크를 여러 개의 서브넷으로 분리하는 과정을 뜻한다.

 

위 예시인 C 클래스 192.168.1.51/24를, 서브넷 마스크의 bit 수를 1 증가시켜서 192.168.1.51/25로 변경했다고 하자.

192.168.1.51/24였을 때는 할당 가능한 host의 수는 2^8-2=254개였다. (여기서 2개를 뺀 이유는, 네트워크 주소와 브로드캐스트 주소를 빼야하기 때문이다)

여기서 bit수를 1 증가시킨 192.168.1.51/25는 2^7-2=126개로 줄어든다. 또 서브넷마스크가 255.255.255.128로 변한 것을 확인할 수 있다.

 

 

예시로, 간단히 192.168.32.0/27의 호스트 범위를 정리하면 다음과 같다.

호스트 범위
0 ~ 31 192.168.32.0 ~ 192.168.32.31
32 ~ 63 192.168.32.32 ~ 192.168.32.63
64 ~ 95 192.168.32.64 ~ 192.168.32.95
96 ~ 127 192.168.32.96 ~ 192.168.32.127
128 ~ 159 192.168.32.128 ~ 192.168.32.159
160 ~ 191 192.168.32.160 ~ 192.168.32.191
192 ~ 223 192.168.32.192 ~ 192.168.32.223
224 ~ 255 192.168.32.224 ~ 192.168.32.255

 

저작자표시 (새창열림)

'Computer Science > Network' 카테고리의 다른 글

[Network] 스위치  (0) 2023.04.05
[Network] IP 주소  (0) 2023.04.04
[Network] 라우터  (0) 2023.03.29
[Network] 허브 & 스위치  (0) 2023.03.28
[Network] DHCP(Dynamic Host Configuration Protocol)  (0) 2023.03.27

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Network] 스위치

    [Network] 스위치

    2023.04.05
  • [Network] IP 주소

    [Network] IP 주소

    2023.04.04
  • [Network] 라우터

    [Network] 라우터

    2023.03.29
  • [Network] 허브 & 스위치

    [Network] 허브 & 스위치

    2023.03.28
다른 글 더 둘러보기

정보

Arc 블로그의 첫 페이지로 이동

Arc

  • Arc의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (109)
    • Language (28)
      • C++ (0)
      • C# (0)
      • Java (28)
    • Algorithm (47)
      • Algorithm (15)
      • Data Structure (6)
      • PS (26)
    • Computer Science (22)
      • Design Pattern (1)
      • Network (14)
      • OS (7)
    • Game (0)
      • Unity (0)
    • Backend (5)
      • Spring (3)
      • JPA (2)
    • DB (0)
      • SQL (0)
    • DevOps (1)
      • AWS (0)
      • Docker (2)
      • Jenkins (0)
      • Nginx (0)
    • Software Engineering (4)
      • OOP (4)
    • AI (0)
      • Machine Learning (0)
    • Others (0)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 네트워크
  • algorithm
  • network
  • 자바
  • java
  • 그래프
  • graph
  • 알고리즘

나의 외부 링크

정보

SeoArc의 Arc

Arc

SeoArc

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © SeoArc. Designed by Fraccino.

티스토리툴바