IP 주소 뒤에 /24
/16
같은 숫자를 보신적이 많죠?
이 슬래시(/)뒤에 숫자가 붙으면 CIDR(사이더) 표기법을 사용한 것입니다.
IP주소는 점으로 나뉜 4 영역으로 되어 있는데, 각각의 자리는 0~255까지 올 수 있습니다. 즉, 256 글자중 1가지, 딱 1바이트를 차지 합니다.
1바이트는 8비트이며, 1비트는 0과 1 둘중 하나를 표현 할 수 있습니다.
이런 비트가 8개 나열 되어서 그 조합은 256개가 나옵니다.
결국 2의 8제곱, 2^8
이거든요. 1바이트는 옥텟으로 부르기도 합니다.
1 byte = 8 bit = 1 octet
왜 바이트를 사용하냐면, 모든 패킷에 붙어있는 IP주소는 중복이 엄청나기 때문에 최소한의 용량으로 표현할 방법이 필요합니다. 지금의 IPv4 주소는 딱 4바이트면 되는데, 만약 문자열로 표현한다면 "255.255.255.255" 처럼 15바이트가 필요하게 되죠. 2진 표현은 데이터를 축약 할 수 있는 좋은 방법 입니다.
0.0.0.0/24
라면 0.0.0.0
이라는 IP주소의 총 32비트(8*4)
중에, mask할 비트 수가 24개
라는 뜻 입니다. 조금 어렵죠?
0.0.0.0
은 각 자리마다 8비트이므로 총 32비트의 IP주소에서 앞부분부터 가려보세요. 이때 비트로 몇개를 가리냐를 나타내는 수니까 8비트,8비트,8비트 를 가려서 총 (가림).(가림).(가림).0
이 됩니다. 그럼 마지막 0
만 보이겠네요. 그쵸?
mask를 코로나시대의 익숙한 아이템인 진짜 KF94 마스크로 생각해 봅시다.
만약, 얼굴 세로 길이가 32 센치 라면, /24 마스크는 세로 길이가 24 센치라는 뜻 입니다. 그러면 눈만 보이겠군요.
이제 쪼금 이해되셨나요? 32센치라니 엄청나게 큰 얼굴 이네요.
결국 /24는 32비트 중 앞에서 24비트를 가리고 남은 8비트만
보인다 는 뜻입니다.
다시 말하면 IP주소에서는 이제 그부분만 보이니까
앞부분은 동일하고 그부분만 바뀐다고 볼 수 있고, 결국 그 바뀌는 모든 경우의 수를 뜻하게 됩니다. 결국 범위 입니다.
192.168.0.1/24
는 이제 마지막 자리만 바뀔수 있으니
변하지 않는 192.168.0
까지는 그대로 두고 마지막 자리 8비트
0~255 까지 총 256개의 IP주소 범위 전체
를 뜻 합니다.
192.168.0.0/24
라면, 192.168.0.0
~ 192.168.0.255
가 됩니다.192.168.0.0/16
이라면, 앞에서 절반을 가리니까 192.168.0.1 ~ 192.168.255.255
가 됩니다.알고보면 직관적이고 너무 쉽습니다.
서브넷은 네트워크를 그룹으로 묶은 작은 네트웍 입니다.
여기서도 CIDR 표기법을 쓰는데, 왜냐하면 우리 서브넷이 가질수 있는 IP주소 범위를 표현하기 때문입니다. 그 범위의 IP주소 사이에서 통신을 담당하는 서브넷 이니까요.
우리 서브넷은 IP 범위를 어디부터 어디까지 쓰겠다! 라고 CIDR표기를 하면 됩니다.
그럼 그 서브넷은 그 IP 범위를 가진 디바이스끼리 통신을 이어주죠.
대표적으로 AWS 에서 VPC를 만들때 IP범위 지정에 CIDR를 사용합니다.
보통 172.31.0.0/16
을 사용 합니다. 이제 감이 좀 오시죠?
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
요 3가지 대역은 전세계 어디에도 공인IP가 없는 약속된 사설로만 사용하는 IP 대역 입니다.
위 대역을 CIDR로 역표현 해보는 연습을 해보는 것도 좋겠습니다.
예를 들어 제일 위의 CIDR는 10.0.0.0/8
이겠지요.
자세한 내용은 Private IP 주소 범위
를 검색 해보세요.
그래도 계산이 귀찮다! 그렇다면 CIDR 계산기
를 검색해보세요.
오늘도 유익한 내용이 되었기를 바랍니다.
다음에도 더 좋은 글로 찾아올께요!
나스/복합기 등 네트워크 설정하다 보면 서브넷 마스크 넣으라는 것이 있던데 김형석 CTO님 덕분에 잘 알아갑니다. ^^