서브넷 마스크 (Subnet Mask)
서브넷 마스크는 32bit로 표현된다. '0' 으로 표시되는 비트는 호스트를 나타내며 '1' 으로 표시되는 비트는 네트워크 부분을 나타낸다. IP 주소 체계에서 서브넷 마스크를 이용하여 네트워크 부분과 호스트 부분을 분리할 수 있다.
IP 주소와 서브넷 마스크를 bit AND 연산하게 되면 네트워크 ID가 나오게 된다.
예를 들어, C class 에 해당하는 IP 주소 192.168.56.11 가 있다고 하자. C class의 기본 서브넷 마스크인 255.255.255.0과 AND 연산을 하면 다음과 같다.
사실 당연하게도 192.168.56.11의 네트워크 주소는 192.168.56.0 이지만, AND 연산을 수행하면 역시 네트워크 주소가 192.168.56.0이라는 것을 알 수 있다.
서브넷팅 (Subnetting)
네트워크가 작은 조각으로 나뉘어져 있는 것을 서브넷이라고 한다. 쉽게 이해하자면 허브에 컴퓨터 여러대가 물려있는 것을 생각해 볼 수 있다. 즉, 서브넷이란 작은 네트워크라고 이해할 수 있다. 네트워크 자원을 효율적으로 분배하고 작은 단위에서 네트워크를 유지, 관리하기 위해서 서브넷팅을 한다.
서브넷팅은 서브넷 마스크의 비트수를 증가시킨다고 이해하면 간단하다.
192.168.56.0/24 는 기본 서브넷 마스크를 사용하고 있다. 아래 그림에서 파란글자는 network ID , 빨간 글자는 host ID 를 나타낸다.
하나의 네트워크를 사용하며, 할당 가능한 호스트의 수는 서브넷마스크에서 0의 개수가 호스트의 수를 나타내므로 , (2**8 -2 = 254)개가 된다. 여기서 2개를 빼주는 이유는 192.168.56.0은 네트워크 주소이며, 192.168.56.255는 브로드캐스트 주소이기 때문에 이 두 IP를 제외해야 한다.
서브넷마스크 bit를 하나 증가시켜서 서브넷팅을 해보자 !!
192.168.56.0/25는 기존 Network ID에서 1bit 늘어났다. 따라서, 사용가능한 네트워크 대역이 (2**1 = 2 )개가 되었다.
반면, 할당 가능한 호스트의 수를 계산해 보면 (2**7-2 = 126)개가 되었다.
즉, 이진수체계이므로 서브넷마스크의 비트를 하나 증가시킬 때마다 네트워크 수는 2배 증가하고, 호스트의 수는 2배 감소한다는 점을 알 수 있다.
슈퍼넷팅 (Supernetting)
슈퍼넷팅은 인터넷 주소 체계 (IP주소)에서 일부 서브넷들을 하나의 네트워크로 묶는 기술이다.
슈퍼넷팅을 사용하면 라우터가 처리해야 할 라우팅 테이블의 크기를 줄일 수 있다. 또한 라우터 간의 라우팅 정보 교환을 효율적으로 할 수 있다. 따라서 슈퍼넷팅을 통해 네트워크 성능을 향상할 수 있다.
예를 들어, 192.168.0.0/24 네트워크 대역과 192.168.1.0/24 네트워크 대역이 있다고 가정한다.
이 두 네트워크는 서로 다른 서브넷에 속하지만 라우터에서 처리할 때 각각의 서브넷을 다루어야 한다. 이때 이 두 네트워크 대역을 묶어서 192.168.0.0/23 으로 사용한다면 라우터에서는 하나의 대역만 다루면 되기 때문에 처리 속도가 빨라진다. 따라서 라우터의 성능을 개선할 수 있다. 또한 기존에는 라우팅 테이블에 192.168.0.0/24와 192.168.1.0/24 두개의 라우팅 정보가 있었으나 192.168.0.0/23으로 묶으면 하나의 라우팅 정보만 있게 된다. 따라서 라우터에서 라우팅 테이블 정보를 처리하는 데, 테이블 크기가 줄어들기 때문에 더 효율적으로 처리할 수 있다.
슈퍼넷팅 하는 법
(놀랍게도 chat gpt에게 물어보았다..)
192.168.0.0/24 = 11000000 10101000 00000000 00000000
192.168.1.0/24 = 11000000 10101000 00000001 00000000
변환한 이진수를 왼쪽에서부터 순서대로 비교한다. 첫번째로 다른 비트는 세번째 옥탯에 있다.
11111111 11111111 11111110 00000000
서브넷 마스크는 다음과 같이 변할 것이다. NetworkID를 나타내는 bit 수는 23개이다.
이 비트를 기준으로 192.168.0.0/24 대역과 192.168.1.0/24 대역을 묶을 수 있는 최대 크기의 슈퍼넷 대역은 192.168.0.0/23이다.
'Computer Science > 네트워크' 카테고리의 다른 글
[Network] 쿠키와 세션을 이용한 로그인 구현 (0) | 2023.03.19 |
---|---|
[Network] ARP 동작원리와 ARP 스푸핑 (0) | 2023.03.13 |
[Network] IP 클래스와 IPv4, IPv6 주소체계 (2) | 2023.03.05 |
[네트워크] SSL/TLS Handshake 과정 (0) | 2023.02.12 |
[Network] Link Layer(2) - 이더넷(Ethernet)과 ARP 테이블, 프레임 구조 (0) | 2022.12.31 |