IP 주소 지정 완전 이해
IPv4 주소 구조, 클래스 분류, 사설/공인 주소, 서브넷 마스크, 네트워크·브로드캐스트 주소 계산 방법을 설명합니다.
지난 글에서 IP 주소를 MAC 주소로 변환하는 ARP를 살펴봤습니다. 이번에는 그 IP 주소 자체가 어떻게 구성되고 사용되는지 다룹니다. IP 주소(Internet Protocol Address) 는 네트워크에서 장치를 논리적으로 식별하는 주소입니다. MAC 주소가 하드웨어에 고정된 물리 주소라면, IP 주소는 네트워크 환경에 따라 변경 가능한 논리 주소입니다.
IPv4 주소 구조
IPv4 주소는 32비트 숫자로, 8비트씩 4개 그룹(옥텟)으로 나눠 10진수로 표기합니다.
192.168.1.10
↕ (변환)
11000000.10101000.00000001.00001010
모든 IP 주소는 네트워크 부분(Network ID) 과 호스트 부분(Host ID) 으로 나뉩니다.
서브넷 마스크(또는 CIDR 프리픽스)가 어디서 네트워크와 호스트를 분리할지 결정합니다.
IP: 192.168.1.10 = 11000000 10101000 00000001 00001010
마스크: 255.255.255.0 = 11111111 11111111 11111111 00000000
AND: 192.168.1.0 = 11000000 10101000 00000001 00000000
───────────────────────────────
네트워크 주소: 192.168.1.0
IP 주소 클래스 (Classful)
초기 인터넷은 주소의 첫 비트를 보고 클래스를 구분했습니다.
| 클래스 | 첫 비트 | 사용 용도 |
|---|---|---|
| A | 0xxx | 대형 기관 (전 세계 128개 망) |
| B | 10xx | 중형 기관 |
| C | 110x | 소형 기관 (254 호스트) |
| D | 1110 | 멀티캐스트 |
| E | 1111 | 예약 |
클래스 기반 주소 지정은 주소 낭비가 심해 현재는 CIDR(Classless Inter-Domain Routing) 로 대체됐습니다.
공인 IP vs 사설 IP
| 구분 | 설명 | 예시 |
|---|---|---|
| 공인 IP | 인터넷에서 유일, ISP 할당 | 203.0.113.5 |
| 사설 IP | 내부 네트워크 전용, 인터넷 라우팅 불가 | 192.168.1.10 |
사설 주소 범위(RFC 1918):
10.0.0.0 ~ 10.255.255.255 (/8, 클래스 A 규모)
172.16.0.0 ~ 172.31.255.255 (/12, 클래스 B 규모)
192.168.0.0 ~ 192.168.255.255 (/16, 클래스 C 규모)
가정이나 기업의 내부 장치는 사설 IP를 쓰고, 라우터가 NAT(Network Address Translation) 를 통해 공인 IP 하나로 인터넷과 통신합니다.
중요 주소 계산
서브넷 /24 (255.255.255.0)를 예로 들면:
네트워크 주소: 192.168.1.0 (호스트 비트 = 모두 0)
→ 패킷 라우팅 경로 결정에 사용
브로드캐스트 주소: 192.168.1.255 (호스트 비트 = 모두 1)
→ 해당 네트워크 전체에게 전송
사용 가능 호스트: 192.168.1.1 ~ 192.168.1.254 (254개)
실무에서 자주 쓰는 IP 확인 명령:
# Linux
ip addr show
# 출력: inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
# macOS
ifconfig en0
# Windows
ipconfig /all
# 외부에서 본 공인 IP 확인
curl https://ipinfo.io/ip
루프백과 특수 주소
127.0.0.0/8 — 루프백 (loopback): 자기 자신
127.0.0.1 — localhost
ping 127.0.0.1 은 NIC를 거치지 않고 OS 내부에서 처리
0.0.0.0 — 미지정 주소
서버에서 "모든 인터페이스 수신" 의미로 사용
예: 0.0.0.0:80 = 모든 IP의 80번 포트
169.254.0.0/16 — APIPA (Link-Local)
DHCP 실패 시 Windows/macOS가 자동 할당
같은 링크의 장치끼리만 통신 가능
/32와 /0
/32 = 255.255.255.255: 정확히 1개의 호스트를 지정
예: 방화벽 규칙에서 특정 IP 1개만 허용
10.0.0.5/32 → 10.0.0.5 단 하나만
/0 = 0.0.0.0: 모든 IP 주소
예: 기본 경로(default route)
0.0.0.0/0 via 192.168.1.1 → 모든 트래픽을 게이트웨이로
다음 글에서는 IPv4의 주소 고갈 문제를 해결하기 위해 등장한 IPv6와 IPv4의 차이를 자세히 살펴봅니다.
지난 글: ARP 완전 이해
다음 글: IPv4 vs IPv6 완전 비교
읽어주셔서 감사합니다. 😊