제가 머리가 나빠서 질문내용과 맞는 답인지 잘 모르나
그래도 적어봅니다.
2의 2승에서 2를 빼는 알고리즘(공식?)은 제대로 된 알고리즘이 아닙니다.
님께서 의아해하시는 255.255.255.128의 경우
네트워크 아이디중 마지막 마스크에는 1000 0000이 됩니다.
이경우 서브넷은 2개입니다. 2의 1승 -2 인가요? 이러면 서브넷은 0개입니다.
마지막 서브넷이 1110 0000일 경우 서브넷은 8개가 나옵니다.
서브넷은 항상 2의 2승의 형태로 나옵니다.
그렇지 않을경우 이것은 가변길이 서브넷팅 기법이 사용된 서브넷팅입니다.
가변길이 서브넷팅이란
255개, 정확히 254개의 호스트를 2승으로 자르는것이 아니라.
가변길이로 자르게 됩니다.
4개로 나누자면 0-63 64-127 128-191 192-255
이렇지만 가변길이의 경우
0-63 64-127 128-255
이렇게 3개로 나눌수도 있습니다.
페킷의 경로는 네트워크 주소로 구분하니까 말이죠..
네트워크주소는 위 3개의 서브넷팅을 차레대로 말하자면
첫번째 0번 두번째 64 세번째 128번입니다.
알고 계시죠? 전체 아이피 중에서 2개는 항상 빠진다는것 네트워크아이피와
브로드케스트
이것이 서브넷팅의 경우 각 서브넷에도 그대로 적용됩니다.
어..삼천포로 빠졌네요.
여하튼 님의 공식은 ^^ 정답이 아닌것 같네요.
: 어떤 학원에서 IP를 C class 전체를 할당 받았다고 합시다. 그리고
: 이를 다음과 같이 쪼갰다고 합시다.
:
: 1111 1111.1111 1111.1111 1111.1100 0000 <--- SubNet Mask
:
: 위와 같을 경우 Sub-Network는 2의 2승에서 2(Network ID와 Broadcast
: ID)를 빼면 2개가 나옵니다. 만약 아래와 같을 경우에는 2의 3승에서 2를
: 빼면 Sub-Network는 6개가 나옵니다.
:
: 1111 1111.1111 1111.1111 1111.1110 0000 <--- 역시 SubNet Mask
:
: 그런데 만약 아래와 같을 경우에는 도대체 Sub-Network는 어떻게 나누
: 어지는가요?
:
: 1111 1111.1111 1111.1111 1111.1000 0000 <--- 이번에도 역시 SubNet
: Mask
:
: 위의 내용을 그대로 따라하면 2의 2승에서 2를 빼는 것이 맞죠? 그렇다면
: Sub-Network는 0이죠? 이것이 도대체 맞는 내용인가요? 분명 아니라는 것은
: 알겠는데 이런 경우에는 도대체 어떻게 해결해야할런지!--Everything Make By Me