침해사고 분석 문제들을 풀어보면 공격자 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 주소 제공이 가능하다.

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 주소는 과거에 주소 크기(네트워크 규모)에 따라 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.
'보안, IT > 네트워크, IT' 카테고리의 다른 글
| [네트워크] IPv4 주소의 구분과 할당 가능 주소 계산 예제 (0) | 2025.05.21 |
|---|---|
| [네트워크 해킹] OSI 7 계층과 패킷 분석 개요 (0) | 2025.03.30 |
| [Packet Tracer] ACL을 위한 기본 네트워크 구성 정리 (1) | 2024.11.15 |
| [WireShark] TLS 패킷 분석 (0) | 2024.11.10 |
| IP주소(IP Address)와 MAC주소(MAC Address) (0) | 2024.05.22 |