메뉴 건너뛰기

(*.234.205.52) 조회 수 245 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 https://hwannny.tistory.com/86

들어가며

 

가상호스팅 서비스를 이용하다보면 호스팅된 서버에 접근가능한 대역을 설정할 때 CIDR방식을 사용하라고 권장한다.

예) CIDR 0.0.0.0/0 이면 모든 대역을 의미한다. 

 

/(슬래시) 뒤에나오는 숫자의 의미는 뭔지, 특정 대역은 어떻게 표기하는지 궁금해 CIDR 개념과, 이와 더불어 서브넷 마스크 및 IP 클래스의 개념까지 포스팅하고자 한다.

 

 

CIDR이란?

 

사이더(Classless inter-Domain Routing, CIDR)는 직역 그대로 클래스없는 도메인간 라우팅 기법이다.

기존 IP 주소 할당 방식이었던 클래스를 대체하며 IP주소의 네트워크 영역, 호스트영역을 유연하게 나누어준다.

 

위의 CIDR 정의를 이해하기 위해 사전지식이 필요하다. 

 

정의에 명시된 클래스와 네트워크 영역, 호스트 영역은 무엇일까?

 

 

IP 클래스

 

IP는 0.0.0.0 부터 255.255.255.255 까지 총 (2^32, 4,294,967,296개)를 표현할 수 있다.
전세계 사람들에게 IP를 효율적으로 할당하기 위해 각 용도에 맞게 클래스로 나누어 IP 대역을 구분한다.
클래스는 총 5개 A, B, C, D, E 가 존재한다. 흔하게 사용되는건 A, B, C이며
D와 E는 각각 멀티캐스트용도, 기타목적으로 예약된 클래스로 실제 IP주소가 할당되지는 않는다.

클래스별 IP 대역은 다음과 같다.

 

CLASS대역
A0.0.0.0 ~ 127.255.255.255
B128.0.0.0 ~ 191.255.255.255
C192.0.0.0 ~ 223.255.255.255
D224.0.0.0 ~ 239.255.255.255
E240.0.0.0 ~ 255.255.255.255

 

추가적으로 특정 주소는 공인 IP가 아닌 사설 IP(흔히 공유기)로 사용되며 다음과 같다.

 

CLASS대역
A10.0.0.0 ~ 10.255.255.255
B172.16.0.0 ~ 172.31.255.255
C192.168.0.0 ~ 192.168.255.255

 

이외에도 0.0.0.0, 255.255.255.255, 127.0.0.1은 각각 네트워크 시작 주소, 브로드캐스트주소, Loopback 주소이기 때문에 IP주소로 할당될 수 없다.

 

 

네트워크 ID와 호스트 ID

 

사실 IP는 네트워크 ID와 호스트ID가 합쳐진 상태로 표현된다.

210.77.8.3라는 IP는 

네트워크 ID를 210.77.8, 호스트 ID를 3로 표현할 수 있다. 

 

왜 IP를 네트워크 ID 호스트 ID로 나누는 걸까? 

이유는 Routing으로 특정 IP 찾아갈때 이 두 ID를 통해 효율적으로 목적지를 알아내기 때문이다.

 

모든 호스트(최종 목적지 IP)를 찾고 관리하기 힘들기 때문에 각 네트워크ID에 1개이상의 호스트ID를 종속시켜 호스트를 쉽게 관리하기 위함이다.

 

비유하자면 네트워크 ID는 아파트 동, 호스트 ID는 아파트 동의 호수와 같다.

 

IP의 네트워크 ID와 호스트 ID는 서브넷 마스크에 의해 구분이 가능하다.

 

서브넷 마스크를 통해 네트워크 ID와 호스트 ID를 더 자세히 알아보자.

 

 

서브넷 마스크

 

서브넷 마스크는 각 IP 클래스별로 네트워크 영역을 다르게하여 구분하여 한 네트워크당 호스트수를 효율적으로 관리할 수 있다.

 

