본문 바로가기
Network/old

네트워크 분할법 1 - bitmasking

by 슬픈 야옹이 2023. 1. 3.

인터넷을 사용하는 모든 호스트는 자신의 IP주소를 가지고 있어야 한다.

따라서 네트워크 관리자는 네트워크 상의 모든 호스트에게 적절히 IP주소를 할당해야 하는데,

네트워크마다 그 구성이 천차만별이기 때문에 상황에 맞게 네트워크를 분할해서 IP주소를 할당해야 한다.

 

사례를 보면서 네트워크를 분할해 보자.

 

할당할 수 있는 IP주소의 범위가 1.1.1.0 ~ 1.1.1.255라고 가정하자.

그런데 네트워크가 다음과 같이 구성되어 있다면 어떻게 해야할까?

기존 서브넷 마스크는 255.255.255.0, 즉 1이 24개였다. 이것은 32비트 IP주소 중 24비트를 네트워크 주소로,

나머지 8비트를 호스트 주소로 사용한다는 의미다.

 

다음은 서브넷 마스크가 255.255.255.0일 경우의 IP주소 구성이다.

네트워크 주소와 호스트 주소 범위의 경계를 '/'으로 구분해 놓았다. 표준 표기법은 아니다.

서브넷 마스크가 24일 경우
네트워크 주소
00000001 00000001 00000001 / 00000000
=> 1.1.1.0

호스트 주소 범위
(00000001 00000001 00000001 / 00000000) ~ (00000001 00000001 00000001 / 11111111)
=> 1.1.1.0 ~ 1.1.1.255

즉 서브넷마스크가 24라면 호스트에게 할당할 수 있는 IP주소는 00000000 ~ 11111111 -> 0~255까지 총 256개다.

 

이렇게 서브넷 마스크를 255.255.255.0으로 설정하면 사용할 수 있는 네트워크 주소는 하나 뿐이므로(1.1.1.0)

그림처럼 네트워크 A,B를 분리해서 구성할 수 없다.

 

이 32비트의 IP주소에서 네트워크 주소로 한 비트를 더 사용하면 어떨까? 라는 개념이 bitmasking의 핵심이다.

 

따라서 32비트 IP주소의 상위 24비트가 아닌 25비트를 네트워크 주소로 설정하면 다음과 같이 네트워크를 두개로 분할할 수 있다. 역시 네트워크 주소의 범위를 '/'로 구분하였다.

서브넷 마스크가 25일 경우
=> 서브넷 마스크는 11111111.11111111.11111111.10000000이므로 255.255.255.128

네트워크 A
네트워크 주소
00000001 00000001 00000001 0/0000000
=> 1.1.1.0

호스트 주소 범위
(00000001 00000001 00000001 0/0000000) ~ (00000001 00000001 00000001 0/1111111)
=> 1.1.1.0 ~ 1.1.1.127

브로드캐스트 주소
00000001 00000001 00000001 0/1111111
=> 1.1.1.127



네트워크 B
네트워크 주소
00000001 00000001 00000001 1/0000000
=> 1.1.1.128

호스트 주소 범위
(00000001 00000001 00000001 1/0000000) ~ (00000001 00000001 00000001 1/1111111)
=> 1.1.1.128 ~ 1.1.1.255

브로드캐스트 주소
00000001 00000001 00000001 0/1111111
=> 1.1.1.255

bitmasking을 이용해 네트워크 주소의 범위를 1비트 늘려 네트워크를 두 개로 나누고,

대신에 호스트 주소를 나타내는 비트는 1비트 줄었으므로,

각 네트워크가 가지는 IP주소의 개수는 기존 256개의 절반인 128개로 줄었다.

본래 256개 할당할 수 있었던 IP주소를 두 네트워크가 반반 나눠 가진 셈이다.

 

결과적으로 1.1.1.0 ~ 1.1.1.255의 IP주소를 1.1.1.0~1.1.1.127과 1.1.128~1.1.255의 두 네트워크로 분할하였다.

네트워크 주소와 브로드캐스트 주소는 각각 해당 주소 범위의 첫 번째 주소와 마지막 주소이므로 그에 맞게 설정된다.

그래서 네트워크 주소를 무작정 x.x.x.0.이라 외우면 안된다.

 

같은 방법으로 네트워크 범위에 1비트를 더 써서 서브넷마스크를 26으로 만들면 네트워크를 4개로 분할할 수 있다.

대신, 각 네트워크에 할당할 수 있는 IP는 64개로 줄어들 것이다.

 

반대로 네트워크 범위를 1비트 줄이고, 호스트 주소 범위에 1비트를 늘려서 (서브넷마스크 24 -> 23) 한 네트워크에 할당할 수 있는 IP주소 개수를 512개로 늘릴 수도 있다.

 

즉, 네트워크 주소의 범위를 변경해서 (서브넷 마스크를 변경해서) 네트워크를 분할하는 방법을 bitmasking이라 한다.

또한 같은 방법으로 네트워크 병합도 가능하다.