포스트

[Network] IP 클래스란?

Computer Science / Network

IP 클래스에 대한 개념 정리 및 IP 주소의 구성에 대한 개념 정리

들어가기에 앞서, 해당 게시글에서의 IP 주소에 대한 자세한 설명은 #IP 기초 개념 정리 게시글을 참고

아이피(IP)에 대한 정리

IP(Internet Protocol)란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다.

아이피(IP)는 일반적으로 192.168.123.132와 같이 마침표로 구분된 4개의 숫자가 있는, 점으로 분리된 10진수 형식으로 표시된다.

이를 2진법으로 표현한다면, 32비트 숫자 1100 0000.1010 1000.0111 1011.1000 0100가 된다.

image_2

즉, 위의 이미지와 같이 IP는 32bit로 이루어진 주소이며, 1bit가 2이니까 $2^{32}$, 약 43억개의 주소를 가지게 된다.

아이피(IP) 주소 구성

IP는 네트워크 ID + 호스트 ID로 구성되어 있다.

Network ID는 예를 들면 전 세계 Host들을 관리하기 힘드니, 각 국가마다 Network ID를 부여한다고 보면 된다.

그리고 Host ID는 호스트들을 개별적으로 관리핟기 위해 사용하게 된 것이다.

즉, 국가의 국민에 해당한다.

따라서 우리가 인터넷을 사용할 때 목적지를 알아내고 찾아가기 위해서는 Network ID와 Host ID가 합쳐진 IP 주소를 보게 된다.

192.168.10.101100 0000.1010 1000.0000 1010.0000 1010

예를 들어, 위와 같은 주소가 있다고 하면,

네트워크 주소1100 0000.1010 1000.0000 0010이 되고, 나머지 부분인 0000 1010호스트 주소가 된다.

그리고 192.168.10.으로 시작하는 PC는 192.168.10.10, 192.168.10.25, 192.168.10.126…과 같은 네트워크에 속하고 있다고 말할 수 있다.

지역 전화번호 예시

한국의 지역 전화번호를 예시로 들어보면,

한국 전화번호는 지역 번호와 개인 번호로 구성되어 있다.

지역 번호를 통해 어느 사용자가 어느 지역(순천)에 위치해 있는지 특정할 수 있고, 개인 번호를 통해 순천의 어느 사용자에게 정확히 전화 주소를 찾아가 통화를 할 수 있게 된다.

이 개념을 그대로 네트워크 주소 / 호스트 주소로 가져오면 된다.

image_light image_dark

  • 네트워크 ID (지역 번호)
    모든 호스트를 관리하기 힘들기 때문에 한 네트워크의 범위를 지정한 ID
  • 호스트 ID (개인 번호)
    각각의 호스트를 관리하기 위해 사용

아이피(IP) 주소 클래스

IP 클래스는 예전에 IPv4를 사용했을 때 IP를 할당하는 방법이었다.

지금은 더 이상 사용되지 않고, 클래스 방식이 아닌 다른 방식(CIDR, Classless Inter-Domain Routing)으로 할당하도록 1993년도에 바뀌었지만, 서브네팅을 하기 위해서는 기본 개념을 알고 가야 하기 때문에 다룰 예정이다.

CIDR에 대한 자세한 설명은 #CIDR이란? 게시글을 참고

IP 주소를 8비트로 4등분을 하면, 각각을 옥텟(Octet)이라고 부른다.

image_3

위와 같이, 각 옥텟 별로 0~255개의 범위가 되므로 각각 256개가 들어갈 수 있게 된다.

image_4

그리고 이 옥텟 별로 위와 같이 IP의 클래스를 A, B, C로 나눌 수 있다.

정확히는 A, B, C, D, E로 나뉜다.

주로 우리가 사용하는 클래스가 A, B, C이다.

image_5

위의 이미지들을 자세하게 다뤄보자면,

  • Class A
    주소
    • 1.0.0.0 ~ 127.255.255.255
    서브넷 마스크
    • 255.0.0.0
    그룹 별 호스트 개수
    • $2^{24} - 2 = 16,777,214$개
  • Class B
    주소
    • 128.0.0.0 ~ 191.255.255.255
    서브넷 마스크
    • 255.255.0.0
    그룹 별 호스트 개수
    • $2^{16} - 2 = 65,534$개
  • Class C
    주소
    • 192.0.0.0 ~ 223.255.255.255
    서브넷 마스크
    • 255.255.255.0
    그룹 별 호스트 개수
    • $2^{8} - 2 = 254$개
  • Class D
    주소
    • 224.0.0.0 ~ 239.255.255.255
    특징
    • 멀티캐스트를 위한 용도
  • Class E
    주소
    • 240.0.0.0 ~ 254.255.255.255
    특징
    • 미래에 사용할 IP로 예약되어 있음

보통 우리가 사용하는 클래스는 3개이다. (A, B, C)

Class A

image_6