각 클래스가 가지는 디폴트 서브넷 마스크는 다음과 같다.

 

CLASS대역디폴트 서브넷 마스크
A0.0.0.0 ~ 127.255.255.255255.0.0.0
B128.0.0.0 ~ 191.255.255.255255.255.0.0
C192.0.0.0 ~ 223.255.255.255255.255.255.0

 

앞서 예시로 나왔던 210.77.8.3은 C 클래스 범위에 속하기 때문에 255.255.255.0 서브넷 마스크를 가진다.

이제 네트워크 ID와 호스트 ID를 구분해보자.

 

C클래스의 서브넷 마스크를 2진수로 표현하면 다음과 같으며

1111 1111 . 1111 1111 . 1111 1111 . 0000 0000 = 255.255.255.0 (서브넷 마스크)

               [네트워크 ID]                      [호스트 ID]

 

0의 개수를 기준으로 네트워크 하나가 가질수 있는 최대 호스트의 개수를 유추할 수 있다.

호스트의 수는 0의 개수가 8개이므로 (2^8) - 2개이다. "-2"를 한이유는 네트워크 하나가 가지는 여러 호스트중 첫번째 호스트는 네트워크 주소, 마지막 호스트는 브로드캐스트 주소로 사용되기 때문에 실제 할당 가능한 호스트 개수를 구하기 위함이다.

 

따라서 210.77.8.3은 210.77.8.0라는 하나의 네트워크 안에서 210.77.8.1 ~ 210.77.8.254 범위, (2^8) - 2개 또는 254개의 호스트중 하나다.

 


 

이번엔 다른 IP로 예시를 들어보자.

 

129.25.3.7은 B클래스에 속하며 서브넷 마스크로 255.255.0.0을 가진다.

서브넷 마스크를 2진수로 표현한 0의 개수는 16개이며 네트워크 하나는 최대 (2^16) - 2개의 호스트 수를 가진다.

 

따라서 129.25.3.7은 129.25.0.0라는 하나의 네트워크 안에서 129.25.0.1 ~ 129.25.255.254 범위, (2^16) - 2개 또는 65, 534개의 호스트중 하나다.

 

여기서 한가지 더 알수있는 사실은 호스트 ID 개수를 표현하는 0의 개수가 많아질수록 1의 개수가 줄어들므로 이는 네트워크 ID 개수 적어짐을 의미한다. 즉, 서로 반비례하다

 

사실 클래스가 디폴트로 가지고있는 서브넷 마스크로는 네트워크하나가 가지는 호스트수를 유연하게 설정할 수 없다.

 

A클래스는 하나의 네트워크 당 (2^24) - 2개의 호스트를 가진다.

B클래스는 하나의 네트워크 당 (2^16) - 2개의 호스트를 가진다.

C클래스는 하나의 네트워크 당 (2^8) - 2개의 호스트를 가진다.

 

B클래스 IP대역을 사용하면서 C클래스 대역의 호스트 개수를 사용하거나 또, 호스트수가 254개도 너무 많다면 유연하게 줄인다거나 할 필요가 있다.

 

이러한 니즈를 충족하는것이 바로 CIDR이다.

 

 

CIDR

 

초반에 언급했던 CIDR의 정의를 다시 보자.

 

"사이더(Classless inter-Domain Routing, CIDR)는 직역 그대로 클래스없는 도메인간 라우팅 기법이다.

기존 IP 주소 할당 방식이었던 클래스를 대체하며 IP주소의 네트워크 영역, 호스트영역을 유연하게 나누어준다."

 

각 클래스가 가지는 디폴트 서브넷 마스크에 얽매이지 않고

네트워크 영역과 호스트영역을 유연하게 나누는 방법은 간단하다.

 

서브넷 마스크를 직접 정의하면된다.

 

예시를 들어보자.

 

210.77.8.3는 C클래스에 속해 서브넷 마스크가 255.255.255.0이며 2진수로 표현하면 다음과 같다.

