할당된 주소 범위를 나누는 서브넷 #
서브넷은 큰 네트워크를 정적 혹은 동적으로 나누는 것을 의미합니다.
여기서 말하는 큰 네트워크라는 것은 할당된 주소 범위를 의미합니다. 단일 주소가 아닌 주소의 범위를 ISP로부터 할당받은 주소 범위를 가리킵니다.
서브넷을 나누는 두가지 방법 #
이 주소 범위를 나누는 것을 서브넷이라고 하며 서브넷은 두가지로 방법으로 나뉩니다.
장점 #
- 서브넷은 네트워크 트래픽을 분산해 성능을 개선합니다.
- 각 서브넷은 서로 격리되어 있어 서브넷간 간섭이 없습니다.
- 서브넷은 네트워크 관리를 단순하게합니다.
예시 #
예를 들어,
IP 주소 범위가 192.168.0.0 부터 192.168.255.255인 큰 네트워크 범위를 아래와 같이 나눌 수 있다.
- 192.168.1.0/24 (0~255)
- 192.168.2.0/24 (0~255)
- 192.168.N.0/24 (0~255)
각 서브넷은 256개(0-255)의 IP 주소를 가질 수 있으며, 각각 독립적으로 작동합니다.
이제 서브넷을 나누는 알고리즘에 대해 알아보겠습니다.
고정 길이 서브넷 마스크 (FLSM) #
-
정의: FLSM은 모든 서브넷이 동일한 크기를 가지는 서브넷팅 방식입니다. 즉, 모든 서브넷에 동일한 길이의 서브넷 마스크를 사용합니다.
-
사용: FLSM은 네트워크의 각 부분이 유사한 크기의 호스트 그룹을 필요로 할 때 사용됩니다.
-
단점: IP 주소 공간이 낭비될 수 있습니다. 예를 들어, 몇 개의 호스트만 필요한 작은 네트워크에도 불구하고, 더 큰 서브넷을 할당해야 할 수 있습니다.
예시 #
- 네트워크 주소
192.168.1.0
를 가진/24
서브넷 마스크를 가진 네트워크가 있는 경우를 가정하겠습니다.
/24
는 CIDR 표기법으로 첫 24비트 즉 3 옥텟이 네트워크 ID로 사용되는 것을 의미하며
3 옥텟이 네트워크 ID로 사용되었으므로 마지막 옥텟을 호스트 ID로 사용 할 수 있습니다.
따라서 0부터 255까지 256개의 IP 주소를 포함하게 됩니다.
단, 실제 사용가능한 주소는
256 - 2
개인데 두 주소를 빼는 이유는 prefix된 주소이기 때문입니다.
- 네트워크 주소:
192.168.1.0
은 해당 주소를 식별하기 위한 네트워크 주소로 이미 정해져 있는 값입니다.- 브로드캐스트 주소:
192.168.1.255
는 해당 네트워크를 사용하는 모두에게 데이터를 동시에 전송하기 위한 주소입니다.
256개의 호스트를 4개의 서브넷으로 나누기 위해 호스트 주소 공간에서 2 비트를 네트워크 주소 공간으로 재할당합니다.
이는 위에서 설명한 /24
가 /26
이 된다는 의미입니다.
- 2 비트는 00, 01, 10, 11로 4개의 서브넷을 만들 수 있는 자리로 충분합니다.
네트워크 주소:
11111111 11111111 11111111
+ 호스트 주소:11111111
네트워크 주소:11111111 11111111 11111111 11
+ 호스트 주소:111111
호스트 주소 2비트를 네트워크 주소로 재할당했기 때문에 이제 호스트 주소는 6비트만이 남았습니다.
네트워크 주소 192.168.1.0/24
일 때 서브넷을 4개로 나누기 #
원래의 서브넷 마스크: 255.255.255.0
= (network)11111111.11111111.11111111
.(host)00000000
원래의 호스트 주소 범위: 192.168.1.1 ~ 192.168.1.254
= 11111111.11111111.11111111.00000000
(254개의 호스트)
위 호스트 주소 범위를 4등분 하기 위해선 호스트 주소의 2 자리를 네트워크 주소에 내주어야 합니다.
2 자리를 내주는 것은 서브넷 마스크를 아래와 같이 변경한다는 것입니다.
11111111.11111111.11111111.11000000
(CIDR = /26)
4번째 옥텟이 11000000
로 변경되었습니다. 이는 10진수로 192입니다.
따라서 새로운 서브넷 마스크는 255.255.255.192/26
입니다.
- 첫 번째 서브넷:
- 유효 서브넷 ID:
11000000.10101000.00000001.00000000
- 네트워크 주소: 192.168.1.0/26
- 사용 가능한 호스트 범위: 192.168.1.1 ~ 192.168.1.62
- 브로드캐스트 주소: 192.168.1.63
- 유효 서브넷 ID:
- 두 번째 서브넷:
- 유효 서브넷 ID:
11000000.10101000.00000001.01000000
- 네트워크 주소: 192.168.1.64/26
- 사용 가능한 호스트 범위: 192.168.1.65 ~ 192.168.1.126
- 브로드캐스트 주소: 192.168.1.127
- 유효 서브넷 ID:
- 세 번째 서브넷:
- 유효 서브넷 ID:
11000000.10101000.00000001.10000000
- 네트워크 주소: 192.168.1.128/26
- 사용 가능한 호스트 범위: 192.168.1.129 ~ 192.168.1.190
- 브로드캐스트 주소: 192.168.1.191
- 유효 서브넷 ID:
- 네 번째 서브넷:
- 유효 서브넷 ID:
11000000.10101000.00000001.11000000
- 네트워크 주소: 192.168.1.192/26
- 사용 가능한 호스트 범위: 192.168.1.193 ~ 192.168.1.254
- 브로드캐스트 주소: 192.168.1.255
- 유효 서브넷 ID:
만약 3번째 서브넷의 4번째 사용 가능한 IP를 계산하라 하는 문제가 있다면
세 번째 유효 서브넷 ID에서 네트워크 주소와 브로드캐스트 주소를 빼고 계산해야 합니다.
- 세 번째 서브넷:
11000000.10101000.00000001.10000000
- 4번째 옥텟의 까지 사용 가능한 호스트 ID입니다:
000000
- 주소들
- 1번째 주소:
000001
- 2번째 주소:
000010
- 3번째 주소:
000011
- 4번째 주소:
000100
- 1번째 주소:
- 이제 서브넷과 호스트ID를 전부 이어주면
11000000.10101000.00000001.10000100
입니다. - 마지막으로 10진수로 치환하면
192.168.1.132
가 됩니다.
정리 #
서브넷팅은 할당 받은 IP 주소 범위를 나누어 사용하고 나눌땐 호스트 ID 자리를 네트워크 ID로 바꿔주어야 한다.
9개의 서브넷팅의 경우 2의 지수로 나누어 떨어지지 않아 개로 서브넷팅 해야 한다.