Home 서브넷 마스크란 무엇일까?
Post
Cancel

서브넷 마스크란 무엇일까?

정보처리기능사 실기를 공부하다보면 네트워크 파트에서 서브넷 마스크에 대해 보게 될 것인데 개인적으로 난 네트워크가 제일 어려웠던 거 같다 그래서 이번 글에서는 나처럼 네트워크와 아예 동떨어진 사람들을 위해 서브넷 마스크에 대해 쉽게 알아보러 한다

서브넷 마스크(Subnet Mask)란 무엇일까?

서브넷 마스크는 IP 주소와 결합되어 네트워크의 주소 부분과 호스트의 주소 부분을 식별하는데 사용되는 32비트 숫자이며 네트워크를 더 작은 서브네트워크(서브넷)로 나누어 IP 주소의 낭비를 줄이고 네트워크 성능을 향상시키는 역할을 한다

쉽게 말하자면 서브넷 마스크는 네트워크를 작은 단위로 나누기 위해 사용되는 것으로 네트워크 주소호스트 주소를 구분해준다고 보면 된다

네트워크 주소와 호스트 주소

여기서 네트워크와 호스트 주소란 네트워크에서 각 장치(컴퓨터, 스마트폰 등)들은 고유한 IP 주소를 가지는데 예를 들면 192.168.1.1 같은 형식의 숫자로 개발을 해봤거나 IT에 관심이 있다면 익숙할 것이다

여기서 IP 주소는 크게 두 부분으로 나뉘는데

  • 네트워크 주소: 네트워크를 식별하는 부분
  • 호스트 주소: 네트워크 안에서 개별 장치를 식별하는 부분

위와 같다

IP 주소와 서브넷 마스크의 관계

앞에서 설명했듯이 서브넷 마스크는 IP 주소와 쌍을 이루며 네트워크와 호스트를 구분하는데 관계를 이해하기 쉽게 예시를 들어 살펴보자 IP 주소가 192.168.1.1이고 서브넷 마스크가 255.255.255.0이라고 가정한다

서브넷 마스크의 구조

먼저 구조를 살펴보자 서브넷 마스크는 32비트 숫자로 구성되며 이는 IP 주소도 동일하다 이 두 숫자는 각각 4개의 8비트 블록으로 나눠지는데 예를 들면

  • IP 주소: 192.168.1.1
    • 이진수로 표현하면: 11000000.10101000.00000001.00000001
  • 서브넷 마스크: 255.255.255.0
    • 이진수로 표현하면: 11111111.11111111.11111111.00000000

이렇다 여기서 서브넷 마스크의 1인 부분은 네트워크 주소를, 0인 부분은 호스트 주소를 나타낸다

예시로 이해해보기

  • IP 주소: 192.168.1.1
  • 서브넷 마스크: 255.255.255.0

이 서브넷 마스크는 앞의 24비트(255.255.255)를 네트워크 부분으로 나머지 8비트(0)를 호스트 부분으로 구분되어 있으며

  • 네트워크 주소는 IP 주소와 서브넷 마스크의 논리곱(AND 연산)으로 구할 수 있음
  • 브로드캐스트 주소는 네트워크 주소의 호스트 부분을 모두 1로 설정하여 구할 수 있음
  • 사용 가능한 호스트 범위는 네트워크 주소와 브로드캐스트 주소 사이의 IP 주소들이다

위와 결합하면 이를 통해 다음과 같은 정보를 얻을 수 있다

  • 네트워크 주소: 192.168.1.0 (네트워크의 시작)
  • 브로드캐스트 주소: 192.168.1.255 (네트워크의 끝)
  • 사용 가능한 호스트 범위: 192.168.1.1 ~ 192.168.1.254

서브넷 마스크가 왜 필요한 이유

서브넷 마스크를 사용하면 큰 네트워크를 작은 서브넷으로 나눌 수 있어 좋다고 했는데 이에 대해 장점을 크게 4가지로 예를 들어 설명할 수 있겠다

  1. 효율적인 IP 주소 사용
    • 큰 네트워크를 여러 작은 서브넷으로 나누면 IP 주소를 더 효율적으로 사용할 수 있다 예를 들면 작은 부서나 팀에 큰 네트워크를 할당할 필요 없이 필요한 만큼의 서브넷을 할당할 수 있다
  2. 네트워크 트래픽 관리
    • 네트워크를 서브넷으로 나누면 각 서브넷의 트래픽을 독립적으로 관리할 수 있는데 이렇게 하면 트래픽 혼잡을 줄이고 성능을 개선할 수 있다
  3. 보안 강화
    • 서브넷으로 나누면 각 서브넷 간의 접근을 제어할 수 있어 보안이 강화됩다 예를 들면 민감한 데이터가 있는 서브넷에 접근을 제한할 수 있다
  4. 문제 해결 용이
    • 네트워크 문제를 해결할 때 서브넷을 사용하면 문제의 범위를 좁히기 쉽다 이러면 특정 서브넷에서만 발생하는 문제를 쉽게 식별하고 해결할 수 있다

네트워크 나누기

  1. 원래 네트워크
    • IP 주소: 192.168.1.0/24
    • 서브넷 마스크: 255.255.255.0
    • 가능한 호스트: 192.168.1.1 ~ 192.168.1.254 (총 254개)

이러한 원래 내트워크가 있다고 가정했을 때 네트워크 비트를 1비트 추가하여 원래 네트워크를 두 개의 서브넷으로 나눌 수 있다 ex) 2비트 4개 네트워크 분리 , 3비트 8개 네트워크 분리

  1. 나눈 서브넷
    • 첫 번째 서브넷
      • 네트워크 주소: 192.168.1.0
      • 서브넷 마스크: 255.255.255.128
      • 호스트 범위: 192.168.1.1 ~ 192.168.1.126 (총 126개)
      • 브로드캐스트 주소: 192.168.1.127
    • 두 번째 서브넷
      • 네트워크 주소: 192.168.1.128
      • 서브넷 마스크: 255.255.255.128
      • 호스트 범위: 192.168.1.129 ~ 192.168.1.254 (총 126개)
      • 브로드캐스트 주소: 192.168.1.255

이렇게 하면 원래의 큰 네트워크가 두 개의 작은 서브넷으로 나뉘어서 각각 독립적으로 관리할 수 있다

참고로 각 서브넷은 네트워크 주소와 브로드캐스트 주소를 가지기에 실제로 사용할 수 있는 호스트 주소는 총 호스트 수에서 2개를 뺀 값이다 혹여나 네트워크를 나눴더니 126 * 2 != 254 라서 잘못된게 아닌가 생각하는 사람도 있을 거 같아 설명해봤다

결론

마지막으로 자주 사용되는 마스크와 쉽게 이해할 수 있는 비유와 함께 마치겠다

자주 사용되는 서브넷 마스크 종류

  • 255.0.0.0: A 클래스 네트워크 (예: 10.0.0.0)
  • 255.255.0.0: B 클래스 네트워크 (예: 172.16.0.0)
  • 255.255.255.0: C 클래스 네트워크 (예: 192.168.0.0)

내 딴에는 최대한 쉽게 설명한다고 설명했는데 너무 어렵게 느낄 사람도 있을 거 같아 간단히 줄이면

네트워크 주소는 아파트 단지 이름과 같고 호스트 주소는 아파트 단지 내 각 집의 호수와 같으며 서브넷 마스크는 이 두 가지를 구분해 주는 역할을 한다 이렇게만 이해해보자

This post is licensed under CC BY 4.0 by the author.

8월 10일 Today I Learned

8월 11일 Today I Learned