본문 바로가기

* DevSecOps/Network

서브넷마스크 기본과 성질


서브넷 마스크란? 말뜻 그대로 서브, 즉 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서

씌우는마스크라고 생각하면 됩니다.

서브넷 마스크역할는 IP주소를 가지고 어디까지가 네트워크 부분이고

어디까지가 호스트부분인가를 나타내는 역할이다.

디폴트 서브넷 마스크는 기본 서브넷 마스크라고 한다.

A클래스: 255.0.0.0

B클래스: 255.255.0.0

C클래스:255.255.255.0

서브넷 마스크를 보면 IP주소의 네트워크 부분과 호스트 부분을 있다.

서브넷 마스크에서 네트워크 부분 : 이진수가 '1'인 부분

서브넷 마스크에서 호스트 부분 : 이진수가 '0'인 부분

서브넷 마스크를 제대로 이해할려면 두가지 조건이 필요하다.

첫째,이진수에 대한 완벽한 이해

둘째,논리적 AND에 대한 이해

Logical AND의 성질은 양쪽이 모두 1인 경우에만 결과도 1이 된다.

0 AND 0 = 0

0 AND 1 = 0

1 AND 0 = 0

1 AND 1 = 1

디폴트 서브넷 마스크를 사용했을 때 네트워크 부분



 Logical AND를 수행한 값이 맨아래에 나온다.

이렇게 나온 값 150.150.0.0이 바로 150.150.100.1의 네트워크 부분이다.

서브넷마스크를 사용했을 때의 네트워크 부분

이 위 표는 디폴트 서브넷 마스크가 아닌 새로운 서브넷 마스크 255.255.255.0을 씌운것이다.

이것도 마찬가지로 Logical AND 수행한 값이 맨 아래에 나온다.

이 의미는 클래스 B 주소를 마치 클래스 C처럼 사용한다는 의미이다.

서브넷 마스크가 255.255.255.0이 되자 서브넷 마스크를 통해서 아래로 내려온 네트워크 부분은 3자리로 늘고 호스트 부분이 1자리로 줄었다.

이렇게 하나의 주소를 서브넷 마스크를 씌워서 작은 네트워크로 만드는 것을 서브네팅이라고 한다.

서브넷 마스크의 기본 성질

첫째)서브넷 마스크에 의해 나누어진 네트워크, 즉, 서브넷은 하나의 독립된 네트워크가 된다.

ex)

  • 예를 들어 150.150.0.0 이란 클래스 B 네트워크가 있다고 한다면, 이때 150.150.100.1 과 150.150.200.1 은 라우터를 거치지 않고 통신이 가능하다. 왜? 브로드 캐스트 도메인(동일한 네트워크 상에 존재하는 호스트부분)에 있는 PC들이고 당연히 라우터 없이도 통신이 가능하고 같은 네트워크에 있기 때문이다.
  • 클래스 B의 경우 디폴트 서브넷 마스크는 255.255.0.0 이다.
  • 하지만 이 주소를 255.255.255.0 이란 서브넷 마스크를 이용하여 서브네팅한다면, 네트워크부분이 150.150.100 과 150.150.200 으로 바뀌어서 서로 네트워크 부분이 달라지게 된다. 즉, 이젠 서로 다른 네트워크이기 때문에 라우터를 거쳐야만 통신이 가능하다는 소리이다.

 둘째) 서브넷 마스크는 이진수로 썻을 때 '1'이 연속적으로 나와야 한다.

ex)서브넷 마스크를 만들 때 255.255.255.10이란 서브넷 마스크를 사용할 수 없다.

왜냐하면 255.255.255.10 을 이진수로 바꾸어 보면 1111 1111. 1111 1111. 1111 1111. 0000 1010이다.

즉 1010과 같이 1이 연속적으로 나오지 않았기 때문이고 이런 서브넷마스크는 사용하지 않는다.

다르게 생각하면 255.255.255.15라는 서브넷 마스크는 가능하지않느냐라고 할 수도 있습니다.

255.255.255.15는 이진수로 1111 1111. 1111 1111. 1111 1111. 0000 1111 이다.

1이 연속으로 나오긴하였지만 중간에 '0'이 들어가 있고 1의 사이에는 어떠한 경우에도 0이 오면안된다는 것입니다.

서브넷 마스크를 가지고 서브넷을 직접 만들어보는 문제

첫번째 문제먼저 ‘201.222.10.60’은 클래스 C 이다.

이때 클래스 C의 디폴트 서브넷 마스크는 ‘255.255.255.0’입니다.

그런데 여기서 사용한 서브넷 마스크는 ‘255.255.255.248’입니다.

먼저 주어진 IP 어드레스를 이진수로 바꾸어 보겠습니다

201.222.10.60     1100 1001.1101 1110.0000 1010.0011 1100 
255.255.255.248 1111 1111.1111 1111.1111 1111.1111 1000 
서브넷은           1100 1001.1101 1110 0000 1010.0011 1000 
(
서브넷 마스크가 1인 부분은 위의 주소가 그냥 내려오는 성질 때문입니다.)

구해진 서브넷 ‘1100 1001.1101 1110.0000 1010.0011 1000’을 십진수로 다시 바꾸면 ‘201.222.10.56’이 됩니다


마지막 문제)IP 어드레스는 ‘153. 70.100.2’였습니다.

이 주소는 원래는 클래스 B 입니다(주소의 범위가 128191까지기 때문입니다).

그런데 여기에 서브넷마스크는 255.255.255.192’입니다.

그럼 아까처럼 다시 한 번 이진수로 고칩니다.

맨마지막 자리만 이진수변환하면
IP
어드레스
   153. 70.100. 0000 0010
서브넷마스크 255.255.255.1100 0000
서브넷           153. 70.100. 0000 0000



YES24 = 네트워크 기본이해에 도움되는 서적/도서


'* DevSecOps > Network' 카테고리의 다른 글

IT의 장점  (1) 2011.12.02
TCP/IP 여러질문들의 답변  (0) 2011.11.21
서브넷 마스크 계산기  (0) 2011.11.20
IP주소의 클래스  (2) 2011.11.17