1111 1111 . 1111 1111 . 1111 1111 . 0000 0000

 

여기서 가장 왼쪽의 0을 1로 변경하면 다음과 같으며 (1은 항상 왼쪽부터 채우거나 없애야 한다.)

1111 1111 . 1111 1111 . 1111 1111 . 1000 0000 = 255.255.255.128

 

0의 개수는 7개, 하나의 네트워크가 가지는 호스트 수는 (2^7) - 2개 또는 126개가 된다.

즉, 210.77.8.3은 다음의 네트워크 영역중

 

210.77.8.0 ~ 210.77.8.127
210.77.8.128 ~ 210.77.8.255

 

210.77.8.0라는 첫번째 네트워크 영역에 속하게 된다.

 


 

만약 다음과 같다면

IP - 210.77.8.155, 서브넷 마스크 - 255.255.255.192

 

1111 1111 . 1111 1111 . 1111 1111 . 1100 0000 = 255.255.255.192, 호스트 수는 (2^6) - 2개 또는 62개

 

210.77.8.0 ~ 210.77.8.63
210.77.8.64 ~ 210.77.8.127
210.77.8.128 ~ 210.77.8.191
210.77.8.192 ~ 210.77.8.255

 

210.77.8.155은 210.77.8.128라는 세번째 네트워크 영역에 속하게 된다.

 

 

CIDR 표기 방식

 

CIDR는 IP와 서브넷 마스크를 함께 표기하며 /(슬래시)로 이 둘을 구분한다.

예시는 

IP - 210.77.8.155, 서브넷 마스크 - 255.255.255.192 일경우

210.77.8.155/26와 같이 표기한다.

 

슬래시 뒤에는 서브넷 마스크로 2진수로 표현시 1의 개수로 생각하면된다.

 

팁으로 호스팅서버 접근 대역 설정에 단일 IP를 할당하고 싶다면 

x.x.x.x/32로 설정하면 된다.

 

 

마치며

 

온라인으로 CIDR을 입력하면 IP 대역을 알려주는 사이트도 있으니 잘 활용해서 시간을 절약하자. 

