목차
개요
IP 주소 낭비를 막기 위해 원본 네트워크를 나누는 과정
서브넷팅(Subnetting)을 이해하기 위해선 우선 서브넷과 서브넷 마스크를 이해할 필요가 있다.
•
서브넷
: 부분 망이라는 의미로 IP 주소에서 네트워크 영역을 부분적으로 나눈 부분망을 뜻한다.
•
서브넷 마스크
: 서브넷을 만들 때 사용되는 것으로 IP 주소에는 반드시 서브넷 마스크가 있는데, 이 서브넷 마스크를 이용하여 IP주소에서 Network ID와 Host ID를 분리할 수 있다.
서브넷 마스크
서브네팅을 하기위해서는 서브넷 마스크가 필요하다.
어째서?
불필요한 부분을 가리고 노출된 부분에 집중을 하기 위해서!
이게 무슨말이냐면, IP 주소에 대해 알아야 한다. (만약, 잘 모른다면 이 글을 보고오자.)IP 주소는 네트워크 부분과 호스트 부분으로 나뉘는데 하나의 네트워크 영역의 여러 호스트가 존재할 수 있다.
여기서 호스트는 각각의 노드(컴퓨터,노트북,핸드폰 등)라고 생각하면 된다.
근데 IP의 호스트영역은 바이너리 8자리수로 0~255까지 255개의 호스트 영역을 가질 수 있는데, 매번 이 255개의 호스트 영역을 다 찾는것도 비효율적이다.
그렇기에 이를 그룹화하여 부분망으로 만들었는데 이게 서브넷(Subnet)이다.
서브넷 마스크는 바로 이 서브넷을 구분하는 방법중 하나로 위 테이블을 참조해서 서브넷의 범위를 지정할 수 있다.
위 테이블에서 bitmask는 IP주소의 전체 영역을 바이너리로 표시할 때 연속된 1의 개수를 나타낸다.
예를들어 /25의 경우 1이 연속으로 25개가 있다는 것으로 다음과 같다.
1111 1111.1111 1111.1111 1111.1000 0000
여기서 그럼 변경 가능한 호스트의 수는 0~127까지 128가지이고 네트워크수는 2개가 된다.
이처럼 서브넷 마스크를 이용해 서브넷의 범위를 조절할 수도 있으며 필요에 따른 서브넷 할당으로 IP를 최대한 효율적으로 사용할 수 있게 된다.
subnet mask 계산법
위의 서브넷마스크 표를 보고 각각의 bitmask를 보고 몇개의 호스트와 네트워크 수가 나오는지 확인할 수 있지만, 어떻게 저런 숫자가 나오는지 확인해볼 필요는 있다. 서브넷 마스크를 계산할때는 논리곱(AND)를 사용한다. 예를들어 192.168.0.1/24라는 서브넷 마스크를보고 몇개의 네트워크와 호스트가 제공되는지 계산해보자.
IP(192.168.0.1): 1100 0000. 1010 1000. 0000 0000. 0000 0001
Subnet mask : 1111 1111. 1111 1111. 1111 1111. 0000 0000
곱연산 결과 : 1100 0000. 1010 1000. 0000 0000. 0000 0000
Plain Text
복사
•
서브넷 네트워크 : 192.168.0.0
•
호스트 개수
⇒ 서브넷 마스크의 빨간 영역을 제외한 영역의 가짓수가 호스트개수인데 0000 0000 ~ 1111 1111범위에서 네트워크 주소와 브로드캐스트 주소를 제외하면 254개가 호스트 개수가 된다.
•
네트워크 개수
⇒ 하나의 옥텟에서 가질 수 있는 범위는 0~255인데 호스트개수가 254개이기 때문에 네트워크 개수는 1개가 된다.
subnetting 계산법
서브넷을 나누기 위해서는 각각의 네트워크에서 필요한 호스트의 수나 네트워크 수를 파악한 뒤 필요한만큼 서브넷을 나누어 서브넷 마스크를 변경해야 한다.
좀 더 이해하기 쉽게 서브넷 마스크를 통해 얻을 수 있는 네트워크수와 호스트수를 계산해보자.
1.
조건
- IP Class는 C 클래스를 사용한다.
- 기본 네트워크 주소는 192.210.5.0이다
- 외부망으로 사용할 Subnet은 호스트가 64개씩 2개가 필요하다.
- 내부망으로 사용할 Subnet은 호스트가 32개씩 1개가 필요하다.
- 관리용으로 사용할 Subnet은 호스트가 32개씩 1개가 필요하다.
Plain Text
복사
이 조건으로 서브네팅을 해주기 위해서 첫 번째 조건을 살펴보면 C클래스이기에 다음과 같다.
110x xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx → 192.0.0.0 ~ 223.255.255.255
다음으로, 외부망으로 사용할 Subnet은 호스트가 64개씩 2개가 필요하다. 이는 bitmask가 26이여야 한다는 소리가 된다. 그래서 bitmask가 26인 서브넷 2개가 다음과 같이 할당된다.
외부망 1: 192.210.5.0/26
외부망 2: 192.210.5.64/26
Plain Text
복사
다음으로 내부망과 관리용인 Subnet은 호스트가 32개씩 필요하기에 다음과 같이 할당된다.
내부망: 192.210.5.128/27
관리용: 192.210.5.160/27
Plain Text
복사
정리
이야기가 서브네팅보다 서브넷마스크로 너무 치우친감이 있지만, 서브네팅을 알기위해선 서브넷 마스크에 대한 이해는 필수다.
정리하면 서브네팅(subnetting)은 한정된 자원인 IPv4자원을 효율적으로 쓰기위해 나온 개념으로
클래스별 기본 서브넷 마스크를 쓰는게 아니라 서브넷 마스크를 커스텀으로 변경하여 네트워크 부분을 늘리고 호스트 부분을 줄이는 조정을 하는것을 뜻한다.