서브넷마스크
개요
: 서브넷마스크를 알아본다.
서브넷마스크
ex) 0000.0000.0000.0000
간단한 예시로 8비트만 계산하면 아래와 같다.
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
- 총 32비트를 가지며, 8비트 단위로 이루어져 있고 8비트 단위를 옥텟이라고 부른다.
- 서브넷마스크는 1과 0으로 이루어져 있다.
- 반드시 1이 연속으로 나와야 한다.
- 192.168.0.1/24 라는 아이피에서 서브넷마스크는 /24 이다.
- /24 의 표현은 1이 24개 있다는 뜻이다.
- 1은 [네트워크영역]으로 사용한다.
- 0은 [호스트IP]으로 사용한다.
- 192.168.0.1/24 라는 아이피에서 ==> C클래스임을 도출하고 ==> 255.255.255.0 임을 도출할 수 있다.(C클래스의 디폴트마스크)
(1) IP주소
# 10진수 표현
147.79.123.172/19
# 32비트 2진수 표현
10010011.01001111.01111011.10101100
위와 같은 아이피가 주어졌다.
넷마스크(서브넷마스크)는 /19 이다.
(2) 서브넷마스크
# /19 를 해석
11111111.11111111.11100000.00000000
맨 처음에 IP 주소 뒤에 /숫자를 해석하면 된다.
/19는 1이 19개 있다는 뜻이다.
인터넷에서 표를 참고하면 더 쉽게 알 수 있다.
(3) 네트워크 주소
10010011.01001111.01111011.10101100
11111111.11111111.11100000.00000000 #32비트로2진수로 표현한 네트워크주소
-------------------------------------------
147.79.96.0 (Class B) #10진수로 표현한 네트워크주소
IP주소와 서브넷마스크를 AND 연산한 결과.
맨 앞부터 연산결과에서 가장 마지막인 1까지가 네트워크 주소가 된다.
즉, 호스트 ID가 모두 0인 주소이다.
(4) 브로드캐스트 주소
10010011.01001111.01111011.10101100
10010011.01001111.01111111.11111111 #32비트로2진수로 표현한 브로드캐스트주소
-------------------------------------------
147.79.127.0 (Class B) #10진수로 표현한 브로드캐스트주소
네트워크영역을 다시 IP로 채워놓고 AND 계산한다.
네트워크영역을 제외한 나머지인 호스트영역을 모두 255 으로 채워버린다.
호스트영역은 AND 계산할 필요없이 255가 된다.
즉, 호스트ID가 모두 1인 주소이다.
호스트 주소
# 호스트주소 계산법
네트워크주소+1 ~ 브로드캐스트주소-1
호스트영역 범위가 실제 사용자가 사용할 수 있는 IP범위가 된다.
첫번째주소 147.79.127.1 은 네트워크 자체를 나타내는 용도이다. 보통 공유가(라우터)가 가져가게 된다. 그래서 보통 사용자들은 147.79.127.2 부터 할당 받는다.
두번째주소 147.79.127.255 은 브로드캐스트 용도이다.
서브네팅
- 네트워크관리자가 네트워크 성능을 향상시키기 위해서 자원을 효율적으로 분배하는 작업이다.
- 즉, 서브넷마스크가 등장한 이유이다. 진짜 필요한 [네트워크주소]만 [호스트IP]로 할당하는 작업이 서브넷팅이다.
- 자원을 효율적으로 분배한다는 의미는 [네트워크영역]과 [호스트영역]을 분할하는 것을 의미한다.
- 너무 큰 브로드캐스트 도메인은 네트워크 패킷 전송을 느리게 하고 성능저하를 발생시키기 때문에 분배한다.
- IP할당 범위를 더 작은 단위로 나누는것이 최종 목적이다.
예시
: 아래 내 예시를 살펴본다.
- 만일 호스트를 50개만 사용하는 기업이 존재.
- 192.168.10.0/24 아이피 주소를 사용한다면 가정한다.
- C클래스이니까 총 256개의 주소를 할당하게 되는데,
- 256개 전체를 주기에는 낭비가 된다, (50개만 필요하니까!)
- 256개를 절반으로 나누고(128개) 또 절반으로 나눈(64개) 주소를 기업에게 할당하고
- 남는 네트워크 주소는 다른 사용처로 할당하는 효율적인 작업이 바로 서브네팅 원리이다.
예제
: 아래 예제를 살펴본다.
- 만일 100개의 아이피를 사용하는 기업이 존재
- 이 회사에게 아이피 대역을 할당할 예정이다
- 100개 밖에 사용안하니 가장 작은 C클래스 대역을 줄 예정(192.168.10.0/24)
- 그래도 256개를 전부 주기에는 낭비가 있어 보인다.
- 11111111.11111111.11111111.00000000 범위의 [네트트워크영역]을 제외한 [호스트IP]가 8비트 뿐이다. 2^8=256게
- 즉, 192.168.10.1 ~ 192.168.10.254 범위의 [호스트IP]를 가진다.
- 256개의 주소를 절반으로 나누는 서브네팅이 필요한 시점이다.
나누기
- 128개씩 두개로 나누기 위해 [서브넷 구분 비트] 라는 것을 지정해주어야 한다.
- [서브넷 구분 비트]는, 이름 그대로 네트워크 주소를 어느 기준으로 쪼개서 서브넷(분할된 네트워크)을 만들어 구분할지 정하는 비트라 이해하면 된다.
# IP
192.168.10.0/24
# 네트워크영역
11000000.10101000.00001010.00000000 (Class C)
서브넷 구분 비트는 항상 호스트 ID에서 왼쪽부터 결정이 되어야 한다는 특징이 있다.
호스트ID의 맨 왼쪽을 서브넷 구분 비트로 지정하게 되면, 0과 1로 구분되어지는데,
범위가 2진수로 다음과 같이 나뉘게 된다
.00000000 ~ .01111111 (0 ~ 127) # 호스트 ID맨왼쪽이 0인 경우
.10000000 ~ .11111111 (128 ~ 255) # 호스트 ID맨왼쪽이 1인 경우
즉, 호스트ID 맨왼쪽 비트가 0이냐 1이냐에 따라 서브넷이 두개로 분리되게 된다.
따라서 서브넷 구분 비트 2^7승 128값 기준으로 서브넷 주소 범위가 두개로 나뉘어진다
# 서브넷구분비트를 부여하여 분리된 결과
192.168.10.0 ~ 192.168.10.127 # 분리1
192.168.10.127 ~ 192.168.10.255 # 분리2
이렇게 절반으로 나눈 한 서브넷 부분을 이제 회사에게 할당하고 나머지도 필요한 곳에 분배하면 된다.
이때 위에서 유의했듯이 어느 한 네트워크 범위의 가장 첫번째 주소(0) 과 마지막 주소는 네트워크/브로드캐스트 주소로서 제외하여야 한다고 하다
아래가 최종 분리된 서브네팅 결과이다.
192.168.10.1 ~ 192.168.10.126 # 분리1 (네트워크주소+1 ~ 브로드캐스트주소-1)
192.168.10.128 ~ 192.168.10.254 # 분리2 (why.?)
Leave a comment