오늘부터 공부한다
서브넷 마스크와 서브넷팅 계산 방법 본문
서브넷 마스크와 서브넷팅 계산 방법
하나의 네트워크에 16,777,214개의 호스트 IP를 할당할 수 있는 A 클래스 는 엄청나게 큰 규모의 국제적인 기업 또는 단체가 아니라면 매우 비효율적이다.
만약 이 장치가 4개가 있는 가정집에 A 클래스를 그대로 부여한다면 Network Address와 Broadcast Address까지 포함하여 6개가 사용되고 남은 16,777,208개는 아무도 사용하지 않고 낭비된다.
이러한 문제를 해결하기 위해 IP를 사용하는 네트워크 장치들의 수에 따라 효율적으로 사용할 수 있는 서브넷(Subnet)이 등장하게 되었다.
서브넷 마스크는 IP주소 체계의 Network ID와 Host ID를 서브넷 마스크를 통해 변경하여서 '네트워크 영역을 분리 또는 합체' 시키는 개념이다.
네트워크를 분리한 것을 서브넷팅(Subnetting), 합치는 걸 슈퍼넷팅(Supernetting)이라고 한다.
서브넷팅은 서브넷 마스크를 이용하여 Host ID를 Network ID로 변환하게 되고, 슈퍼넷팅은 서브넷 마스크를 이용하여 Network ID를 Host ID로 변환하게 되어서 가능해진다.
서브넷 마스크
- IP 주소에는 반드시 서브넷 마스크가 있다.
- 서브넷 마스크는 기본적으로 255와 0으로 이루어져 있다.
- 여기서 255는 네트워크 부분이며 0은 호스트 부분이 된다.
- 255로 된 부분은 무시하시고 0으로 된 부분에서 IP를 나눠쓰는 혹은 IP를 쪼개는 개념이다.
IP를 쪼개는 이유는 IP주소가 모자라기 때문이며 네트워크를 구축시에 가장 중요한 부분이라고 할수있으며 서버관리시에 꼭 필요한 부분이다.
서브넷 마스크의 형태는 IP주소와 똑같이 32bit의 2진수로 되어있으며, 8bit(1byte)마다, .(dot)으로 구분하고 있다.
즉, IP와 똑같은 OOO, OOO, OOO, OOO의 모습을 가지고 있다.
형태가 똑같은 이유는 IP주소와 서브넷 마스크를 AND 연산하기 위해서이다.
서브넷 마스크를 사용하는 이유
브로드캐스트 영역(네트워크)를 나누기 위함 입니다.
한 네트워크에 수 많은 호스트가 있을 경우 원활한 통신이 불가능해지게 됩니다. 이를 해결하기 위해서 네트워크를 적절하게 나누어 주셔야 합니다. 또한 네트워크를 적절하게 구분지어주기 때문에 IP 주소를 아끼는 효과가 있습니다.
호스트 이름으로부터 IP 주소지에 대한 네트워크 이름을 규정으로 32비트 크기로 만들어진다.
혹시 IP주소 뒤에 /24 같은 것들이 붙어 있는 것을 볼 수 있을것이다.
이는 Prefix(접두어)로 (CIDR이라고도 한다.)서브넷 마스크의 bit 수를 의미한다.
옥탯의 8bit가 모두 1일 경우 10진수로 255가 되기에 /24는 왼쪽으로 나열된 1bit의 수가 24개라는 뜻이다.
예시) 192.168.0.3/24는 IP주소가 192.168.0.3 이며, 서브넷 마스크는 255.255.255.0이라는 의미다.
클래스 | 범위 | 표기법 |
A | 11111111.00000000.00000000.00000000 | /8 OR 255.0.0.0 |
B | 11111111.11111111.00000000.00000000 | /16 OR 255.255.0.0 |
C | 11111111.11111111.11111111.00000000 | /24 OR 255.255.255.0 |
Bitmask (서브넷 마스크로 사용된 1의 개수) | Netmask(255.255.255.x) | 네트워크 수 (서브넷 개수) | 호스트 수 |
/25 | 128 | 2 | 128 |
/26 | 192 | 4 | 64 |
/27 | 224 | 8 | 32 |
/28 | 240 | 16 | 16 |
/29 | 248 | 32 | 8 |
/30 | 252 | 64 | 4 |
/31 | 254 | 128 | 2 |
/32(Host Rount) | 255 | 256 | 1 |
네트워크 수는 2의 제곱의 수로 계산하면 된다.
호스트 수 256을 네트워크수로 나누면 된다.
서브넷 마스크의 마지막인 32bit는 (255.255.255.255)를 호스트루트(Broadcast)라고 하는데 이것은 특정 호스트로 가는 경로를 알릴때 사용한다.
서브넷팅의 이해
IP주소 낭비를 방지하기 위한 원본 네트워크를 여러 개의 네트워크로 분리하는 과정(자신의 네트워크 주소를 더 작은 서브 네트워크로 2의 배수로 나누는 과정)을 말한다.
서브넷팅을 과정중에 분리된 네트워크 단위를 서브넷이라고 하며, 서브넷팅을 하기 위해서는 서브넷 마스크의 이해가 필요하다.
서브넷팅(Subnetting) 하는 법
192.168.32.0/24라는 네트워크 주소 하나를 25개씩의 호스트가 있는 각각의 네트워크로 분할하려고한다.
Ip Address | Subnet mask |
192.168.32.0 | 255.255.255.0 |
11000000.10101000.00100000.00000000 | 11111111.11111111.11111111.00000000 |
위에 표에 서브넷마스크(Subnet mask)는 1로 표시된 부분은 Network-ID로 사용되는 부분이며,
0 으로 표시된 Host-ID 부분을 가지고 서브넷팅을 하게된다.
위 표와 같이 하나의 옥텟은 8bit(00000000)로 이루어져 있으며, 1개의 bit는 2개의 정보를 표현할 수 있다.
이번에는 Host-ID 부분을 필요한 개수인 5개의 Bit로 쪼개보겠다.
192.168.32.000/00000
<-(Network ID) (Host ID)->
0~31 | 192.168.32.0 ~ 192.168.32.31 |
32~63 | 192.168.32.32 ~ 192.168.32.63 |
64~95 | 192.168.32.64 ~ 192.168.32.95 |
96~127 | 192.168.32.96 ~ 192.168.32.127 |
128~159 | 192.168.32.128 ~ 192.168.32.159 |
160~191 | 192.168.32.160 ~ 192.168.32.191 |
192~223 | 192.168.32.192 ~ 192.168.32.223 |
224~255 | 192.168.32.224 ~ 192.168.32.255 |
각각의 범위가 서로 다른 네트워크를 의미한다.
범위에 있는 숫자는 각각의 네트워크 안에서 호스트로 할당해줄 수 있는 IP의 범위가 된다.
범위의 맨 앞에 있는 게 각 네트워크 대표주소(192.168.32.0)가 되며,
마지막의 (192.168.32.255)의 숫자가 브로드캐스트 숫자가 된다.
'네트워크' 카테고리의 다른 글
IP주소 클래스 (A,B,C class)란? (0) | 2019.10.16 |
---|---|
Dos Attack 이란? (0) | 2019.10.07 |