※ 네트워크 주소 범위 부분을 2진수의 1로 치환한것
위 예시를 보자
IP 주소는 203.0.113.43 이다! ~> 해당 주소는 제일 처음이 203 인걸로 보아 C 클래스임을 알수있고,
C 클래스 의 네트워크 주소 범위는 24비트 이다 ( 110 으로 시작하고, 110을 포함한 24비트 까지가 네트워크 주소범위 )
따라서 넷마스크는 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 이 되고, 해당 IP 주소의 네트워크 주소를 구하기 위해
1100 1011 0000 0000 0111 0001 0010 1011
1111 1111 1111 1111 1111 1111 0000 0000
두 비트를 AND 연산하게되면
1100 1011 0000 0000 0111 0001 0000 0000 <-- 네트워크 주소가 된다
이를 10진수 IP로 표기하면
203.0.113.0 이 되는데 이것이 네트워크 주소가 된다!!
서브넷 마스크는 넷마스크와 유사하다.
각 클래스별 기본 서브넷 마스크는
A class - 255.0.0.0
B class - 255.255.0.0
C class - 255.255.255.0
이 된다.
즉 쉽게말해 네트워크 주소 범위를 모두 1비트로 사용하는것은 기본 서브넷 마스크 라고 하는데
이 서브넷 마스크는 클래스를 효율적으로 나누기 위해 사용한다고 한다.
이는 넷마스크와 비슷한데,
IP 주소 뒤에 /24 와 같이 표기하는것은 서브넷 마스크를 24비트 사용한다 라는 소리이다.
즉,
192.168.0.12/24 --> 24비트를 서브넷마스크 ( 네트워크 주소 대역 ) 으로 사용한다는 소리이고 이와 같은 대역에서 통신하기위해 마지막 8비트만 달라야 한다.
: IP 주소에 해당 대역의 기본 서브넷마스크와 AND 연산하여 구할수 있다.
: 기본 서브넷마스크의 0부분을 모두 1로 치환하면 그 주소가 바로 브로드 캐스트 주소로 사용되게 된다.
호스트 주소 부분을 1로 바꾼것과 같음
: 하나의 네트워크 주소 대역을 여러개의 네트워크 주소로 나누는 과정
194.139.10.7/25 라는 IP를 서브넷팅 해보자. /25는 서브넷 마스크가 25bit라는 의미로 255.255.255.128이 된다. 그럼 호스트에 IP를 할당할 수 있는 범위가 0~127, 128~255가 되며, 네트워크 영역은 194.139.10.0, 194.139.10.128가 되어 2개로 나누어지게 된다. 이 때, 네트워크 영역이 2개로 나누어진다는 의미는, 각 범위의 가장 첫 번째 IP를 네트워크 주소로 할당한다는 의미다. 결국 194.139.10.7/25가 속한 네트워크는 194.139.10.0/25 대역에 속하게 되며, 다른 서브넷팅 된 네트워크인 194.139.10.128과는 라우터를 통하여서만 통신할 수 있는 것이다.
출처 : https://velog.io/@hidaehyunlee/공인Public-사설Private-IP의-차이점