본문 바로가기

컴퓨터공학/네트워크

네트워크에 서브넷 마스크란 무엇일까?(What, Why)

구글에 서브넷 마스크에 대해서 검색해보니 영 시원치 않아서 직접 작성하게 됐다.

 

 

 

Q. 서브넷 마스크란 왜 필요한 것일까?

 

 

 

2개의 패킷을 확인한다고 가정해보자. 2개의 패킷에 대해서 출발지를 확인해보니,

 

 

 

1번 패킷은 출발지가 192.168.0.1

2번 패킷은 출발지가 192.168.0.129

 

 

 

목적지는 모두 192.168.0.10으로 같다고 생각해보자. 

 

 

 

네트워크 구성을 생각해보면, 호스트들은 L2 스위치에 연결되며, L2 스위치들은 게이트웨이로 L3 스위치의 IP를 바라보게 된다.

 

 

 

목적지인 192.168.0.10은 판단을 해야 한다. 해당 패킷이 자신과 같은 네트워크인지 혹은 다른 네트워크라면 게이트웨이로 전송해서, 라우팅을 이용해 목적지를 찾도록 해야한다.

 

 

 

네트워크 실무를 접해보지 않은 분이라면 이해가 쉽게 가지 않을 수 있다.

 

 

 

하고 싶은 말은, 서브넷 마스크를 통해서 확인하고자 하는 IP가 자신의 IP와 동일한 네트워크인지를 판단하고 행동하는 동작이 달라진다.

 

 

 

게이트웨이인 L3스위치로 가지 않는다면, 다른 네트워크로 절대 접근할 수 없다.
(게이트웨이의 의미를 모른다면, 게이트웨이 대해서 검색을 해보는 것을 추천한다)

 

 

 

자신과 같은 네트워크인지 판단하기 위해서, 서브넷 마스크를 통해서 계산을 진행하면 된다.

 

 

Q. 서브넷 마스크를 통해서 어떻게 네트워크를 나눠야 할까?

 

 

 

192.168.1.0/24라는 네트워크를 쓰고 있었다고 생각하자. 보안 혹은 관리(구성 개선)의 이유로 네트워크를 나누는 업무를 부여받았다고 생각하자.

 

 

 

위의 192.168.1.0의 0의 해당하는 부분을 이진수로 표현해보면,

 

 

 

0 0 0 0 0 0 0 0으로 표기된다. 여기서 서브넷 마스크의 길이를 24에서 27로 늘린다면 어떻게 변화할까?

 

 

 

앞의 3개의 0들이 네트워크를 의미할 수 있게 된다.

 

 

 

192.168.1.0

192.168.1.32

192.168.1.64

192.168.1.96

192.168.1.128

192.168.1.160

192.168.1.192

192.168.1.224

 

 

 

총 8개의 네트워크 주소가 생성된다. 8개라는 숫자는 앞의 3개의 0들이 표현할 수 있는 가짓수(2의 3승)를 의미한다.

 

 

 

자, 그렇다면 각 네트워크가 가지는 호스트의 수는 나머지 5개가 될 것이다. 즉 2의 5승인 32개인데, 브로드캐스트 주소를 제외하고 각 31개씩 가지게 된다.

 

 

 

위의 사실을 통해서, 네트워크를 적절히 나누는 것이 가능해진다.