본문 바로가기

DEVELOP/네트워크

서브넷마스크(Subnet Mask)

1. 서브네팅(Subnetting)

- 네트워크 성능을 향상시키기 위해 자원을 효율적으로 분배하는 것

- 하나의 로컬 네트워크란 하나의 라우터를 거쳐가는 여러개의 호스트들이 연결된 브로드캐스트 영역

 -> 하나의 로컬 네트워크에서는 IP 주소의 네트워크 부분은 같고, 호스트 부분은 달라야 한다.

- 너무 큰 브로드캐스트 도메인은 네트워크 환경에서 패킷전송을 느리게하고 성능저하 발생시킴

 => 네트워크 부분을 늘리고 호스트 부분을 줄이는 조정을 통해 브로드캐스팅 영역을 쪼갬

  => 라우터의 브로드캐스팅 부담을 줄일 수 있다.

(서브넷마스크로 나누어진 서브넷 네트워크는 하나의 독립적인 네트워크가 되어 서브넷 네트워크간 통신은 라우터를 통해서 이루어진다.)

- IPv4는 32자리 2진수로 최대 2^32개의 IP 주소 할당 가능-> 제한적인 자원

  => 위와 같은 이유로 서브넷마스크를 통해 필요한 네트워크 주소만 호스트 IP로 할당 할 수 있도록 나눈다.

 

2. 서브넷마스크(Subnet Mask)

- 로컬 네트워크 내부에서 접속한 호스트의 IP 대역을 외부 네트워크와 명확하게 구분할 수 있는 수단을 표준화

- 1이 연속적으로 나오는 형태

 

ex) 192.168.0.1 / 24

  : C 클래스이므로 기본 디폴트 마스크는 255.255.255.0 이다.

    이를 이진수로 바꾸면 1111 1111. 1111 1111. 1111 1111. 0000 0000

    즉, 연속된 1이 24개이다. /24 라는 표현은 1이 24개 있다는 의미

----> 사용자에게 0으로 표현된 부분만 호스트 IP를 할당할 수 있게 만든다는 의미

 

- 클래스를 사용하고 있으면 별개의 서브넷마스크를 생성하지 않아도 기본 서브넷마스크를 사용한다.

- 서브넷마스크로 분배된 네트워크 주소를 서브넷 네트워크라고 한다.

 

ex) 210.100.100.1 이 기본 서브넷마스크를 사용하는 경우

-> C 클래스이므로 255.255.255.0 이 기본 서브넷마스크가 된다.

-> 1101 0010. 0110 0100. 0110 0100. 0000 0001 = 210.100.100.1 (IP 주소)

    1111 1111. 1111 1111. 1111 1111. 0000 0000 = 255.255.255.0 (서브넷마스크)

    1101 0010. 0110 0100. 0110 0100. 0000 0000 = 210.100.100.0 (서브넷 네트워크 주소)

 

-> IP주소와 서브넷마스크를 논리 AND 연산한 결과가 서브넷 네트워크 주소가 된다.

 

ex2) 150.150.100.1 / 24

 -> 기본 B 클래스이지만 서브넷마스크는 255.255.255.0 을 사용한다.

 -> 1001 0110. 1001 0110. 0110 0100. 0000 0001 = 150.150.100.1 (IP 주소)

     1111 1111. 1111 1111. 1111 1111. 0000 0000 = 255.255.255.0 (서브넷마스크)

     1001 0110. 1001 0110. 0110 0100. 0000 0000 = 150.150.100.0 (서브넷 네트워크 주소)

 

 -> B 클래스의 기본 서브넷마스크를 사용한다면 호스트 IP는 3,4번째 옥테드를 사용할 수 있지만

     현재 255.255.255.0 서브넷마스크를 사용한다면 호스트 IP는 4번째 옥테드만 사용할 수 있다.

  => 즉, 네트워크 영역을 늘리고 호스트 영역을 줄이게 됨

 

3. 네트워크 영역, 호스트 영역의 범위

ex) 201.222.5.0 / 29

  -> 1100 1001. 1101 1110. 0000 0101. 0000 0000 = 201.222.5.0 (IP 주소)

  -> 1111 1111. 1111 1111. 1111 1111. 1111 1000 = 255.255.255.248 (서브넷 마스크)

  -> 1111 1111. 1111 1111. 1111 1111. 0000 0000 = 기본 C 클래스가 가질 수 있는 네트워크 영역

즉, 사용자가 지정한 네트워크 영역은 11111 부분이고, 호스트 영역은 000 부분이다.

=> 네트워크 영역 개수 = 2^5개, 호스트 영역 개수 = 2^3-2개

 

참고 : https://limkydev.tistory.com/166?category=954021

'DEVELOP > 네트워크' 카테고리의 다른 글

VPN(Virtual Private Network)  (0) 2019.10.30
TCP와 UDP  (0) 2019.10.02
네이글 알고리즘(Nagle Alogorithm)  (0) 2019.10.02
IP주소 클래스  (0) 2019.10.02