IP 주소에서 첫 옥텟이 0127로 시작하는 주소는 예약이 되어있어 사용할 수 없다.

0.0.0.0 → 미지정 주소

127.0.0.0 → 루프백 주소

  • Class A의 경우, 처음 8bit(1byte)가 Network ID이며, 나머지 24bit(3byte) 가 Host ID가 된다.
  • Class A의 첫 번째 옥텟의 비트는 0으로 고정된다.
  • 따라서 Class A의 범위는 첫 옥텟이 1 ~ 126 사이의 숫자로 시작한다.
  • Class A호스트 ID 대역이 24bit이므로, 네트워크 당 나올 수 있는 호스트 주소의 개수는 $2^{24} = 16,777,216$개이므로, 대규모 네트워크에 적합하다.

Class B

image_7

  • Class B의 경우, 처음 16bit(2byte)가 Network ID이며, 나머지 16bit(2byte)가 Host ID로 사용된다.
  • Class B는 첫 번째 옥텟의 두 번째 비트가 10으로 고정된다.
  • 네트워크 ID는 처음 16비트이며, 호스트 ID는 나머지 16비트이다.
  • 따라서 Class B의 범위는 첫 옥텟이 128 ~ 191 사이의 숫자로 시작한다.
  • 호스트 ID 대역이 16bit이므로 네트워크 당 나올 수 있는 호스트 주소의 개수는 $2^{16} = 65,536$개이므로, 중규모 네트워크에 적합하다.

Class C

image_8

  • Class C의 경우, 처음 24bit(3byte)가 Network ID이며, 나머지 8bit(1byte)가 Host ID로 사용된다.
  • Class C는 첫 번째 옥텟의 세 번째 비트가 110으로 고정된다.
  • 따라서, Class C의 범위는 첫 옥텟이 192 ~ 223 사이의 숫자로 시작한다.
  • 호스트 ID 대역이 8bit이므로 네트워크 당 나올 수 있는 호스트 주소의 개수는 $2^{8} = 256$개이므로, 소규모 네트워크에 적합하다.

Class D

  • Class D는 첫 번째 옥텟의 네 번째 비트가 1110으로 고정된다.
    • 1110 xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
  • 따라서, 표현할 수 있는 범위는 224.0.0.0 ~ 237.255.255.255이다.
  • 멀티캐스트용 대역으로 IP 주소에 할당되지 않는다.

Class E

  • Class E는 첫 번째 옥텟의 네 번째 비트가 1111으로 고정된다.
    • 1111 xxxx. xxxx xxxx. xxxx xxxx. xxxx xxxx
  • 따라서, 표현할 수 있는 범위는 240.0.0.0 ~ 255.255.255.255이다.
  • 연구용으로 예약된 주소 대역으로 IP 주소에 할당되지 않는다.

네트워크 주소 & 브로드캐스트 주소

위의 클래스 사용 시, 유의할 점이 있는데, IP 주소에서 사용할 수 없는 주소가 두 가지가 존재한다.

가장 첫 번째 호스트 주소는 네트워크 자체를 지칭하며, 마지막 주소는 브로드캐스트용 주소로 쓰인다.

image_9 네트워크 주소는 말 그대로 네트워크 자체를 나타내는 주소

image_10 브로드캐스트 주소는 인터넷 데이터를 전달하기 위한 주소

위의 두 주소는 모든 네트워크 IP 클래스에서 동일하게 적용되는 것이므로 주의해야 한다.

하나의 네트워크를 나타내는 주소나 데이터를 전달하기 위한 주소를 PC에서 사용하면 문제가 생기기 때문에, 사용할 수 없는 주소로 알고 있으면 된다.

192.168.10.0 ~ 192.168.10.255

위와 같이 사용할 수 있는 IP 주소 범위가 있다고 한다면,

여기서 첫 번째 주소인 192.168.10.0192.168.10의 네트워크 자체를 가리키고,

맨 마지막 192.168.10.255가 브로드캐스트용 주소가 되게 된다.

그리고 그 사이의 192.168.10.1 ~ 192.168.10.254 주소들을 우리가 실제로 사용할 수 있는 것이다.

그 중, 192.168.10.1은 보통 공유기(라우터)가 가져가게 된다.

그래서 보통 사용자들은 192.168.10.2부터 할당받는 편이다.

정리하자면,

  • 네트워크 주소
    호스트 ID가 모두 0(0000 0000)인 주소
    네트워크 자체를 나타내는 주소
  • 브로드캐스트 주소
    호스트 ID가 모두 1(1111 1111)인 주소
    네트워크의 모든 호스트로 데이터를 전달하기 위한 통로로서의 주소

참고 사이트

Inpa Dev - 🌐 IP 클래스 · 서브넷 마스크 · 서브넷팅 계산법 💯 총정리

Connecting the Dots. - [IP 클래스] IP 주소의 ‘클래스’_A클래스, B클래스, C클래스

swimjiy - 그림으로 쉽게 보는 IP 주소 (하)

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.