https://mxtoolbox.com/subnetcalculator.aspx


  1. 테라폼(Terraform) - 개념, 장점, 관리툴

    ▶ IAC가상화 기술의 발전 Iac 란 Iac 종류 ▶ TerraformTerraform 개념 Terraform 장점 Terraform 구성 사용관리 툴 들어가기전에.. IT산업에 종사하면서 도구의 사용법을 익히는 것도 중요하지만, 그 뒷 배경 또한 중요합니다. 오늘은 IAC의 배경부터 관련 도...
    Date2024.10.01 Views246
    Read More
  2. Elasticsearch, Apache Lucene( 아파치 루씬 ) 기반의 Java 오...

    1. Elasticsearch란? Elasticsearch는 Apache Lucene( 아파치 루씬 ) 기반의 Java 오픈소스 분산 검색 엔진입니다. Elasticsearch를 통해 루씬 라이브러리를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거의 실시간( NRT, Near Real T...
    Date2024.09.22 Views320
    Read More
  3. Apache Nifi 의 구성요소, 아키텍쳐

    Nifi란?Apache Nifi는 시스템 간 데이터 전달을 효율적으로 처리, 관리, 모니터링 하기에 최적화 된 시스템임. 대량의 데이터 수집, 처리가능 Dataflow를 쉽게 구성이 가능하며, 시스템 간의 데이터 이동과 내용을 볼 수 있는 UI제공 강력한 자원과 권한 관리...
    Date2024.09.22 Views305
    Read More
  4. 아파치 카프카(Apache Kafka)는 분산형 스트리밍 플랫폼

    세계 최대 비즈니스 네트워크 사이트인 LinkedIn 은 하나의 서비스에 과도하게 많은 시스템이 연결되어 있어 서비스를 유지하고 관리하는데 어려움을 겪고 있다. 또한 시스템 유지 보수 및 서비스 관리에도 많은 부담이 가해졌다. 이를 극복하기 위해 컨플루언...
    Date2024.09.22 Views296
    Read More
  5. 쿠버네티스 시작하기 - Kubernetes

    docker logo 2013년 등장한 도커docker는 인프라 세계를 컨테이너container 세상으로 바꿔버렸습니다. 수많은 애플리케이션이 컨테이너로 배포되고 도커파일을 만들어 이미지를 빌드하고 컨테이너를 배포하는 게 흔한 개발 프로세스가 되었습니다. 2019년 Doc...
    Date2024.09.21 Views263
    Read More
  6. [NCP] VPC Peering

    VPC Peering에서는 인터넷 통신을 거치지 않고 비공인 IP를 통해 내부 네트워크로 다른 VPC와 통신하도록 구성할 수 있습니다. VPC Peering을 통해 전용 네트워크의 확장 효과를 누릴 수 있으며 안전한 통신이 가능합니다. 네이버 클라우드 플랫폼의 VPC 서비...
    Date2024.09.21 Views244
    Read More
  7. [AWS] VPC Peering

    VPC Peering VPC Peering 이란 다른 VPC간에 Private IP로 통신가능하도록 연결하는 것을 말합니다. 보통의 VPC 간 통신은 Public IP를 통해 이루어집니다. Public IP를 통해 통신을 할 경우 데이터의 안전성에 대한 문제가 발생할 수 있습니다. VPC Peering을...
    Date2024.09.21 Views246
    Read More
  8. No Image

    CIDR을 통해 알아보는 서브넷 마스크와 IP 클래스

    들어가며 가상호스팅 서비스를 이용하다보면 호스팅된 서버에 접근가능한 대역을 설정할 때 CIDR방식을 사용하라고 권장한다. 예) CIDR 0.0.0.0/0 이면 모든 대역을 의미한다. /(슬래시) 뒤에나오는 숫자의 의미는 뭔지, 특정 대역은 어떻게 표기하는지 궁금해...
    Date2024.09.21 Views245
    Read More
  9. 클라우드(Cloud) vs. 온프레미스(On-premise)

    클라우드(Cloud) 개념 '클라우드'란 '클라우드 컴퓨팅'의 약자이고, 인터넷을 통해 가상화 된 컴퓨터의 IT 리소스를 제공하는 것이다. 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. * IT리소스는 흔히 컴퓨터의 성...
    Date2024.09.16 Views333
    Read More
  10. VPN(가상사설망) 프로토콜 비교 : SSL/L2TP/IPSec/PPTP

    VPN(Virtual Private Network) 가상 사설망 (출처) 위키백과 공중 네트워크를 통해 한 회사나 몇 몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다. 다시 설명하면 공중망에서 가상의 사설망을 구현하는 기술이라고 할 ...
    Date2024.09.16 Views250
    Read More
  11. [Spring Cloud] 스프링 클라우드 란 무엇인가요?

    스프링 클라우드(Spring Cloud)는 스프링 프레임워크 기반의 클라우드 네이티브 애플리케이션을 개발하기 위한 프로젝트입니다. 스프링 클라우드는 분산 시스템에서 필요한 다양한 기능들을 추상화하여 제공하고 있으며, 마이크로서비스 아키텍처를 구현할 때...
    Date2024.08.30 Views238
    Read More
  12. {개발자}로 자라기 – 쿠버네티스, 왜 배워야 할까?

    쿠버네티스, 들어본 적 있으신가요? 데브옵스(DevOps), 클라우드 분야에 관심 있는 분들이라면 한 번쯤 접해보신 경험 있으실 겁니다. 전 세계 다수의 대기업에서 이미 쿠버네티스로 시스템 기반을 전환했다고 하는데요. 560만 명의 개발자가 사용하고 있는 쿠...
    Date2024.08.30 Views281
    Read More
  13. 오토스케일링(Auto Scaling)이란? (AWS, 클라우드)

    1. 오토스케일링(Auto Scaling)이란AWS에서 Scale In / Out 기능을 자동으로 수행해주는 기능으로 정책에 따라서 자원을 조정해주는 AWS 서비스를 말한다. 스케일아웃(Scale Out)서버의 자원 스펙 상승으로는 한계가 있으며 효율이 떨어지는 시점이 있다. Scal...
    Date2024.07.09 Views213
    Read More
  14. Docker 이해하기 -2 : 컨테이너 라이프 사이클 & CLI 이해하기

    목차1) Docker 컨테이너 라이프 사이클 2) 컨테이너 라이프 사이클 단계 및 CLI 0. 요약 1. 컨테이너 생성 (Create Container) 2. 컨테이너 시작 (Start Container) 3. 컨테이너 실행 (Run Container) 4. 컨테이너 일시 정지 (Pause Container) 5. 컨테이너 재...
    Date2024.07.08 Views240
    Read More
  15. Docker 이해하기 -1 : 기초 이론(아키텍처, 흐름, 주요 용어)

    목차1) Docker 1. Docker 사용목적 2. VM(Virtual Machine)과 Docker의 차이 3. Docker 아키텍처 및 흐름 2) Docker 주요 용어 0. Docker 주요 용어 요약 1. 도커 클라이언트(Docker Client) 2. 도커 호스트(Docker Host) = 도커 서버(Docker Server) 3. 도커 ...
    Date2024.07.08 Views202
    Read More
  16. 정부원격근무서비스(GVPN)를 통한 통합운영관리시스템(nTOPS, n...

    정부원격근무서비스(GVPN)를 통한 통합운영관리시스템 (nTOPS, national Total Operation Platform System) 접속 "통합운영관리시스템"이란 표준운영절차의 이행을 지원하기 위한 정보시스템으로, nTOPS(national Total Operation Platform System)를 말한다. ...
    Date2024.06.14 Views470
    Read More
  17. 국가정보자원관리원(NIRS) G클라우드 소개

    국가정보자원관리원 G-클라우드 소개 대한민국 전자정부의 심장 역할을 수행하는 국가정보자원관리원(구, 정부통합전산센터)는 47개 중앙행정기관의 IT 인프라를 위탁 운영하는 행정안전부 산하기관으로 약 22,000개 SW와 24,000개 HW 정보자원의 효율적 운용...
    Date2024.06.14 Views399
    Read More
  18. RHEV 4.0 Hypervisor 설치 방법

    Red Hat 회사의 엔터프라이즈급 서버 가상화 제품인 RHEV 4.0 Hypervisor를 설치하는 방법에 대해 알아보도록 하겠습니다. 레드햇이 2008년에 가상화 업체였던 쿰라넷(Qumranet)을 인수하게 됩니다. 그리고 이때 KVM이 레드햇으로 넘어가게 되었죠. 다시 말해...
    Date2024.06.14 Views249
    Read More
  19. 클라우드에 'MSA' 적용이 필요한 이유

    빠른 개발과 다양한 요구사항에 대응하기 위해서 MSA를 적용하는 기업이 증가하고 있습니다. ​ ​ 특히, MSA는 클라우드 환경에서 시스템을 구축할 때 효율적인 측면이 많은데요. ​ ​ 떼려야 뗄 수 없는 클라우드와 MSA에 대해 알아보았습니다.​ MSA(Microserv...
    Date2024.05.29 Views306
    Read More
  20. No Image

    MSA (Micro Service Architecture)란?

    MSA란 그리고 등장 Monolithic Architecture 란? 소프트웨어의 모든 구성요소가 하나의 결합체를 이루고 있는 프로젝트 설계모습이 있다. 그런 설계 모습을 모놀리식 아키텍처라 부릅니다. 큰 규모의 서비스가 아니라면 모놀리식 아키텍처를 많이 사용하고 저...
    Date2024.03.15 Views250
    Read More
목록
Board Pagination Prev 1 2 3 4 Next
/ 4