서브넷팅이 필요한 이유
아이피의 길이는 8bit * 4 = 32bit 이다
경우의 수는 2^8 = 0~255 = 00000000~11111111이므로 총 256가지이다
사설 아이피가 192.168.0.10/24 이라고 하자
뒤의 /24는 서브넷 마스크의 bit 수 이고 이는 기본적으로 C class를 의미한다
따라서
24bit를 네트워크 아이디
뒤 8bit를 호스트 아이디로 이용한다
11111111 11111111 11111111 00000000
호스트 값 중
00000000인 값은 없는 값이고 11111111인 값은 브로드캐스트 값으로 써야하기 때문에
호스트 값은 256 - 2 = 254개만 쓸 수 있다
여기서 문제는 ISP 입장에서 생각해볼 때 발생한다
A라는 사람이 ISP에게 공인아이피 기준으로 100개를 요구한다
ISP는 A에게 100개의 IP를 줘야하는데 254개에서 100개를 빼면 154개밖에 남지 않는다
만약 B라는 사람이 추가적으로 100개의 IP 주소를 요구한다면? 점점 IP 주소가 부족해질 것이다
우리는 서브넷팅을 통해 주소들을 잘게 쪼개 이를 해결할 수 있다
서브넷팅이란?
서브넷팅은 IP 주소의 낭비를 방지하기 위해 네트워크를 여러 서브넷으로 분리하는 것을 의미한다
일반적으로 서브넷 마스크의 bit 수를 증가시킨다고 이해하면 된다
호스트의 1비트를 네트워크의 비트로 이용해 호스트 범위를 할당해보자
11111111 11111111 11111111 10000000
네트워크 아이디를 나타내는 부분이 24 → 25로 늘어나서 할당 가능한 네트워크 수가 1 → 2개로 증가,
호스트 아이디를 나타내는 부분이 8 → 7로 줄어들면서 할당 가능한 호스트 수가 254 → 126개로 감소하게된다
이렇게되면 네트워크 수가 증가하게 되지만 호스트 아이디는 줄어들게 되어 서브넷으로 나누면 나눌 수록 사용 가능한 주소는 줄어든다
하지만 더 많은 사람에게 IP 주소를 나눠줄 수 있기 때문에 더 유동적으로, 낭비없이 효율적으로 IP 주소를 관리할 수 있다