255.255.255.0 = 11111111.11111111.11111111.00000000 24비트
255.255.255.128 = 11111111.11111111.11111111.10000000 25비트
255.255.255.192 = 11111111.11111111.11111111.11000000 26비트
255.255.255.224 = 11111111.11111111.11111111.11100000 27비트
255.255.255.240 = 11111111.11111111.11111111.11110000 28비트
255.255.255.248 = 11111111.11111111.11111111.11111000 29비트
255.255.255.252 = 11111111.11111111.11111111.11111100 30비트
255.255.255.254 = 11111111.11111111.11111111.11111110 31비트
255.255.255.255 = 11111111.11111111.11111111.11111111 32비트
255는 11111111 = 8비트.
계산할 때 255는 볼 필요 없고 255가 아닌 숫자만 보자.
255.255.255.x = 24비트이므로 255.255.255.0은 24비트
255.255.255.128 = 24비트 + 128은 10000000 이므로 1의 갯수 만큼 비트를 더해 25비트
255.255.255.192 = 24비트 + 192는 192는 11000000 이므로 2를 더해서 26비트.
즉 1의 갯수가 비트 가 된다.
참고로 2진법 구하는 쉬운 방법은 다음과 같다
값을 2로 나누고 나머지를 구해서 나누어 지지 않을때까지 나눈다.
ex) 128 =
1. 128 / 2 의 목은 64 나머지는 0.
2. 64 / 2 의 목은 32 나머지는 0.
3. 32 / 2 의 몫은 16 나머지는 0.
4. 16 / 2 의 몫은 8 나머지는 0.
5. 8 / 2 의 몫은 4 나머지는 0.
6. 4 / 2 의 몫은 2 나머지는 0.
7. 2 / 2 의 몫은 1 나머지는 0.
8. 1이 더이상 나눠지지 않으므로 표기는 나누어지지 않는 몫 1부터 나눈 나머지를 역으로 합치면
10000000 이 된다.
255 =
1. 255 / 2 의 몫은 127 나머지는 1.
2. 127 / 2의 몫은 63 나머지는 1.
3. 63 / 2 의 몫은 31 나머지는 1.
4. 31 / 2 의 몫은 15 나머지는 1.
5. 15 / 2 의 몫은 7 나머지는 1.
6. 7 / 2 의 몫은 3 나머지는 1.
7. 3 / 2 의 몫은 1 나머지는 1.
8. 1이 더이상 나눠지지 않으므로 표기는 나누어지지 않는 몫 1부터 나눈 나머지를 역으로 합치면
11111111 이 된다.
만약 어떤 ip의 비트가 27 비트이면 넷마스크는 어떻게 될까?
27 비트이면 255.255.255.x 가 24비트이므로
27 - 24 = 3 비트가 더 있는 것이며
3비트는 1이 3개이므로 11100000 가 된다.
11100000는 10진법으로 변환하면 224가 되는데
10진법을 2진법으로 계산하는 방법은 다음과 같다.
128 64 32 16 8 4 2 1
1 1 1 0 0 0 0 0
각 자리가 1인 수의 위에 쓰인 숫자를 다 더하면 10진수가 된다.
128 + 64 + 32 = 224
고로 10진수로 224가 된다.
또다른 예를 들어보자.
1101100101 을 10진수로 바꿔보면
512 256 128 64 32 16 8 4 2 1
1 1 0 1 1 0 0 1 0 1
512 + 256 + 64 + 32 + 4 + 1 = 869
즉 869가 된다.
27비트의 넷마스크로 쓸 수 있는 ip 갯수는
전체 ip대역 값인 255에서 넷마스크 값인 224를 빼고 1을 더하면 32가 나온다.
255 - 224 + 1 = 32
32가 총 hosts가 되며, 이중 gateway와 broadcast를 뺴면
32 - 2 = 30
30이 사용할 수 있는 ip갯수가 된다.
마지막으로 정리하며 25비트인 넷마스크의 아이피 갯수는 몇개가 되는지 계산해보자.
25비트는 25 - 24 = 1이므로 10000000 이 되며
128 64 32 16 8 4 2 1
1 0 0 0 0 0 0 0
이므로 128이 되어 255.255.255.128이 된다.
255 - 128 = 127이며 여기에 1을 더해 128개가 된다. gw와 bcast를 빼면 126개가 실제 사용할 수 있는 갯수가 된다.
128을 2진수로 바꾸는것도 한번 해보자.
1. 128을 2로 나누면 64가 되며 나머지는 0
2. 64를 2로 나누면 32가 되며 나머지는 0
3. 32를 2로 나누면 16이 되며 나머지는 0
4. 16을 2로 나누면 8이 되며 나머지는 0
5. 8을 2로 나누면 4가 되며 나머지는 0
6. 4를 2로 나누면 2가 되며 나머지는 0
7. 2를 2로 나누면 1이 되며 나머지는 0
8. 나눌 수 없는 값 1부터 나머지를 역순으로 합치면 10000000 이 된다.
즉 128의 이진수는 10000000.
'develop > network' 카테고리의 다른 글
Subnet mask(서브넷 마스크) 비트 별 정리 (0) | 2015.01.09 |
---|