IP 주소(IP Address)의 개념과 구조 - soo:bak
작성일 :
IP 주소란?
IP 주소(Internet Protocol Address)는 네트워크에 연결된 각 장치를 고유하게 식별하는 논리적 주소입니다.
인터넷이나 내부 네트워크에서 데이터를 주고받으려면, 송신자와 수신자를 구분할 수 있는 주소가 필요합니다. IP 주소는 이 역할을 수행하며, 네트워크 통신의 가장 기본적인 요소입니다.
현실 세계의 우편 시스템에 비유하면, IP 주소는 집 주소와 같습니다.
| 우편 시스템 | 네트워크 |
|---|---|
| 집 주소 | IP 주소 |
| 우편번호 | 네트워크 주소 |
| 상세 주소 | 호스트 주소 |
| 우체국 | 라우터 |
편지를 보내려면 받는 사람의 주소가 필요하듯, 네트워크에서 데이터를 전송하려면 목적지의 IP 주소가 필요합니다.
IP 주소가 필요한 이유
초기 네트워크의 문제
컴퓨터 네트워크 초기에는 각 제조사가 자체적인 통신 방식을 사용했습니다.
1
2
3
IBM 컴퓨터 ←→ IBM 컴퓨터 : 통신 가능
DEC 컴퓨터 ←→ DEC 컴퓨터 : 통신 가능
IBM 컴퓨터 ←→ DEC 컴퓨터 : 통신 불가 (프로토콜이 다름)
서로 다른 시스템 간의 통신이 불가능했고, 네트워크가 확장될수록 이 문제는 심각해졌습니다.
해결책: 표준 프로토콜과 IP 주소
1970년대 미국 국방부의 ARPANET 프로젝트에서 이 문제를 해결하기 위해 TCP/IP 프로토콜이 개발되었습니다.
TCP/IP의 핵심 아이디어는 다음과 같습니다.
- 모든 장치에 고유한 IP 주소를 부여한다.
- 제조사나 운영체제에 관계없이 동일한 규칙으로 통신한다.
- 데이터를 패킷 단위로 나누어 전송한다.
1
2
3
IP 주소 도입 후:
IBM 컴퓨터 (192.168.1.10) ←→ DEC 컴퓨터 (192.168.1.20) : 통신 가능
Windows PC (10.0.0.5) ←→ Linux 서버 (10.0.0.100) : 통신 가능
IP 주소 덕분에 전 세계의 서로 다른 장치들이 하나의 네트워크(인터넷)로 연결될 수 있게 되었습니다.
IPv4 주소의 구조
현재 가장 널리 사용되는 IP 주소 체계는 IPv4(Internet Protocol version 4)입니다.
기본 형식
IPv4 주소는 32비트로 구성되며, 4개의 옥텟(Octet)으로 표현됩니다.
각 옥텟은 8비트이고, 점(.)으로 구분합니다. 이를 점-십진 표기법(Dotted Decimal Notation)이라고 합니다.
1
2
3
4
192 . 168 . 1 . 100
↓ ↓ ↓ ↓
11000000 10101000 00000001 01100100
8비트 + 8비트 + 8비트 + 8비트 = 32비트
각 옥텟의 범위는 0부터 255까지입니다. (2⁸ = 256가지)
1
2
최솟값: 0.0.0.0
최댓값: 255.255.255.255
네트워크 부분과 호스트 부분
IP 주소는 두 부분으로 나뉩니다.
| 구분 | 역할 | 설명 |
|---|---|---|
| 네트워크 부분 | 네트워크 식별 | 장치가 속한 네트워크를 나타냄 |
| 호스트 부분 | 장치 식별 | 네트워크 내에서 특정 장치를 나타냄 |
1
2
3
4
5
6
IP 주소: 192.168.1.100 (서브넷 마스크: 255.255.255.0)
192.168.1 . 100
←─────────→ ←───→
네트워크 부분 호스트 부분
(24비트) (8비트)
같은 네트워크에 속한 장치들은 네트워크 부분이 동일하고, 호스트 부분만 다릅니다.
IPv4 주소 클래스
초기 인터넷에서는 IP 주소를 클래스(Class)라는 고정된 단위로 분류했습니다.
클래스별 특징
| 클래스 | 첫 옥텟 범위 | 첫 비트 패턴 | 네트워크 비트 | 호스트 비트 | 용도 |
|---|---|---|---|---|---|
| A | 1 ~ 126 | 0xxxxxxx | 8 | 24 | 대규모 네트워크 |
| B | 128 ~ 191 | 10xxxxxx | 16 | 16 | 중규모 네트워크 |
| C | 192 ~ 223 | 110xxxxx | 24 | 8 | 소규모 네트워크 |
| D | 224 ~ 239 | 1110xxxx | - | - | 멀티캐스트 |
| E | 240 ~ 255 | 1111xxxx | - | - | 예약 (연구용) |
클래스별 호스트 수
| 클래스 | 네트워크 수 | 네트워크당 호스트 수 |
|---|---|---|
| A | 126개 | 16,777,214개 |
| B | 16,384개 | 65,534개 |
| C | 2,097,152개 | 254개 |
클래스 구분 방법
IP 주소의 첫 번째 옥텟만 보면 클래스를 알 수 있습니다.
1
2
3
4
10.0.0.1 → 첫 옥텟 10 (1~126) → Class A
172.16.0.1 → 첫 옥텟 172 (128~191) → Class B
192.168.1.1 → 첫 옥텟 192 (192~223) → Class C
224.0.0.1 → 첫 옥텟 224 (224~239) → Class D (멀티캐스트)
클래스풀 방식의 한계
클래스 기반 할당 방식은 IP 주소 낭비가 심각했습니다.
1
2
3
예시: 500대의 호스트가 필요한 조직
- Class C (254개): 부족
- Class B (65,534개): 할당받으면 65,034개 낭비 (약 99%)
이 문제를 해결하기 위해 CIDR(Classless Inter-Domain Routing)과 서브네팅이 도입되었습니다.
공인 IP와 사설 IP
IP 주소는 사용 범위에 따라 공인 IP와 사설 IP로 구분됩니다.
공인 IP (Public IP)
공인 IP는 인터넷에서 직접 통신할 수 있는 전 세계적으로 고유한 주소입니다.
- 인터넷 서비스 제공업체(ISP)로부터 할당받습니다.
- 전 세계에서 유일하며, 중복되지 않습니다.
- 인터넷에 직접 접속하는 장치에 필요합니다.
1
2
예시: 웹 서버, 공유기의 외부 인터페이스
203.0.113.50 → 인터넷에서 이 주소로 접속 가능
사설 IP (Private IP)
사설 IP는 내부 네트워크에서만 사용되는 주소입니다.
- 인터넷에서 직접 라우팅되지 않습니다.
- 다른 네트워크와 중복 사용이 가능합니다.
- NAT(Network Address Translation)를 통해 인터넷에 접속합니다.
사설 IP 대역 (RFC 1918)
| 클래스 | 사설 IP 범위 | CIDR 표기 | 주소 개수 |
|---|---|---|---|
| A | 10.0.0.0 ~ 10.255.255.255 | 10.0.0.0/8 | 16,777,216개 |
| B | 172.16.0.0 ~ 172.31.255.255 | 172.16.0.0/12 | 1,048,576개 |
| C | 192.168.0.0 ~ 192.168.255.255 | 192.168.0.0/16 | 65,536개 |
가정이나 회사에서 흔히 사용하는 192.168.x.x, 10.x.x.x 주소가 사설 IP입니다.
1
2
3
4
5
일반적인 가정 네트워크:
공유기 외부 (공인 IP): 203.0.113.50
공유기 내부 (사설 IP): 192.168.0.1
PC (사설 IP): 192.168.0.10
스마트폰 (사설 IP): 192.168.0.11
공인 IP와 사설 IP의 비교
| 구분 | 공인 IP | 사설 IP |
|---|---|---|
| 고유성 | 전 세계에서 유일 | 네트워크 내에서만 유일 |
| 인터넷 접속 | 직접 가능 | NAT 필요 |
| 비용 | 유료 (ISP에서 할당) | 무료 (자유롭게 사용) |
| 보안 | 외부에서 접근 가능 | 외부에서 직접 접근 불가 |
| 용도 | 서버, 공유기 외부 | 내부 네트워크 장치 |
특수 IP 주소
특정 목적을 위해 예약된 IP 주소들이 있습니다.
루프백 주소 (Loopback Address)
1
2
127.0.0.0 ~ 127.255.255.255 (127.0.0.0/8)
가장 많이 사용: 127.0.0.1
자기 자신을 가리키는 주소입니다. 네트워크 인터페이스를 거치지 않고 자신에게 데이터를 전송합니다.
1
2
3
4
용도:
- 로컬에서 실행 중인 서버 테스트
- 네트워크 소프트웨어 디버깅
- localhost 라는 호스트명으로도 사용
브로드캐스트 주소 (Broadcast Address)
1
2
255.255.255.255 (제한된 브로드캐스트)
네트워크주소.255 (지향 브로드캐스트, 예: 192.168.1.255)
같은 네트워크의 모든 장치에 데이터를 전송할 때 사용합니다.
1
2
192.168.1.255로 전송
→ 192.168.1.0/24 네트워크의 모든 장치가 수신
네트워크 주소
1
2
호스트 비트가 모두 0인 주소
예: 192.168.1.0 (/24 네트워크의 경우)
네트워크 자체를 나타내며, 개별 장치에 할당할 수 없습니다.
링크 로컬 주소 (Link-Local Address)
1
169.254.0.0 ~ 169.254.255.255 (169.254.0.0/16)
DHCP 서버를 찾지 못했을 때 자동으로 할당되는 주소입니다.
1
2
Windows에서 "네트워크에 연결되어 있지 않음" 상태에서
169.254.x.x 주소가 보이면 DHCP 문제를 의심
특수 주소 정리
| 주소 | 용도 |
|---|---|
| 0.0.0.0 | 모든 주소 / 기본 경로 |
| 127.0.0.1 | 루프백 (자기 자신) |
| 169.254.x.x | 링크 로컬 (DHCP 실패 시) |
| 224.0.0.0 ~ 239.255.255.255 | 멀티캐스트 |
| 255.255.255.255 | 제한된 브로드캐스트 |
IPv4의 한계와 IPv6
IPv4 주소 고갈
IPv4는 32비트 주소 체계로, 이론상 약 43억 개(2³² = 4,294,967,296)의 주소를 제공합니다.
1
2
3
4
43억 개가 부족한 이유:
- 특수 목적 주소로 예약된 주소 존재
- 클래스 기반 할당으로 인한 낭비
- 인터넷 연결 장치의 폭발적 증가 (PC, 스마트폰, IoT 등)
2011년 2월, IANA(Internet Assigned Numbers Authority)의 IPv4 주소가 공식적으로 고갈되었습니다.
IPv6의 등장
IPv4 고갈 문제를 해결하기 위해 IPv6(Internet Protocol version 6)가 개발되었습니다.
IPv6의 특징
| 항목 | IPv4 | IPv6 |
|---|---|---|
| 주소 길이 | 32비트 | 128비트 |
| 주소 개수 | 약 43억 개 | 약 340간 개 (3.4 × 10³⁸) |
| 표기법 | 점-십진 (192.168.1.1) | 콜론-16진수 (2001:db8::1) |
| 헤더 크기 | 가변 (20~60바이트) | 고정 (40바이트) |
| 브로드캐스트 | 지원 | 멀티캐스트로 대체 |
| 보안 | 선택 (IPsec) | 기본 내장 (IPsec) |
IPv6 주소 형식
IPv6 주소는 128비트로 구성되며, 8개의 그룹을 콜론(:)으로 구분합니다.
각 그룹은 16비트이고, 4자리 16진수로 표현합니다.
1
2
3
2001:0db8:0000:0000:0000:0000:0000:0001
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
16비트 16비트 16비트 16비트 16비트 16비트 16비트 16비트 = 128비트
IPv6 주소 축약 규칙
- 각 그룹의 앞에 오는 0은 생략 가능
- 연속된 0000 그룹은
::로 한 번만 축약 가능
1
2
3
원본: 2001:0db8:0000:0000:0000:0000:0000:0001
축약1: 2001:db8:0:0:0:0:0:1 (앞의 0 생략)
축약2: 2001:db8::1 (연속 0 그룹을 ::로 축약)
IPv6 주소 유형
| 유형 | 설명 | 예시 |
|---|---|---|
| 글로벌 유니캐스트 | 공인 IP와 유사, 인터넷에서 라우팅 가능 | 2001:db8::/32 |
| 링크 로컬 | 같은 링크 내에서만 유효 | fe80::/10 |
| 유니크 로컬 | 사설 IP와 유사 | fc00::/7 |
| 루프백 | 자기 자신 | ::1 |
| 멀티캐스트 | 그룹 통신 | ff00::/8 |
IPv4와 IPv6 주소 비교 예시
| 용도 | IPv4 | IPv6 |
|---|---|---|
| 루프백 | 127.0.0.1 | ::1 |
| 모든 주소 | 0.0.0.0 | :: |
| 예시 주소 | 192.0.2.1 | 2001:db8::1 |
IP 주소 할당 방식
장치에 IP 주소를 할당하는 방법에는 정적 할당과 동적 할당이 있습니다.
정적 할당 (Static IP)
관리자가 직접 IP 주소를 수동으로 설정하는 방식입니다.
1
2
3
4
5
6
7
8
장점:
- IP 주소가 변경되지 않아 서버 운영에 적합
- 네트워크 문제 추적이 용이
단점:
- 장치마다 수동 설정 필요
- IP 충돌 가능성 (실수로 중복 할당 시)
- 대규모 네트워크에서 관리 어려움
적합한 용도: 서버, 네트워크 장비, 프린터
동적 할당 (Dynamic IP) - DHCP
DHCP(Dynamic Host Configuration Protocol) 서버가 자동으로 IP 주소를 할당하는 방식입니다.
1
2
3
4
5
DHCP 동작 과정:
1. DHCP Discover: 클라이언트가 DHCP 서버 탐색 (브로드캐스트)
2. DHCP Offer: 서버가 사용 가능한 IP 제안
3. DHCP Request: 클라이언트가 제안된 IP 요청
4. DHCP Ack: 서버가 IP 할당 확정
1
2
3
4
5
6
7
8
장점:
- 자동 할당으로 관리 편리
- IP 충돌 방지
- 대규모 네트워크에 적합
단점:
- IP 주소가 변경될 수 있음
- DHCP 서버 장애 시 IP 할당 불가
적합한 용도: 일반 PC, 스마트폰, 태블릿 등 클라이언트 장치
DHCP 임대 시간
DHCP로 할당받은 IP 주소는 영구적이지 않고 임대(Lease) 개념으로 동작합니다.
1
2
3
4
임대 시간 예시:
- 가정용 공유기: 보통 24시간 ~ 7일
- 기업 네트워크: 보통 8시간 ~ 24시간
- 공용 Wi-Fi: 보통 1시간 ~ 4시간
임대 시간이 만료되기 전에 갱신을 요청하며, 갱신하지 않으면 해당 IP는 다른 장치에 할당될 수 있습니다.
마무리
IP 주소는 네트워크 통신의 기본이 되는 핵심 개념입니다.
핵심 정리
| 개념 | 설명 |
|---|---|
| IP 주소 | 네트워크에서 장치를 식별하는 논리적 주소 |
| IPv4 | 32비트, 약 43억 개 주소, 점-십진 표기 |
| IPv6 | 128비트, 거의 무한한 주소, 콜론-16진 표기 |
| 공인 IP | 인터넷에서 사용, 전 세계적으로 유일 |
| 사설 IP | 내부 네트워크용, 10.x.x.x, 172.16.x.x, 192.168.x.x |
| DHCP | 자동으로 IP 주소를 할당하는 프로토콜 |
IPv4 vs IPv6 요약
| 항목 | IPv4 | IPv6 |
|---|---|---|
| 비트 수 | 32비트 | 128비트 |
| 주소 예시 | 192.168.1.1 | 2001:db8::1 |
| 주소 개수 | 약 43억 개 | 약 340간 개 |
| 현재 상태 | 고갈됨 | 점진적 전환 중 |
관련 글