Search
Duplicate

사설 IP와 서브넷팅 - 2

날짜
2021/11/11
작성자
태그
Network
Series
--
완료

이전 포스팅 보러가기

4. Subnet

모든 PC는 사설 IP를 가집니다. 가정집은 네트워크의 사이즈가 작기 때문에 공유기에 연결하면 대부분 알아서 관리를 해주고 관리 포인트라 할 것도 딱히 없습니다. (대부분 192.168.x.x 라는 IP를 사용합니다.)
하지만 기업이나 기관 등 조금 더 큰 네트워크를 구성할 때에는 사설 IP를 어떻게 부여할 것인지에 대한 고민이 필요합니다. 부서별로 몇 개의 IP를 부여할지, 부서간에 통신은 가능하게 할지 등등..
왜냐하면 서브넷이 없다면 가장 작은 사설 대역인 192.168.0.0/16만 하더라도 약 65,000개의 사설 IP 주소가 배정됩니다. 상당히 큰 네트워크에요. 65,000호를 가진 아파트 단지인거죠
그래서 Subnet 개념이 생겨났습니다.
서브넷은 Sub - Network 즉 하위 네트워크라는 뜻으로 사설 IP의 낭비를 막기 위한 개념이라고 생각하시면 됩니다. 65,000호를 가진 192.168.x.x 라는 아파트 단지를 더 작은 A동, B동, C동 등 작은 서브넷으로 나누는 작업이 서브넷팅이구요.
한 문장으로 정리해보면
Subnet : 사설 IP 대역의 낭비를 막기 위해 사용하는 더 작은 단위의 네트워크
Subnetting : 큰 네트워크 대역을 작은 네트워크 대역으로 나누는 작업
정도가 될 것 같습니다.
50호가 살고있는 A동의 소방점검을 경비실에서 65,000호 전부에게 안내 하면 C동 주민들은 당연히 이렇게 생각하겠죠
반대로 B동의 사람들에게만 전달하는 비밀 이야기가 있을때 이걸 A,C동 사람들이 모두 들어도 곤란해요.
이런 문제를 서브넷팅을 통해서 해결합니다.
서브넷을 사용했을 때 사설 IP는 3가지 요소로 이루어집니다.
Network ID
Subnet ID
Host ID
[Network ID + Subnet ID]를 Prefix라고 부르기도 합니다. 서브넷이 주어졌을때 [Network ID + Subnet ID]는 이미(Pre) 고정이(Fix) 되기 때문이죠.
서브넷을 예시를 보며 살펴보겠습니다.
노란색 글씨는 바뀌지 않는 Prefix를 표현합니다.
예를 들어 192.168.32.0/24 라는 서브넷을 살펴봅시다. (이진수 주의,,,)
192.168.32.0은 서브넷 대역의 대표 주소 이며 /24는 Prefix를 나타냅니다. Prefix는 최대 32까지의 자연수로 이루어집니다.
최대가 32인 이유는 IP 주소의 옥텟 4개가 2진수로 총 32자리를 나타내고 32자리까지 Prefix로 고정시킬 수 있기 때문이에요.
192.168.32.0 의 2진수 표현
11000000.10101000.00100000.00000000
Prefix /24는 앞에서부터 24자리가 고정되어있다는 말입니다.
11000000.10101000.00100000.00000000 (회색 부분이 0 혹은 1로 바뀔 수 있습니다.)
192.168.32.0의 이진수 표현중 24번째 자리까지는 고정되어있고 25~32번째 자리가 변동되어 호스트로 제공될 수 있다는 뜻입니다.
192.168.32.0의 십진수 표현중 192.168.32 까지가 고정이고 0 부분이 변경되며 사용자에게 호스트(사설 IP)로 제공됩니다.
그래서 192.168.32.0~192.168.32.255 192.168.32.0/24 범위에 포함됩니다.
예시 더 보기

5. Subnetting

서브넷팅은 필요에 의해 주어진 서브넷을 더 작은 서브넷으로 나눈다고 말씀드렸습니다.
그럼 예시를 들어서 서브넷팅을 알아보겠습니다.
주어진 서브넷에 할당되는 사설 IP 수는 2(32서브넷마스크)2^{(32-서브넷마스크)}개 입니다.
/24=2(3224)=28=256/24 = 2^{(32-24)}=2^8=256
/27=2(3227)=25=32/27 = 2^{(32-27)}=2^5=32
각 서브넷은 대역의 첫 번째 IP가 네트워크 주소, 마지막 IP를 브로드캐스팅 주소로 예약해놓습니다. (AWS는 5개의 주소를 예약합니다.)
그래서 2개의 사설 IP를 사용해야 한다고 /31 서브넷을 할당해주면 사용할 수 있는 사설 IP가 없습니다.
즉, 사용해야하는 IP의 개수가 아래 조건을 만족해야하죠
(서브넷 대역의 사용가능한 IP = 2(32서브넷마스크)22^{(32-서브넷마스크)}-2) ≥ 사용해야하는 IP의 개수
192.168.0.0/16 서브넷을 사설 IP 대역으로 사용하는 회사의 A,B,C 부서 인원이 각각 50명씩 있다고 가정해봅시다.
각 부서는 적어도 50개의 사설 IP가 필요합니다.
위에 적혀있듯이 /27 대역은 32개의 IP를 가지고 그렇다면 /26 대역은 32*2 = 64개의 IP를 가질 것입니다.
그러면 각 부서에
A 부서 = 192.168.0.0/26
B 부서 = 192.168.64.0/26
C 부서 = 192.168.128.0/26
위와 같이 할당한다면 각 부서 50명의 직원에게 모두 사설 IP를 제공할 수 있습니다.
그럼 이렇게 제공하면 되겠네! 끝!!!
이라고 생각하고 끝내기엔 변수가 있습니다. 만약 A 부서의 규모가 30%정도 성장해서 63번째 사원이 입사했다고 가정해봅시다. 192.168.0.0/26에는 192.168.0.1 ~ 192.168.0.62 즉 62개의 사설 IP만 할당할 수 있기 때문에 63번째 사원을 위해서 추가 사설 IP 대역을 부여받거나 심각한 경우에는 사설 네트워크를 재설계 해야할수도 있습니다.
위와 같이 A 부서의 성장세를 고려하여 현재는 50명이지만 126(1282)126_{(128-2)}개의 IP를 배정할 수 있도록
A 부서 = 192.168.0.0/25
B 부서 = 192.168.128.0/26
C 부서 = 192.168.192.0/26
위와 같이 배정해주었습니다.
이렇게 서브넷팅을 할 때에는 현재의 상태 및 요구사항을 잘 파악해서 부족하지도, 너무 많지도 않게 서브넷을 제공해야합니다.

5. 마무리

최대한 처음 보는 사람이 이해할 수 있도록 작성해봤는데 이해가 됐을지 모르겠습니다. 포스팅에 어려운 내용이나 궁금한점이 있으면 언제든 우측 하단 채널톡으로 문의주세요!
AWS 상에서의 라우팅