Subnet을 알기 전에 IP 주소, IP 체계, 네트워크 클래스가 무엇인지 짚고 넘어가자.
IP는 Internet Protocol의 약어로 인터넷 통신 규약을 말한다.
패킷 교환 네트워크에서 데이터를 주고받을 때의 통신 규약이다.
각기 떨어져 있는 컴퓨터들이 다른 컴퓨터로 데이터를 전송하고 주고받기 위해서는 각 컴퓨터들의 주소가 존재해야 한다.
그래야 내가 어떤 데이터를 전송할 때 그 데이터의 최종 목적지를 알 수 있기 때문이다.
네트워크(인터넷) 상에서 데이터를 주고받기 위해 모든 컴퓨터들은 각자의 주소를 가지는데 이 주소가 IP 주소 (IP Address)이다.
IPv4
IPv6
현재 일반적으로 사용하는 주소는 IPv4이다.
32비트로 이루어져 있으며, 8비트씩 4개의 구간으로 나누어서 나타낸다.
각 자릿수는 0~255의 범위로 표현이 가능하다.
옥텟의 사전적 의미는 컴퓨터에서 8개의 비트가 한데 모인 것을 말한다.
IPv4 주소에서의 옥텟의 의미는 32비트의 IP 주소를 8비트로 나누는 단위를 말한다.
IP 주소는 32비트로 이루어져 있으며, 옥텟(Octet)단위로 끊어서 표현한다.
각 옥텟은 10진수로 0~255의 값을 가지게 된다. 그리고 나누어진 옥텟을 마침표(.)단위로 나누어서 표기한다.
IPv4 주소는 총 32비트로 이루어져있으며 4구간으로 나누어서 사용된다.
8비트씩 4구간으로 나누어서 사용하게 되는데, 8비트씩 나누어진 것을 옥텟이라고 한다.
42억 개의 주소만을 표현하는 IPv4 방식의 IP주소 고갈로 인해 등장하게 되었다.
IPv6는 128비트로 이루어져 있다. (IPv4는 32비트.)
IPv6는 2옥텟(16비트) 단위로 8등분하여 표기한다. (IPv4는 옥텟 단위로 4등분 표기.)
각 자리는 네 자리의 16진수로 표현되며, 각 자릿수들은 콜론(:)으로 구분하여 표기된다.
IPv6의 옥텟 표기 예시) 2001:0db8:85a3:08d3:1319:8a2e:0370:7334
가장 많이 사용되는 IPv4의 인프라를 최대한 활용하기 위해서 IPv4 체계의 IP주소를 사용하는 네트워크 규모에 따라 관리하기 쉽도록 클래스라는 이름으로 나누게 되었다.
IP 주소 = 네트워크 주소 + 호스트 주소
네트워크 주소 : 인터넷 상에서 네트워크를 구분하는 역할.
호스트 주소 : 특정 네트워크 안에 존재하는 기기들을 구분하는 역할.
0.0.0.0 : 네트워크 전체를 의미.
255.255.255.255 : 전체 Broadcast 주소를 의미.
네트워크 주소 범위 : 0.0.0.0 ~ 127.0.0.0
0.0.0.0은 현재 네트워크를 의미, 127.0.0.0은 루프백 주소, 즉 호스트 자신을 의미.
A Class는 첫 옥텟이 네트워크 주소, 그 외 옥텟이 호스트 주소이다.
A 클래스의 네트워크 실제 유효 호스트 주소 범위 : 1.0.0.1 ~ 126.255.255.254이다.
why?
x.0.0.0은 네트워크 식별 주소, x.255.255.255는 브로드캐스트 주소.(0.0.0.0과 127.0.0.0 제외)
128.0.0.0 ~ 191.255.0.0
네트워크를 인식할 때, 180.18.90.0
을 180.18.0.0
으로 인식한다. 즉 뒤 2개의 옥텟은 인식하지 않는다.
128.0.x.x (네트워크 주소)
x.x.0.0 (호스트 주소)
192.0.0.0 ~ 223.255.255.0
네트워크를 인식할 때, 180.18.90.0
을 180.18.90.0
으로 인식한다. 즉 뒤 1개의 옥텟은 인식하지 않는다.
192.0.0.x (네트워크 주소)
x.x.x.0 (호스트 주소)
1번) 10.3.4.3
2번) 132.12.11.4
3번) 203.10.1.1
4번) 192.12.100.2
5번) 130.11.4.1
6번) 261.12.4.1
어떤 네트워크 클래스의 할당에 따라 IP 주소의 여유 또는 부족한 현상으로 인해 적절한 단위로 네트워크를 분할해야 하는 필요성이 생겨 서브넷이 탄생하게 되었다.
서브넷(Subnet) : 하나의 네트워크가 분할되어 나누어진 작은 네트워크를 말한다.
서브네팅(Subnetting) : 네트워크를 분할하는 것을 말한다. 서브넷 마스크(Subnet Mask)를 통해 수행될 수 있다.
서브넷 마스크(subnet mask) : IP 주소 체계의 네트워크 주소와 호스트 주소를 분리하는 역할.
운영 중인 서비스의 규모에 맞게 네트워크를 분할하여 낭비되는 IP 주소 자원을 최소화하려는 것이 주된 목적이다.
또한, 브로드 캐스팅을 사용할 때 네트워크의 규모를 줄여서 브로드 캐스팅으로 인한 부하를 줄일 수 있는 것이다.