본문으로 바로가기

IPv4 vs IPv6

주소 공간의 크기 감각, NAT를 지나며 바뀌는 v4 주소와 그대로인 v6 주소, 라우터 단편화 vs 송신자 조정(PMTUD)을 레인 비교로 실행한다.

1 / 10IPv4 주소는 32비트 — 약 43억 개로 세상 모든 기기에 못 미칩니다. IPv6는 128비트 — 43억의 네제곱, 사실상 무한입니다. 이 차이가 아래의 모든 설계 차이를 만듭니다.
IPv4 — 32비트 (약 43억)
IPv6 — 128비트 (43억⁴)

표기 — IPv4: 192.0.2.7 · IPv6: 2001:db8::7

단계 목록 · 키보드 ←/→ 이동, Space 재생

IPv6는 'IPv4에 주소만 늘린 것'이 아니라, 주소가 모자라서 생긴 땜질(NAT·라우터 단편화·브로드캐스트)을 설계에서 걷어낸 프로토콜이다.

왜 헷갈리는가

"IPv6는 그냥 주소가 긴 IPv4 아닌가요?" — 주소 길이는 출발점일 뿐이다. NAT가 사라지면 종단 간 연결성이 돌아오고, 헤더가 고정되면 라우터가 빨라지고, 단편화가 송신자 책임이 되면 경로 중간의 상태가 줄어든다.

애니메이션이 보여주는 것

RFC 791(IPv4)의 32비트는 약 43억 개 — 지구 인구보다 적다. 그래서 사설 주소 + NAT로 버텨 왔다. 애니메이션의 위 레인에서 패킷 출발지가 NAT 라우터를 지나며 다시 써지는 것, 그래서 서버가 진짜 단말을 못 보는 것이 그 대가다.

RFC 8200(IPv6)의 128비트에서는 모든 단말이 전역 주소를 갖는다. 아래 레인의 패킷은 아무도 손대지 않는다. 단편화도 다르다 — IPv4는 경로 중간 라우터가 쪼개 주지만, IPv6 라우터는 ICMPv6 'Packet Too Big'을 돌려주고 송신자가 크기를 줄인다(경로 MTU 탐색).

RFC가 정의한 주요 차이

프로토콜 명세 수준에서 갈리는 지점들이다.

  • 주소: 32비트 점-십진(192.0.2.7) vs 128비트 콜론-십육진(2001:db8::7, 연속 0은 :: 축약).
  • 헤더: IPv4는 가변(20~60바이트, 옵션·체크섬 포함) vs IPv6는 고정 40바이트 8필드 — 체크섬 제거로 라우터가 홉마다 재계산하지 않는다. 옵션은 확장 헤더로 분리.
  • 단편화: IPv4는 라우터가 분할 가능 vs IPv6는 송신자만(라우터는 Too Big 반환, RFC 8201 PMTUD).
  • 브로드캐스트: IPv6에는 없다 — 멀티캐스트와 애니캐스트로 대체(ARP도 NDP의 멀티캐스트로).
  • 구성: IPv6는 SLAAC로 라우터 광고만 듣고 스스로 주소를 만든다 — DHCP 없이도 동작.

실무 감각

현실은 듀얼스택이다. 모바일 통신망과 대형 CDN은 이미 IPv6가 다수인 반면, 사내망은 IPv4+NAT가 오래 남는다. 클라우드에서는 'IPv4 공인 주소는 돈, IPv6는 무료'가 흔한 과금 구조라 아키텍처 결정에 직접 영향을 준다. NAT가 없다는 것은 방화벽이 없다는 뜻이 아니다 — v6에서도 상태 기반 필터링은 그대로 필요하다.

기억할 것

  • IPv6의 본질은 주소 확장이 아니라 NAT·중간 단편화 같은 땜질의 제거다.
  • v4는 라우터가 패킷을 쪼개고, v6는 송신자가 줄인다(Too Big + PMTUD).
  • v6 헤더는 고정 40바이트·체크섬 없음 — 라우터 처리가 단순해진다.
  • 브로드캐스트는 v6에 없다. 멀티캐스트(NDP)가 그 자리를 맡는다.
  • 현실은 듀얼스택 — 그리고 NAT 부재 ≠ 방화벽 부재.
IPv4 vs IPv6 | KIE