서브넷과 CIDR이란?

Alex·2025년 1월 13일
0

CS를 공부하자

목록 보기
11/74

IPv4 초기엔 IP 주소가 부족하기 때문에 IP 클래스를 나누어 할당하는 방법을 택했다.

하지만, 이건 비효율적었다.

한 중소기업이 클래스 B를 쓰는데 65000개의 IP를 다 쓰는 게 아니고 1만개만 쓴다고 해보자.

5만개의 IP를 쓰지 않는 것이다.

그렇다고, C클래스를 할당하면 IP자원이 너무 부족해진다.

이런 문제를 해결하기 위해서 서브넷이 등장했다.

서브넷팅이란??

서브넷팅은 서브넷 마스크의 bit 수를 증가시키는 것이라고 생각하면 된다. 서브넷마스크의 bit수를 1씩 증가시키면 할당할 수 있는 네트워크가 2배수로 증가하고, 호스트 수는 2배수로 감소한다.

192.168.32.0/24(서브넷 마스크)에서 192.168.32.0/25로 한다는 건 호스트의 자리수를 7개로 줄인다는 것이다.
그럼 126개 사용 가능하다.

하나의 큰 단지가 있다고 해보자.
192.168.1.0은 256개의 주소를 갖는다. 이걸 반으로 나누면 192.168.1.0(128개의 주소), 192.168.1.128(128개의 주소) 두 개로 늘어난다.

서브넷 마스크 bit를 하나 증가시키면 위처럼 네트워크 수를 2배수로 증가시킬 수 있는 것이다.

다만,서브넷을 나누게 되면, 적어도 2개의 주소가 낭비가 된다.
(네트워크 주소와 브로드캐스트 주소를 빼야 하므로)

많이 나눌 수록 좋지는 않다.
그래도 100개만 쓸 기업이 256개를 사용해서 154개를 낭비하는 것보단, 128개에서 2개를 낭비하는 게 더 낫기 때문에 서브넷팅을 하는 것이다.

서브넷 마스크

서브넷 마스크는 IP주소에서 네트워크 ID와 호스트 ID를 구분하는 일종의 가리개다.

192.168.10.1/24라는 IP주소가 있다고 해보자. /24는 서브넷 마스크를 뜻한다.

24라는 숫자는 서브넷 마스크에서 1비트의 개수다.

IP주소를 이진수로 나타냈을 때 왼쪽에서 부터 24개의 비트가 네트워크 식별 영역을 의미하고 나머지 비트는 호스트 식별영역을 의미한다. 192.168.10.1를 2진수로 나타내면 아래와 같은데

11000000.10101000.00001010.00000001

여기서 왼쪽부터 24개까지는 네트워크 영역이다.따라서 할당 가능한 호스트 IP 주소는 32비트 - 24비트 해서 8비트가 남으므로 2^8 -2 가 된다.

호스트 필드를 모드 0으로 채우면 네트워크 ID, 모두 1로 채우면 브로드캐스트 주소가 된다.

CF)
참고: [네트워크] 서브넷, 서브넷마스크, 서브넷팅이란? 서브넷팅 예제

C 클래스는 기본적으로 앞의 24비트는 Network ID, 뒤의 8비트는 Host ID를 나타낸다. 이때 서브넷 마스크를 이용하면 원본 네트워크를 여러 개의 네트워크로 분리할 수 있다. 이러한 과정을 서브넷팅(subneting)이라고 한다

IP주소에 서브넷 마스크를 AND 연산하면 Network ID가 된다.

C클래스인 192.168.32.0 이라는 IP주소가 있다고 하자. C클래스의 기본 서브넷 마스크는 255.255.255.0 이므로 AND연산을 하면 192.168.32.0이 나오고 이것이 바로 Network ID이다.

네트워크 ID와 브로드 캐스트 주소는 IP주소로 사용할 수 없다.
따라서 사용가능한 IP 주소 대역은 192.168.10.1 ~ 192.168.10.254 이다.

추가로 공부하자

When is the subnet mask used?

우선, 서브넷 마스크는 트래픽을 받을 때 사용되는데, 네트워크 인터페이스가 자신의 서브넷 범위 안이면 트래픽을 처리하고 밖이면 버린다. 네트워크 인터페이스가 무차별 모드면 모든 트래픽을 다 받는다.

OS는 서브넷 마스크를 통해서, 목적지로 패킷을 보낼 때 같은 서브넷이면 직접 전달하고 다른 서브넷이면 게이트웨이로 전달한다.

참고자료: [Network] IP 주소에 대해 - (3) 서브넷 마스크 (Subnet Mask)

2층짜리 주택이 있다고 해보자. 이 주택을 소유한 사람은 2층에 거주중이고, 1층에는 세를 주었다.

이 주택에 거주하는 두 가구는 주소는 거의 같지만, 소유주는 2층에 세입자는 1층에 살고 있으므로 주소의 마지막 부분이 다르다.

그래서, 택배나 우편물을 받을 땐 주소 앞부분은 같더라도 뒷부분에 1층인지 2층인지를 구분해서 적는다.

이처럼 서브넷 마스크는 네트워크 구역을 정확하게 구분하는 데 사용된다

CIDR이란

(Classless Inter-Domain Routing)로, 인터넷 주소를 원래 IP 주소 클래스체계를 쓰는 것보다 더욱 능동적으로 할당하는 방식이다.

서브네팅, 슈퍼네팅 등이 CIDR 개념에 속한다고 할 수 있다.

profile
답을 찾기 위해서 노력하는 사람

0개의 댓글