서브넷 마스크 계산하기
서브넷 마스크에 대해서 알아보겠습니다.
제가 간편하게 IP를 구할 수 있는 Android 앱을 만들었습니다.
도움이 되면 좋겠습니다. (개선사항은 언제나 환영입니다)
서브넷 마스크는 네트워크를 잘게 나눠서 사용하기 위해서 만들어졌습니다.
표기법은 두 가지가 있습니다.
192.168.0.1/255.255.255.0 (10 진수 표기법)
192.168.0.1/24 (CIDR: Classless Inter-Domain Routing 표기법)
사용법은 다음과 같습니다.
Subnet mask는 1인 부분은 Network를 나타내는 숫자이고, 나머지 0인 부분이
host의 개수입니다.
위의 경우 host의 개수는 2^8 = 256개입니다. 그런데, 0과 255는 지정된
IP이므로, 사용할 수 있는 host의 개수는 254개가 됩니다.
즉,
192.168.0.0 ~ 192.168.0.255까지 가 같은 Network가 되고, 192.168.0,
192.168.0.255를 제외한 모든 IP를 사용할 수 있습니다.
다른 경우를 보겠습니다.
위의 경우 host의 개수는 2^4 = 16개입니다. 범위의 처음과 끝인 0(처음)과 15(끝)는 사용하지 못하므로, 14개입니다. 제가 표시하지는 않았지만, 나머지 범위도 마찬가지 이유로 처음과 끝은 사용할 수 없습니다.
192.168.0.0 ~ 192.168.0.15 (192.168.0.0, 192.168.0.15 사용 불가)
192.168.0.16 ~ 192.168.0.31 (192.168.0.16, 192.168.0.31 사용 불가)
192.168.0.32 ~ 192.168.0.47
...
192.168.0.240 ~ 192.168.0.255
로 네트워크가 나눠집니다. 16개씩만 같은 네트워크입니다.
좀 더 복잡한 subnet mask를 보겠습니다.
위의 경우는 subnet mask가 세 번째 자리에 존재합니다.
다른 경우처럼 맨 끝에 있다고 생각하고 일단 구합니다.
8 개가 나옵니다.
일단 세 번째 자리는 8의 배수로 나눠집니다.
host의 개수는 2^11 = 2048 개가 됩니다. (2^8 * 2^3)
0과 255를 제거하면, 2046 개가 됩니다.
192.168.0.0 ~ 192.168.7.255 (192.168.0.0, 192.168.7.255 사용 불가)
192.168.8.0 ~ 192.168.15.255
192.168.16.0 ~ 192.168.23.255
...
192.168.248.0 ~ 192.168.255.255
2048 개 가 같은 네트워크가 됩니다.
CIDR 계산법은 쉽습니다.
2^(32 - CIDR 개수) = 전체 개수
전체 개수 - 2 = 호스트 개수
/29의 경우는 2^(32 - 29)이 되어 8
8 -2 = 6 개가 같은 네트워크 호스트 개수가 됩니다.
끝.
카테고리: network, subnetmask
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.