1일 1CS(Computer Science)

클래스풀 IP 주소 체계에 대해서 설명해주세요.

표자 2025. 6. 19. 09:47

클래스풀 vs 클래스리스 IP 주소 체계 🌐

백엔드 개발자라면 꼭 알아야 할 네트워킹 기초! IP 주소가 어떻게 구분되는지 알아보자 💻

클래스풀 주소 체계 - 옛날 방식 📚

클래스풀 주소 체계는 IP 주소를 미리 정해진 크기로 나누는 방식이에요. 마치 아파트 단지를 A동(대형), B동(중형), C동(소형)으로 나누는 것과 비슷해요! 🏢

A클래스 - 대기업용 🏭

  • 범위: 1.0.0.0 ~ 126.255.255.255
  • 특징: 첫 번째 숫자만 네트워크, 나머지 3개는 호스트
  • 예시: 구글, 아마존 같은 대기업이 사용
  • 수용 가능: 약 1,600만 개의 기기 연결 가능! 😱

B클래스 - 중견기업용 🏬

  • 범위: 128.0.0.0 ~ 191.255.255.255
  • 특징: 앞의 2개 숫자는 네트워크, 뒤의 2개는 호스트
  • 예시: 대학교, 중견기업 네트워크
  • 수용 가능: 약 65,000개의 기기 연결 가능

C클래스 - 소규모 조직용 🏪

  • 범위: 192.0.0.0 ~ 223.255.255.255
  • 특징: 앞의 3개 숫자는 네트워크, 마지막 1개만 호스트
  • 예시: 작은 회사, 가정용 공유기
  • 수용 가능: 254개의 기기만 연결 가능

 

클래스풀의 문제점 😤

상황을 생각해보세요! 직원이 300명인 회사가 있다면? 🤔

  • C클래스: 254개만 가능 → 부족! ❌
  • B클래스: 65,000개 가능 → 너무 많이 남음! 💸

결과: 64,700개의 IP 주소가 낭비됨! 이건 완전 비효율적이죠 😭

 

클래스리스 주소 체계 - 현재 방식 ✨

클래스리스는 서브넷 마스크를 사용해서 자유롭게 네트워크 크기를 조절할 수 있어요! 마치 방 크기를 원하는 대로 칸막이로 나누는 것과 같아요 🧩

CIDR 표기법 📝

192.168.1.0/24 이런 식으로 표기해요!

  • 192.168.1.0: 네트워크 주소
  • /24: 앞의 24비트가 네트워크 부분이라는 뜻

실생활 예시로 이해하기 🏠

가정용 공유기: 192.168.1.0/24

  • 우리 집 공유기가 바로 이거예요!
  • 192.168.1.1(공유기) ~ 192.168.1.254(기기들)
  • 254개 기기 연결 가능 📱💻🖨️

중간 규모 회사: 192.168.0.0/23

  • 512개 기기 연결 가능
  • 직원 300명 회사에 딱 맞춤! 👔

 

개발자가 알아두면 좋은 팁 🛠️

Docker 네트워킹에서 활용

Next.js 앱을 도커로 배포할 때, 컨테이너들이 서로 통신하려면 같은 네트워크 대역에 있어야 해요!

AWS VPC 설정

  • 퍼블릭 서브넷: 10.0.1.0/24 (웹서버)
  • 프라이빗 서브넷: 10.0.2.0/24 (DB서버)
  • 이렇게 나누면 보안도 좋고 관리도 쉬워져요! 🔒

로컬 개발 환경

Node.js 서버 띄울 때 localhost:3000도 결국 127.0.0.1:3000이죠! 이것도 IP 주소예요 🎯

추가로 알면 좋은 정보 💡

사설 IP 주소 (Private IP)

인터넷에서 직접 접근할 수 없는 내부용 주소예요:

  • A클래스: 10.0.0.0/8
  • B클래스: 172.16.0.0/12
  • C클래스: 192.168.0.0/16

특수 주소들

  • 127.0.0.1: 루프백 주소 (자기 자신)
  • 0.0.0.0: 모든 주소 (서버 설정에서 자주 봄)
  • 255.255.255.255: 브로드캐스트 주소

면접 답변 💼

"클래스풀과 클래스리스 IP 주소 체계의 차이점을 설명해주세요."

