본문 바로가기

[Network] Beginner

서브넷팅 (Subnetting)

IPv4의 Subnetting 

 

서브넷팅이 필요한 이유 

1. IP주소를 효율적으로 사용하여 낭비를 막기 위해서

2. 네트워크를 분리하여 보안성 강화를 위해서

 

만약 하나의 부서에서 필요한 IP주소의 개수는 6개인데 C class 주소대역대 하나를 할당해준다면... 

할당된 IP 개수는 256개로 낭비되는 IP 많아진다. 따라서 남는 IP 필요한 곳에 사용할 있도록 네트워크를 분할하는 작업이 필요하다.

 

 

FLSM (Fixed Length Subnet Mask)

고정된 크기의 Subnet-Mask를 사용하는 방식. 즉, 동일한 크기의 Subnet으로 나누는 방식을 말한다.

 

Subnetting 하는 방법

서브넷을 나누기 전에 각각의 네트워크에서 필요한 호스트의 또는 필요한 네트워크 수를 파악하여 필요한 만큼으로 서브넷을 나누어 서브넷마스크를 변경한다.

 

예를 들어, 218.128.32.0/24 라는 네트워크 주소 하나를 25개씩의 호스트가 있는 각각의 네트워크로 분할하려고 한다면, 

하나의 네트워크 주소를 어떻게 필요에 따라 여러 개의 작은 네트워크로 나눌 있는지 알아보자. 

 

먼저 218.128.32.0 이라는 서브넷 주소와 서브넷 마스크를 2진수로 바꾸어 본다.

ip address    :    11011010.10000000.00100000.00000000

subnet mask :    11111111.11111111.11111111.00000000

 

위에서 서브넷마스크가 1 표시된 부분은 모두 Network-ID 사용된 부분이니 부분은 건들지 않고, 0으로 표시된 Host-ID 부분을 가지고 서브넷팅을 한다. 

 

하나의 옥텟은 8bit 이루어져있고, 하나의 bit 2개의 정보를 표현할 있다.

25개의 호스트에 ip 개씩 할당해주려면 네트워크당 ip 최소 25 이상은 있어야 하므로, 5개의 bit 필요하다.

(5bit로는 32개의 정보를 나타낼 수 있다.   2의5승 = 32) 

 

기존의 Host-ID 부분을 필요한 개수인 5개의 bit 세어 자른다.

호스트의 수가 기준인 경우에는 오른쪽에서부터 세고, 네트워크의 수가 기준인 경우는 왼쪽에서 센다.

218.128.32.000|00000

      ←--Net---|-Host

나뉘어진 부분을 기준으로 왼쪽은 Net-ID, 오른쪽은 Host-ID 된다.

 

호스트 부분의 5개의 bit 표현할 있는 수의 범위를 구해보면 아래와 같다.

0 ~ 31        (218.128.32.0 ~ 218.128.32.31)

32 ~ 63      (218.128.32.32 ~ 218.128.32.63)

64 ~ 95      (218.128.32.64 ~ 218.128.32.95)

96 ~ 127     (218.128.32.96 ~ 218.128.32.127)

128 ~ 159   (218.128.32.128 ~ 218.128.32.159)

160 ~ 191   (218.128.32.160 ~ 218.128.32.191)

192 ~ 223   (218.128.32.192 ~ 218.128.32.223)

224 ~ 255   (218.128.32.224 ~ 218.128.32.255)

 

범위가 서로 다른 네트워크를 의미하고, 범위 안의 숫자들은 네트워크 안에서 호스트로 할당해줄 있는 IP 범위가 된다. 범위 앞이 네트워크의 대표주소가 되고, 마지막 숫자가 브로드캐스트 숫자가 된다.

 

, 첫번째 범위를 보면 0 ~ 31 까지의 호스트를 가질 있다. 범위의 서브넷을 써보면 218.128.32.0 이라고 있고, prefix 네트워크의 bit수가 3개가 늘었기 때문에 /24 아닌 /27 된다.

 

 

 

VLSM (Variable Length Subnet Mask)

서브넷팅을 있다면, VLSM 어렵지 않다.

지금까지 설명한 서브넷팅은 동일한 크기로 네트워크를 나누는 방식이었고, VLSM 동일하지 않은 크기로 나누는 방식을 말한다. 

 

예를 들어 한 회사에 A, B, C 라는 세 개의 부서가 있고 그 부서마다 사용하고 있는 호스트의 수가 다르다고 가정해보자.

A부서 : 100개의 Host

B부서 : 25개의 Host

C부서 : 2개의 Host

 

세 부서에게 나눠주기 위해 FLSM으로 서브넷팅을 하는 경우 가장 큰 범위인 A부서의 Host수에 맞춰서 자르게 되고, 다른 부서에서는 사용하고 낭비되는 주소가 너무 많아지게 된다. 또한 필요한 IP의 수는 총 133개인데 A부서 기준으로 서브넷팅을 하면 C클래스 하나로 나누지 못하여 B클래스의 주소가 필요하다.

 

위와 같은 상황이 생기지 않도록 각 부서별로 필요한 만큼만 잘라서 사용하고 남은 주소 범위에서 또 다시 서브넷팅을 하여 할당하는 방식으로 각 네트워크 범위를 구해보자. 단, 서브넷팅을 할 때는 큰 범위부터 자르는 것이 효율적이다.

(예제 IP : 200.1.1.0/24)

 

A부서 : 필요한 IP개수 총 102개

102개의 IP를 생성하기 위해 필요한 bit 수 = 7bit

200.1.1.0|0000000

200.1.1.0|1111111

Network ID : 200.1.1.0/25

IP 범위 : 200.1.1.0 ~ 200.1.1.127

 

B부서 : 필요한 IP개수 총 27개

27개의 IP를 생성하기 위해 필요한 bit 수 = 5bit

200.1.1.100|00000

200.1.1.100|11111

Network ID : 200.1.1.128/27

IP 범위 : 200.1.1.128 ~ 200.1.1.159

 

C부서 : 필요한 IP개수 총 4개

4개의 IP를 생성하기 위해 필요한 bit 수 = 2bit

200.1.1.101000|00

200.1.1.101000|11

Network ID : 200.1.1.160/30

IP 범위 : 200.1.1.160 ~ 200.1.1.163

 

이미 잘라진 네트워크를 필요한 만큼 다시 자르게 되면 서브넷 마스크의 길이가 동일하지 않고 달라지게 된다.  

그래서 이를 '다양한 길이의 서브넷 마스크' 라는 뜻의 VLSM이라고 부른다. 

 

 


'[Network] Beginner' 카테고리의 다른 글

ARP (주소결정프로토콜)  (5) 2014.08.07
Wildcard-Mask (와일드카드 마스크)  (6) 2014.07.26
Subnet-Mask (서브넷 마스크)  (0) 2014.07.21
3계층 보충-IPv4  (2) 2014.07.21
3계층(Network) 세부설명  (0) 2014.07.20