서브넷마스크 사용이유
커다란 네트워크(호스트가 많은 네트워크)를 작은 네트워크 여러개로 나누어 쓰기 위함이다.
서브넷마스크
서브넷마스크는 IP 주소와 네트워크 주소를 구분할 때 사용하는데 2진수 숫자1은 네트워크 주소, 0은 호스트 주소로 표시한다.
보통 우리가 편하게 받아들일 수 있는 10진수를 사용해 255.0.0.0, 255.255.0.0, 255.255.255.0 과 같이 표현한다.
예를들어 103.9.32.146 주소에 255.255.255.0 서브넷마스크를 사용하는 IP는 네트워크 주소가 103.9.32.0이고, 호스트 주소는 0.0.0.146이 된다.
서브넷마스크는 비트단위나 10진수로 표현하는 방법을 사용하는데,
비트단위로 표현하는 방법은 A클래스는 /8, B클래스는 /16, C클래스는 /24 로 표기한다.
이를 10진수로 표현하면 A클래스는 255.0.0.0, B클래스는 255.255.0.0, C클래스는 255.255.255.0 으로 표기한다.
서브넷마스킹
기존 IP 주소의 호스트 부분의 일부를 네트워크 부분으로 바꾸는 작업이다.
통신
서브넷은 하나의 네트워크이기에 서로 나뉜 서브넷끼리 라우터를 통해서만 통신이 가능하다.
서브네팅
서브넷마스크를 효율적으로 이용하기 위해 호스트를 줄이는 작업이다. 즉, 네트워크 호스트를 최적화하는 작업이다.
원래 부여된 클래스의 기준을 무시하고 새로운 네트워크-호스트 구분 기준을 사용자가 정해 원래 클래스풀 단위의 네트워크보다 더 나누어 사용하는 것을 말한다.
IP 주소와 서브넷마스크를 AND 연산하면 네트워크 주소를 알 수 있다.
네트워크 유효범위를 파악하는 방법
- 내 IP 를 2진수로 표현한다.
- 서브넷마스크를 2진수로 표현한다.
- 2진수 AND 연산으로 서브네팅된 네트워크 주소를 알아낸다.
- 호스트 주소 부분을 2진수 1로 모두 변경해 브로드캐스트 주소를 알아낸다.
- 유효 IP 범위를 파악한다. 서브네팅된 네트워크 주소 +1 은 유효IP중 가장 작은 IP이다.
- 브로드캐스트 주소 -1 은 유효 IP 중 가장 큰 IP이다.
- 2진수로 연산되어 있는 결과값을 10진수로 변환한다.
간단한 서브네팅 방법
IP: 103.9.32.146, 서브넷: 255.255.255.192 를 가지고 서브네팅을 해본다.
- 서브넷마스크를 2진수로 변환한다. (11111111 11111111 11111111 11000000)
- 현재의 서브넷이 가질수 있는 최대 IP 개수 크기를 파악한다. (2의 6승 = 64)
- 서브넷의 2진수를 보면 1로 된 부분은 네트워크 부분, 0으로 된 부분은 호스트 부분이다.
- 여기서 호스트 부분인 0의 개수만큼 2를 곱한다 (2의 6승)
- 64의 배수로 나열하여 기준이 되는 네트워크 주소를 파악한다.
첫 블록은 0부터 시작하고, 각 네트워크의 마지막 주소가 브로드캐스트 주소가 된다.
이 주소는 다음 블록 네트워크 주소의 -1 수이다.
(063 / 64127 / 128191 / 192255) - 103.9.32.146 IP 에서 호스트 주소 146 이 속한 네트워크를 선택한다. (128~191)
- 필요한 주소를 정리한다.
- 네트워크 주소: 103.9.32.128 (첫번째 숫자)
- 브로드캐스트 주소: 103.9.32.191 (마지막 숫자)
- 유효 IP 범위: 103.9.32.129 ~ 103.3.32.190 (네트워크 주소와 브로드캐스트 주소 사이)
'IT > 네트워크' 카테고리의 다른 글
NFS 주요 옵션 (0) | 2022.12.19 |
---|---|
HTTP MIME 타입 정리 (0) | 2021.07.14 |
스프링부트 웹소켓 리뷰 (0) | 2021.06.28 |
SSE (Server Sent Events), Websocket 리뷰 (0) | 2021.06.28 |
SSH 와 TLS/SSL 란? (0) | 2021.05.09 |