'SUBNETTING'에 해당되는 글 1건

  1. 2008.12.16 SUBNETTING에 대한 고찰
2008. 12. 16. 02:45

SUBNETTING에 대한 고찰

SUBNETTING이란 무엇이고 어떻게 하는가? Written by Sim-hyeon, Choe

먼저 SUBNETTING이 필요한 배경부터 설명드리도록 하겠습니다.

 P 개발 회사의 M 사원이 다음의 IP ADDRESS를 할당받았다고 가정하겠습니다.

M사원의 IP ADDRESS : 193 . 60 . 50 . 5

P 개발 회사는 소규모의 게임 개발 회사입니다. 총 종업원의 수가 12명 뿐이지요. 하지만 서브넷에서 실제
 
할당 가능한 IP ADDRESS의 개수는 255개나 됩니다. 서브넷(Subnet)은 어떤 하나의 네트워크를 구성하고

있는 물리적인 단위라고 정의할 수 있습니다. 우선 왜 255개의 할당이 가능한지부터 따져 보도록 합시다.

IP ADDRESS는 위와 같이 193 . 60 . 50 . 5입니다. 여기서 구분해야 할 것은 네트워크 주소와 호스트 주소

인데 네트워크 주소를 구하기 위해서는 193 . 60 . 50 . 5의 IP ADDRESS가 어떤 CLASS 영역에 포함되는지

를 구해야 합니다. IP ADDRESS 체계는 A, B, C, D 4가지 클래스로 구별됩니다.

각 CLASS의 ADDRESS 범위는 다음과 같이 확인할 수 있습니다.

A CLASS는 0        :  0000 0000 ~ 0111 1111     /        0 ~ 127
B CLASS는 10      :  1000 0000 ~ 1011 1111     /    128 ~ 191
C CLASS는 110    : 1100 0000 ~ 1101 1111      /    192 ~ 223
D CLASS는 1110  : 1110 0000 ~ 1110 1111      /    224 ~ 239

최상위 8비트로 해당 IP ADDRESS가 포함된 클래스를 결정합니다.

IP ADDRESS에서 최상위 8비트가 193이고 C CLASS 범위에 속한다는 것을 확인할 수 있겠지요.

C CLASS에서 NETWORK ADDRESS는 최상위 비트에서부터 기준으로해서 왼쪽으로 24 비트입니다.

그러니까 193 . 60 . 50 . 5 에서 빨간색이 NETWORK ADDRESS가 되고 파란색이 HOST ADDRESS

됩니다.

그렇다면 P 개발 회사의 네트워크에서 할당 가능한 IP ADDRESS는 193 . 60 . 50 . 0 ~ 193 . 60 . 50 .

 255까지입니다. 하지만 이렇게 하나의 NETWORK ADDRESS를 이 소규모의 회사에 통째로 할당해주는

것은 IP ADDRESS 자원의 낭비가 되어버리고 말지요. 그렇기 때문에 네트워크 설계자는 SUBNETTING

이라는 작업을 통해서 여분의 호스트 주소들을 다른 서브넷에게 분배를 하여 보다 효율적으로 IP
 
ADDRESS 자원을 사용할 수 있게 되는 것입니다.

다시 SUBNETTING을 정의하자면, 2단계(NETWORK, HOST ADDR)로 구성되어 있는 IP ADDRESS 체계를

3단계로 세분화(NETWORK - SUBNET - HOST)하는 작업을 의미합니다. 물리적으로 공급된 IP ADDRESS

를 그대로 할당하여 주는 것이 아니라, 위의 SUBNETTING처럼, 논리적인 주소로 재조합하여 사용자에게

공급을 해주어야 하지요. 재조합 과정에서 필요한 것이 바로 SUBNET MASK라는 녀셕입니다.

이 SUBNET MASK는 IP 주소 체계를 바탕으로 분할하는 논리적인 수단으로 볼 수 있지요.

