2010. 5. 19. 12:12

서브넷 마스크는 뭐시냐?

IP 주소에는 반드시 서브넷 마스크라는게 졸졸 따라 다닌다. 서브넷 마스크는 기본적으로 255와 0으로 이루어져 있는데, 255는 네트워크 부분이고, 0은 호스트 부분이 된다. 그래서 255로 된 부분은 신경쓸 필요 없고, 0으로 된 부분에서 IP를 나눠 쓴다는 개념이다.

왜 쪼개서 나눠 쓰냐고 묻는다면 IP주소가 모자라기 때문이라고 대답하겠지르. 실로 네트워크를 구축하거나 관리하는 현장에서 이것은 대단히 중요한 비중을 차지하므로 이거 모르면 안된다.

마스크는 덧씌운다는 것으로 `논리곱(AND)연산`을 말한다. 즉, 모두가 참인 것만 살아남는다라는 의미이기 때문에 255는 이진수로 11111111이라서 이것을 마스크로 씌우면 언제나 연산되는 숫자는 그대로 존재한다. 그래서 255가 붙는 IP주소의 네트워크 부분은 그대로라서 신경안써도 된다는 야그였다.

A클래스는 주소가 61.0.0.0의 형태이므로 서브넷 마스크는 255.0.0.0이고, 이렇게 보면 B클래스는 255.255.0.0, C클래스는 255.255.255.0이 된다. 이게 기본 서브넷 마스크이다. 만약 서브넷 마스크가 이렇게 되면 그것은 0으로 된 부분의 전체 조합 수만큼 호스트를 연결할 수 있다.

그런데, 이제는 할당 받을 수 있는 IP주소가 C클래스만 남아 있다. 그래서, 나눠 쓸 수밖에 없는지라 서브넷 마스크의 역할이 더욱 중요해졌다. C클래스를 기준으로 예를 하나 들어 설명해보면, 216.226.16.0이라는 IP주소가 있고 호스트는 254개가 된다.

한 건물에 서로 다른 사무실이 여러개 있고, 각 사무실에는 PC가 몇대 밖에 없다. 그래서, 한 사무실이 이 IP 호스트 전체를 쓰는 것은 낭비이다. 그래서, 서브넷 마스크로 한 번 나눠보자. 사무실 당 PC수는 5대가 넘지 않는다고 가정하자.

이 주소의 기본 서브넷 마스크는 255.255.255.0이다. 여기서 마지막 0의 각 비트 00000000를 가지고 작업한다. PC수가 5대 이므로 2의 3승. 즉, 8이라야 만족하므로 끝의 세 비트가 호스트가 되고, 나머지가 네트워크 부분이 된다. 네트워크 부분은 n으로 호스트 부분은 h로 표기하자면 'nnnnnhhh'또는 `11111000`으로 나타낼 수 있다.

그러면 나눌 수 있는 서브 네트워크는 2의 5승으로 32개까지 가능하다. 32개의 서로 다른 네트워크 그 안에 PC 5대씩 연결해줄 수 있게 된다. 따라서 서브넷 마스크는 `216.226.16.248`로 나온다. 이제 각 서브 네트워크별로 호스트 할당을 해줘보면 아래와 같이 정리된다.

서브 네트워크 : 216.226.16.0
서브넷 마스크 : 255.255.16.248
호스트 IP주소 : 216.226.16.1 ~ 216.226.16.6
브로드 캐스트 : 216.226.16.7

여기서 서브 네트워크와 브로드 캐스트 주소를 제외하면 실제로 사용 가능한 호스트는 6개까지가 된다. 계속해서 자~알 쪼개진 다음 서브 네트워크는,

서브 네트워크 : 216.226.16.8
서브넷 마스크 : 255.255.16.248
호스트 IP주소 : 216.226.16.9 ~ 216.226.16.14
브로드 캐스트 : 216.226.16.15

.
.
.
.

막간을 이용해서 다른 예를 하나 보자. 210.136.2.0이라는 주소에서 서브 네트워크를 4개 이상으로 나누고 PC를 30대로 할려고 한다.

255.255.255.00000000에서 호스트 30개는 2의 5승이라야 한다. 그러면 nnnhhhhh가 되고, 11100000로 정해진다. 따라서, 서브넷 마스크는 255.255.255.224로 나오고, 아래와 같이 정리된다. 네트워크는 8개까지 나눌 수 있다..

서브 네트워크 : 210.136.2.0
서브넷 마스크 : 255.255.16.224
호스트 IP주소 : 210.136.2.1 ~ 210.136.2.30
브로드 캐스트 : 210.136.2.31

서브 네트워크 : 210.136.2.32
서브넷 마스크 : 255.255.16.224
호스트 IP주소 : 210.136.2.33 ~ 210.136.2.62
브로드 캐스트 : 210.136.2.63

서브 네트워크 : 210.136.2.64
서브넷 마스크 : 255.255.16.224
호스트 IP주소 : 210.136.2.65 ~ 210.136.2.94
브로드 캐스트 : 210.136.2.95