보안, IT/네트워크, IT

[네트워크] IPv4 Address Space

neck392 2025. 5. 20. 23:02
침해사고 분석 문제들을 풀어보면 공격자 IP를 식별하는 과정을 필요로 한다. IP 주소 공간에 대해 깊이 있는 내용을 탐구해 본다.

 

IPv4에서 주소 공간이란 사용 가능한 모든 IP 주소의 범위를 의미한다.

  • IPv4는 32비트 주소를 사용 (MAC 주소는 48비트)
  • 주소 공간은 2^32개가 된다.
2^32 = 4,294,967,296
  • 즉, 이론적으로 약 43억 개의 고유한 IP 주소를 만들 수 있다.

제한 사항

이론상 43억 개의 주소가 존재하지만, 모든 주소가 실제 사용 가능한 것은 아니다. 

사용 불가능한 주소

127.0.0.0/8 루프백(Loopback) 주소
0.0.0.0 미지정 주소 (Default route 등)
192.168.0.0/16, 10.0.0.0/8 등 사설(Private) IP 주소
224.0.0.0 ~ 239.255.255.255 멀티캐스트(Multicast)
240.0.0.0 ~ 255.255.255.255 미래 예약(Reserved)

이로 인해 사용 가능한 IPv4 주소는 이론치보다 훨씬 적다. 그러나 IPv6는 128비트 주소를 사용한다.

2^128 ≈ 3.4 × 10^38

사실상 무제한에 가까운 IP 주소 제공이 가능하다.

<IPv6의 표현 방식>


IP 주소의 구조

<Ip의 구조>

하나의 IP 주소는 네트워크를 식별하는 부분개별 장치를 식별하는 부분으로 나누어 진다.

  • 총 32비트로 구성된 주소
  • 예: 192.168.1.10 8비트 × 4 = 32비트

Prefix (n bits): 네트워크 부분

  • 앞쪽의 n비트는 "어느 네트워크인가?"를 나타낸다.
  • 예를 들어 /24이면 앞 24비트가 prefix이다. (즉, 끝의 /n의 값은 프리픽스의 길이를 의미)

<프리픽스의 길이와 예시>

  • 이 값이 같으면 같은 네트워크에 있는 장치들이다.

192.168.1.0/24에서 Prefix(=net id)는 192.168.1이 된다.

 

Suffix ((32 - n) bits): 호스트(장치) 부분

  • 뒤쪽의 (32 - n)비트는 "네트워크 내에서 어떤 장치인가?"를 나타낸다.
  • 즉, 동일한 네트워크 내에서 각 장치를 구별하는 용도이다.

192.168.1.10에서 10이 Suffix(=host id)이다.


IPv4 주소 클래스(Classful Addressing)

<IPv4 주소 클래스(Classful Addressing)>

IPv4 주소는 과거에 주소 크기(네트워크 규모)에 따라 5개의 클래스(A~E)로 나누었다. 이 방식을 클래스풀(classful) 주소 지정 방식이라고 한다.

클래스 맨 앞 비트 Prefix 길이 Suffix 길이 첫 바이트 범위 용도
A 0xxx xxxx 8비트 24비트 0 ~ 127 대규모 네트워크
B 10xx xxxx 16비트 16비트 128 ~ 191 중간 규모 네트워크
C 110x xxxx 24비트 8비트 192 ~ 223 소규모 네트워크
D 1110 xxxx 해당 없음 해당 없음 224 ~ 239 멀티캐스트용 주소
E 1111 xxxx 해당 없음 해당 없음 240 ~ 255 실험적 / 예약됨 (사용 안 함)

첫 바이트의 비트 형태에 따라 클래스가 결정된다고도 표현할 수 있다.


Reference

Behrouz A. Forouzan, Data Communications and Networking, 5th Edition, McGraw-Hill Education, 2013. ISBN: 9780073376226.