"IP 주소면 다 같은 거 아닌가?"에서 출발하지만, 클라우드 콘솔에서 2001:db8::1 같은 콜론 범벅 주소를 보면 막막해집니다. IPv4와 IPv6의 차이는 결국 주소가 몇 개나 가능하냐 한 가지에서 거의 다 파생됩니다.
핵심 차이: 주소 공간
IPv4는 주소가 32비트라 약 43억 개뿐입니다. 인터넷에 연결되는 기기가 폭증하면서 이 주소는 사실상 고갈됐고, 그래서 NAT(사설 주소를 공인 주소 하나로 묶기) 같은 우회책이 보편화됐습니다. IPv6은 주소가 128비트라 사실상 무한에 가까워, 모든 기기가 공인 주소를 직접 가질 수 있고 NAT가 필요 없어집니다.
| 구분 | IPv4 | IPv6 |
|---|---|---|
| 주소 길이 | 32비트 (약 43억) | 128비트 (사실상 무한) |
| 표기법 | 192.168.0.1 (10진·점) | 2001:db8::1 (16진·콜론) |
| 주소 고갈 | 고갈됨 → NAT 의존 | 여유 충분 |
| NAT | 사실상 필수 | 원칙적으로 불필요 |
| 자동 설정 | DHCP 중심 | SLAAC 자체 구성 |
왜 IPv6이 필요한가
IPv4의 NAT는 주소를 아껴 주지만, 외부에서 내부 기기로 직접 연결하기 어렵게 만들고 네트워크 구조를 복잡하게 합니다. IPv6은 주소가 넉넉해 각 기기가 직접 도달 가능한 주소를 가지므로 구조가 단순해집니다. 표기법도 바뀌어 익숙해질 필요가 있습니다. 2001:db8:0:0:0:0:0:1처럼 연속된 0 묶음은 ::로 한 번 줄일 수 있어 2001:db8::1이 됩니다.
당장 IPv4가 사라지지는 않습니다. 현실의 많은 시스템은 IPv4와 IPv6을 함께 쓰는 듀얼 스택으로 운영되며, 둘 사이를 점진적으로 옮겨 가는 중입니다.
직접 확인하기
내 시스템의 IPv6 주소는 ip 명령에 -6을 붙여 봅니다.
ip -6 addr show # IPv6 주소 목록
ip -4 addr show # IPv4 주소 목록
ping6 ::1 # IPv6 루프백 확인
inet6 ::1/128 scope host
inet6 fe80::a00:27ff:fe12:3456/64 scope link
inet6 2001:db8::1/64 scope global
::1은 IPv6 루프백(IPv4의 127.0.0.1에 해당), fe80::로 시작하는 주소는 같은 링크 안에서만 쓰는 링크-로컬 주소입니다. scope global이 붙은 주소가 외부와 통신 가능한 주소입니다.
요점 정리
- 차이의 본질은 주소 공간 — NAT·표기법·자동 설정이 여기서 파생됩니다.
- IPv4 = 32비트·고갈·NAT 의존, IPv6 = 128비트·여유·NAT 불필요.
::는 연속된 0 묶음을 줄인 표기,fe80::는 링크-로컬 주소.- 현실은 듀얼 스택 —
ip -6 addr로 내 IPv6 주소를 직접 확인하세요.
IPv4·IPv6 주소 체계와 서브넷을 직접 다뤄 보는 실습은 네트워크 트랙에서 회원가입 없이 무료로 익힐 수 있습니다.