클래스풀은 A, B, C 클래스로 IP 주소를 고정된 크기로 나누는 방식으로, IP 주소 낭비가 심한 단점이 있습니다. 클래스리스는 서브넷 마스크와 CIDR 표기법을 사용해서 네트워크 크기를 자유롭게 조절할 수 있어 효율적입니다. 현재는 클래스리스 방식을 사용하며, 예를 들어 192.168.1.0/24는 256개의 주소를 가진 네트워크를 의미합니다.

 


 

클래스풀 IP 주소 체계에 대해서 설명해주세요.

백엔드와 관련된 질문이에요.

클래스풀 주소 체계(Classful Addressing) 은 IP 주소를 규격화된 크기별로 구분시키는 방식입니다. IP 주소를 클래스(A,B,C 등)별로 규격화(유형화)시켜, 쉽게 식별할 수 있도록 합니다.

IPv4 주소는 4바이트(32비트)이며, 1바이트씩 끊어서 표기합니다. 이때 각 바이트를 옥텟이라고 부르며, 각 옥텟은 0부터 255까지의 숫자를 표현할 수 있어요. ex) 0.0.0.0 ~ 255.255.255.255

  • A 클래스는 초기 비트가 0(2진수)으로 시작하는 1옥텟을 네트워크 주소로 사용하며, 3옥텟을 호스트 주소로 사용합니다. 호스트 주소의 0과 255는 특수한 용도(전자는 네트워크 식별, 후자는 브로드캐스트 주소)로 사용되므로, A 클래스에는 2^7개의 네트워크 수와 2^24 - 2개의 호스트를 가질 수 있습니다.
  • B 클래스는 초기 비트가 10(2진수)으로 시작하는 2옥텟을 네트워크 주소로 사용하며, 2옥텟을 호스트 주소로 사용합니다. 따라서, B 클래스에는 2^14개의 네트워크와 2^16 - 2개의 호스트를 가질 수 있습니다.
  • C 클래스는 초기 비트가 110(2진수)으로 시작하는 3옥텟을 네트워크 주소로 사용하며, 1옥텟을 호스트 주소로 사용합니다. 따라서, C 클래스에는 2^21개의 네트워크와 2^8 - 2개의 호스트를 가질 수 있습니다.

클래스풀 주소 체계는 클래스별로 네트워크 크기가 고정되어 있기 때문에 다수의 IP 주소가 낭비될 수 있다는 한계점이 존재합니다. 예를 들어, 특정 조직에 컴퓨터가 255개라면 C 클래스 주소를 사용하지 못하고, B 클래스를 사용해야 하는데요. 이러한 상황에서 IP 주소의 낭비가 발생할 수 있습니다. 이러한 문제를 해결하고, 더욱 유동적인 방식으로 네트워크를 구획할 수 있도록 클래스리스 주소 체계가 등장했습니다.

클래스리스 주소 체계는 무엇인가요? 🤔

클래스리스 주소 체계는(Classless Addressing) 클래스가 아닌 서브넷 마스크를 이용해 네트워크 주소와 호스트 주소를 구분하는 IP 주소 체계입니다. 이때, 서브넷 마스크는 네트워크 구분을 위한 비트열을 의미합니다. 해당 비트열에서 네트워크 주소는 연속된 1(이진수), 호스트 주소는 연속된 0(이진수)으로 표현합니다. 특정 IP 주소와 서브넷 마스크를 비트연산을 수행하면, 네트워크 주소를 알아낼 수 있습니다. 예를 들어, 서브넷 마스크가 255.255.255.0, IP 주소가 168.168.168.168인 경우, 비트연산을 수행하면 네트워크 주소인 168.168.168.0 를 알아낼 수 있습니다. 이 경우, 1옥텟을 호스트 주소로 사용할 수 있습니다.

서브넷 마스크를 표기할 때는 CIDR(Classless Inter Domain Routing Notation) 표기법을 사용할 수 있는데요. IP 주소/서브넷 마스크 비트열의 1의 수 형식으로 표현합니다. IP 주소가 168.168.168.168이며, 서브넷 마스크가 255.255.255.0인 경우에는 168.168.168.168/24 와 같이 표기할 수 있습니다.

728x90