그럼 본격적으로 C CLASS의 IP ADDRESS 193 . 60 . 50 . 5를 가지고 적절한 배분 작업(?)을 한번 해보겠

습니다. P 개발 회사를 포함하여 Q, W, E, R, T, Y, U, I 까지하여 총 9개 업체의 개발 회사가 있고 각각 총

종업원 수가 12명이라고 가정하겠습니다.

이미 아까전에도 말씀드렸다시피, 각 개발 회사마다 하나의 NETWORK ADDRESS를 부여해 주는 것은

무수한 호스트 주소 개수의 낭비라고 하였습니다. 그렇기 때문에 HOST ADDRESS의 비트를 일부분

활용하여 나눠 준다면 자원의 낭비를 막을 수가 있을 겁니다.

개발 회사는 총 9개 업체이기 때문에 해당하는 수와 같거나 포함하는 비트의 크기를 상위 비트에서

부터 선정해야 합니다.

뿐만 아니라, 논리적으로 할당해주는 주소 크기 범위 내에서 최하위 비트 값과 최상위 비트 값은

사용할 수 없습니다. (그 이유는 저도 잘 모르겠네요. 브로드 캐스팅과 관련이 있다는 것을 어렴풋이

들은 기억이 있습니다)

9개의 할당을 표현하기 위해서는 4비트가 필요하지요. 그러면 16개의 어드레스 구분을 표현할 수 있는

데,  위에서 언급한대로 0000과 1111은 사용할 수 없다고 하여도 14가지니까 9를 포함합니다.

그렇다면 하나의 NETWORK ADDRESS를 가지고 9개의 회사에 대한 서브넷 및 호스트 주소를 다음과

같이 디자인 할 수 있습니다.

P회사의 A사원의 IP ADDRESS - 193 . 60 . 50 . 0001 0001 (17)
P회사의 B사원의 IP ADDRESS - 193 . 60 . 50 . 0001 0010 (18)
P회사의 C사원의 IP ADDRESS - 193 . 60 . 50 . 0001 0011 (19)

Q회사의 A사원의 IP ADDRESS - 193 . 60 . 50 . 0010 0001 (33)
Q회사의 B사원의 IP ADDRESS - 193 . 60 . 50 . 0010 0010 (34)
Q회사의 C사원의 IP ADDRESS - 193 . 60 . 50 . 0010 0011 (35)

E회사의 A사원의 IP ADDRESS - 193 . 60 . 50 . 0011 0001 (49)
E회사의 B사원의 IP ADDRESS - 193 . 60 . 50 . 0011 0010 (50)
E회사의 C사원의 IP ADDRESS - 193 . 60 . 50 . 0011 0011 (51)

............
............

결국 HOST ADDRESS를 논리적으로 쪼개어 마치 또다른 하나의 NETWORK ADDRESS처럼 표현하여

아주 효율적으로 배분이 가능하지요. 바로 이 작업을 SUBNETTING이라고 표현합니다.

중요한 것은 이러한 논리적인 분할을 위해 SUBNET MASK가 존재한다는 사실입니다. 각 회사의 사원

개개인마다 위와 같은 주소의 배분을 위해서 255 . 255. 255. 240 이라는 SUBNET MASK로 서브넷만을

유지해주면 되겠지요.

(그 역할을 담당하는 주체가 라우터인지 정확하게 모르겠군요. 하하)

한가지 예를 들면,

P회사의 A사원의 IP ADDRESS - 193 .   60 .  50 . 0001 0001
                             SUBNET MASK - 255 . 255 . 255. 1111 0000 (240)

저 9개 회사에 대한 SUBNET MASK는 모두 255 . 255 . 240 . 0으로 동일하다는 것을 알 수 있습니다.

네트워크에 대해서 저도 깊이는 없지만, 이 내용만큼은 알아두면 나름대로 유용한 지식같군요.