2022. 5. 1. 20:51ㆍBACKEND
CIDR의 개념을 시작으로, CIDR 표기법과 계산법 등을 알아보는 것이 해당 포스팅의 목표입니다.
CIDR
Classless Inter-Domain Routing
Cidr의 이름을 직역해보면 "클래스가 없는 도메인간의 라우팅"입니다.
클래스가 없다는 뜻은 네트워크 구분을 아래와 같이 Class로 하지 않는다는 뜻인데요.
여기서 말하는 Class는 사이더가 나오기전 사용했던 네트워크 구분 체계 입니다.
클래스 표기법
IPv4는 xxx.xxx.xxx.xxx 의 형식으로, 총 40억개의 IP가 존재할 수 있습니다.
생성할 수 있는 IP주소 총 개수 : 4,294,967,296 ( $2^8 \times 2^8 \times 2^8 \times 2^8$)
예전에는 40억개면 충분 할 것이라 생각했지만, 점점 모자라는 상황이 되었고
A부터 E까지 클래스별로 나눠 IP를 체계적으로 잘 나눠 쓸 수 있게끔 만들었습니다.
본 포스팅의 핵심 내용은 아니기 때문에 클래스에 대한 설명을 자세히 다루진 않겠습니다.
Cidr 표기법
위와 같이 이전에는 클래스 기반을 통해 IP 주소의 범위를 표기하였는데
이 방법을 더 이상 사용하지 않고 새로운 방법이라는 의미에서 "Classless Inter-domain"로 표기합니다.
CIDR는 클래스 대신 CIDR 블록과 서브넷 마스크 형태로 IP 주소의 범위를 표기하며,
기존의 클래스 기반 할당 방식보다 더 유연하게 여러 네트워크 영역으로 나누어서 사용할 수 있습니다.
CIDR은 도메인 간 라우팅 기법이라고도 불린다.
CIDR는 A.B.C.D/E 와 같이 4개의 옥텟을 점(.)으로 연결한 십진수 IP 주소 뒤에
슬래시('/') 문자와 0부터 32까지의 숫자가 연결된 형태입니다.
여기서 옥텟은 하나의 8비트로 구성된 묶음입니다.
예를 들어 192.168.0.0/24 이라는 형태를 띄고 있죠.
Octet 1
|
Octet 2
|
Octet 3
|
Octet 4
|
||||||||||||||||||||||||||||
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
192
|
168
|
0
|
1
|
||||||||||||||||||||||||||||
192.168.0.0/24
|
CIDR가 '/24'의 경우 위와 같이 앞에서부터 24비트 이후에 오는 4번째 옥텟을 전부 사용한다는 의미입니다.
따라서 위의 Octet1~3까지는 고정이 된 채, Octet 4 내에서 자유롭게 사용할 수 있습니다.
Cidr 범위
이 때, 하나의 옥텟은 8비트이기 때문에 한 옥텟에는 $2^8 (255)$ 까지의 숫자를 가질 수 있겠죠.
따라서 192.168.0.0/24는 아래의 IP를 할당할 수 있게됩니다.
192.168.0.1, 192.168.0.2, 192.168.0.3, ..., 192.168.0.255
Cidr 계산
IPv4에서 suffix로 올 수 있는 범위가 0~32이겠죠.
간단히 사용 범위를 계산하자면 다음과 같습니다.
suffix가 27이라면 $2^{(32-27)} = 2^5 = 32$개의 IP를 할당할 수 있습니다.
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxx000000
참고할 만한 표를 발견해서 같이 첨부해 봅니다.
그럼 지금까지 CIDR에 대한 내용을 살펴보았습니다.
오타나 잘못된 내용을 댓글로 남겨주세요!
감사합니다 ☺️
'BACKEND' 카테고리의 다른 글
Shenyu API Gateway, 어렵지 않게 이해하기 (0) | 2022.10.23 |
---|---|
TimeZone, 어렵지 않게 이해하기 (0) | 2022.05.05 |
RUVVE, Backend.log (0) | 2021.12.09 |
RUVVE, Service.log (0) | 2021.12.09 |
HTTP/2, 제대로 이해하기 (4) | 2021.11.12 |
Backend Software Engineer
𝐒𝐮𝐧 · 𝙂𝙮𝙚𝙤𝙣𝙜𝙨𝙪𝙣 𝙋𝙖𝙧𝙠