Search

사설 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(32−24)=28=256/24 = 2^{(32-24)}=2^8=256 개
/27=2(32−27)=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(128−2)126_{(128-2)}개의 IP를 배정할 수 있도록
A 부서 = 192.168.0.0/25
B 부서 = 192.168.128.0/26
C 부서 = 192.168.192.0/26
위와 같이 배정해주었습니다.
이렇게 서브넷팅을 할 때에는 현재의 상태 및 요구사항을 잘 파악해서 부족하지도, 너무 많지도 않게 서브넷을 제공해야합니다.

5. 마무리

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