이전 포스팅에서는 IP 를 Class를 활용해서 체계화하는 방법에 대해서 알아보았습니다.
IP 의 Class 기능만으로는 세부적인 IP 할당이 어렵습니다.
A 라는 회사가 회사 네트워크 운용을 위해서 B Class IP 인
134.44.xx.xx 를 할당받았다고 가정해본다면, B Class 에 할당 가능한 호스의 수는 216 - 2 = 65534 개 입니다.
한 회사가 사용하기에는 너무 많은 호스트 수 입니다. 추가적으로
호스트 범위가 넓으면 그 만큼 Broadcast domain 도 넓어지기 때문에 정상적인 네트워크 운용이 불가능합니다. 이러한 경우를 방지하고 보다 효율적인 IP 할당을 위해서 Subnetting 이라는 기술을 도입하게 되었습니다.
Subnet Mask
IP 를 한번 더 분류하는 Subnetting 을 하기 위해서는
SubnetMask가 필요합니다.
SubMask 는 IP 와 동일하게 32bit 로 이루어져있습니다.
SubnetMask 를 이용해서 IP Class 의 호스트 영역을 분리하는 방법에 대해서 알아보겠습니다. 우선 할당받은 네트워크IP와 SubnetMask와 AND 연산을 해서
0인 부분이 호스트 영역, 1인 부분이 네트워크 영역 이 됩니다.
AND 연산
2개의 2진수 가 둘 다 1일 때 결과값이 1이 나오는 연산입니다. 0,0 1,0 0,1 등의 연산은 결과가 모두 0이고 1과 1일 때만 1이 나옵니다.
B Class IP 인 134.44.1.2 에 SubnetMask 255.255.255.0 을 적용해보겠습니다.
| 8bit | 16bit | 24bit | 32bit | |
|---|---|---|---|---|
| 10진수 | 134 | 44 | 1 | 2 |
| 2진수 | 1000 0110 | 0010 1101 | 0000 0001 | 0000 0010 |
| 서브넷마스크 | 1111 1111 | 1111 1111 | 1111 1111 | 0000 0000 |
| AND 연산 | 1000 0110 | 0010 1101 | 0000 0001 | 0000 0000 |
| 서브넷 네트워크 | 134 | 44 | 1 | 0 |
해당 아이피에서 1인 부분이 네트워크 영역이라고 했으니, 기존134.44.xx.xx에서 134.44.1.x 로 네트워크 영역이 늘어나고 호스트 영역이 줄어들었다.
아이피의 영역을 2개로 가르는 역할을 하기 때문에 서브넷마스크의 2진수는 1이 연속으로 나와야합니다. 예를 들어 255.255.0.255 와 같은 서브넷 마스크는 영역이 3개 이상으로 나누어지기 때문에 사용이 불가능합니다.
SubnetMask 는 xx.xx.xx.xx/32 와 같은 형식으로도 표기합니다. /32 는 Subnet Mask 가 가지는 1의 bit 수를 의미합니다. 앞서 숫자는 연속으로 표기된다고 했으니 /32의 SubnetMask는 255.255.255.0 입니다.
정리
위와 같은 방법으로 호스트 영역이였던 부분을 네트워크 영역으로 변환함으로서 기존에 같은 네트워크였던 영역을 다른 네트워크 영역으로 분리가 가능해졌습니다.
큰 네트워크 영역을 작은 단위로 Subnetting 함으로서 Broadcast Domain을 줄이고 관리가 용이해진 것입니다.
댓글