IP 주소의 class, 공인 IP와 사설 IP

네트워크 부분과 호스트 부분

IP 주소는 단순히 중복되지 않는 32자리 2진수를 나열한 것이 아니라, 네트워크 부분호스트 부분으로 구성되어 있다

200.10.12.5 의 경우 네트워크 부분은 200.10.12 이고, 호스트 부분은 5 이다

네트워크 부분이 같을 경우 라우터없이 통신 가능하고(내부통신), 네트워크 부분이 다를 경우에는 라우터를 통해 통신해야 한다(게이트웨이)
당연하지만 네트워크 부분이 같을 경우 호스트 부분은 모두 달라야하고, 네트워크 부분이 다를 경우 호스트 부분이 같아도 된다

그렇다면 IP 에서 네트워크 부분과 호스트 부분을 나누는 기준은 뭘까?

IP 주소 class

네트워크 부분과 호스트 부분을 나누는 일종의 약속이다
IP 주소는 대역대에 따라 A,B,C,D,E 5개의 클래스로 나뉘는데, 대표적으로 쓰이는 것은 A,B,C 3개의 클래스이다
IP 주소가 어떤 대역이냐에 따라 class가 결정되고, 어떤 class느냐에 따라 네트워크 부분과 호스트 부분을 나눌 수 있게된다

A 클래스

32개의 이진수 중 맨 앞 1개가 0으로 시작하는 주소들이다

1
0xxx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx

즉 계산해보면 0000 0000.0000 0000.0000 0000.0000 0000 ~ 0111 1111.1111 1111.1111 1111.1111 1111 까지가 되고, 십진수로 변환하면 0.0.0.0 부터 127.255.255.255 까지 된다

x 부분을 전부 0으로 채운 값부터 전부 1로 채운 값 까지가 범위이다

여기서 0.0.0.0과 127.0.0.0(루프백)을 제외하고 나면 A 클래스의 범위는 1.0.0.0 ~ 126.255.255.255 까지가 된다

그리고 A 클래스의 경우 네트워크 부분은 앞의 8비트, 호스트 부분은 뒤의 24비트가 된다

default 서브넷이 255.0.0.0 이다

즉 최종적으로 A 클래스를 정리하면

  • 네트워크 범위 : 1.0.0.0 ~ 126.0.0.0

    네트워크 자체를 나타낼 땐 호스트 부분을 0으로 한다

  • 들어갈 수 있는 호스트 수 : 2^24 - 2(약 1,600만개)

    호스트가 0인 경우는 네트워크를 나타내기 때문에 제외하고, 호스트의 가장 끝번호(A 클래스에서는 .255.255.255)는 브로드캐스트 주소이기 때문에 제외한다

B 클래스

32개의 이진수 중 맨 앞 2개가 10으로 시작하는 주소들이다

1
10xx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx

(계산과정은 A 클래스 설명에서 작성하였으니 생략한다)

B 클래스의 경우 네트워크 부분은 앞의 16비트, 호스트 부분은 뒤의 16비트가 된다

default 서브넷이 255.255.0.0 이다

즉 최종적으로 B 클래스를 정리하면

  • 네트워크 범위 : 128.0.0.0 ~ 191.255.0.0
  • 들어갈 수 있는 호스트 수 : 2^16 - 2(약 6만 5천개)

C 클래스

32개의 이진수 중 맨 앞 3개가 110으로 시작하는 주소들이다

1
110x xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx

(계산과정 생략)

B 클래스의 경우 네트워크 부분은 앞의 24비트, 호스트 부분은 뒤의 8비트가 된다

default 서브넷이 255.255.255.0 이다

즉 최종적으로 B 클래스를 정리하면

  • 네트워크 범위 : 192.0.0.0 ~ 223.255.255.0
  • 들어갈 수 있는 호스트 수 : 2^8(254개)

ISP에서 이 클래스에 서브넷을 씌운 뒤 라우터를 구성하는건가?

공인 IP와 사설 IP

  • A 클래스 : 10.0.0.0 ~ 10.255.255.255
  • B 클래스 : 172.16.0.0 ~ 172.31.255.255
  • C 클래스 : 192.168.0.0 ~ 192.168.255.255

자신이 속한 클래스의 사설 IP만을 사용할 수 있는건지?
즉 예를 들어 12.1.1.2 의 공인 IP가 사설 IP 대역으로 192.168.0.0을 쓸 순 없는건지?

사설 IP 에서 가능한 호스트 수는 ip 클래스의 호스트 부분과는 관련없는건지?
B, C 클래스는 자신이 속한 대역보다 큰 사설 IP 대역을 가질 수 있게 되는건지?