본문으로 건너뛰기
ipaddress.si

IPv6 쉽게 이해하기

16진수로 쓰는 128비트. 앞으로 연결될 모든 기기를 담을 만큼 넓습니다. 읽는 법을 알아봅니다.

IPv6 주소 조회

IPv6가 생긴 이유

IPv6(RFC 8200)는 IPv4의 43억 개 주소가 바닥날 것이 분명해진 1990년대에 설계되었습니다. IPv6 주소는 128비트, 즉 2¹²⁸(약 3.4 × 10³⁸)개의 주소를 제공합니다. 중요한 것은 숫자의 크기가 아니라, 모든 네트워크가 필요한 만큼 주소 공간을 얻고 모든 기기가 다시 전 세계에서 도달 가능한 주소를 가질 수 있다는 점입니다. NAT가 필요 없습니다.

IPv6는 IPv4의 업그레이드가 아니며, 두 프로토콜은 나란히 동작합니다(듀얼 스택). 오늘날 주요 서비스로 가는 트래픽 중 크고 계속 늘어나는 비중이 IPv6를 쓰며, 특히 모바일 네트워크에서 두드러집니다.

표기법: 16진수 그룹

IPv6 주소는 16진수 네 자리씩 여덟 그룹을 콜론으로 구분해 씁니다.

2001:0db8:0000:0000:0000:ff00:0042:8329

한 그룹은 16비트입니다. 16진수 숫자는 0–9와 a–f이며, 대소문자를 구분하지 않지만 관례상 소문자로 씁니다.

축약 규칙

긴 0의 연속이 흔하기 때문에 축약 규칙이 두 가지 있고(RFC 4291), RFC 5952가 이를 적용하는 유일하게 올바른 방법을 정합니다.

  1. 각 그룹의 앞자리 0을 뺍니다: 0db8 → db8, 0042 → 42, 0000 → 0.
  2. 연속된 0 그룹 한 구간을 ::로 바꿉니다. 가장 긴 구간을, 길이가 같으면 첫 번째 구간을, 그리고 두 그룹 이상일 때만 바꿉니다. ::는 한 번만 쓸 수 있습니다. 여러 번 쓰면 주소가 모호해지기 때문입니다.

그래서 2001:0db8:0000:0000:0000:ff00:0042:8329는 2001:db8::ff00:42:8329가 됩니다. 루프백 주소 0:0:0:0:0:0:0:1은 ::1, 미지정 주소는 그냥 ::입니다.

아래 탐색기에서 아무 주소나 넣어 보세요. 전체 표기와 표준 표기를 나란히 보여 줍니다.

전체 표기

2001
라우팅
0db8
라우팅
0000
라우팅
0000
서브넷
0000
인터페이스
ff00
인터페이스
0042
인터페이스
8329
인터페이스

축약 표기

2001:db8::ff00:42:8329

범위: 특수 목적 · Documentation (2001:db8::/32)

프리픽스와 /64

IPv6도 IPv4처럼 CIDR 표기법을 씁니다. 일반적인 글로벌 유니캐스트 주소는 다음과 같이 나뉩니다.

  • 라우팅 프리픽스(보통 /48 또는 /56) — 통신사가 사이트에 할당합니다.
  • 서브넷 ID — /64까지의 비트로, 사이트 안의 네트워크에 번호를 매깁니다. /48 하나에 서브넷 65,536개가 들어갑니다.
  • 인터페이스 식별자(하위 64비트) — 네트워크에서 기기를 식별합니다.

LAN 하나는 거의 언제나 /64입니다. 상태 비저장 주소 자동 설정(SLAAC)이 이를 전제로 하기 때문입니다. 기기는 인터페이스 식별자를 스스로 정하며, 요즘은 개인정보 보호를 위해 무작위로 만들고(RFC 8981) 주기적으로 바꿉니다.

자주 만나는 주소 종류

  • 글로벌 유니캐스트 2000::/3 — 공개된 라우팅 가능 주소.
  • 링크 로컬 fe80::/10 — 모든 IPv6 인터페이스가 하나씩 가지며, 같은 링크 안에서만 유효합니다. 이웃 탐색과 라우팅 프로토콜에 쓰입니다.
  • 고유 로컬 fc00::/7(실제로는 fd00::/8) — 사설 주소에 해당하는 IPv6 주소(RFC 4193).
  • 멀티캐스트 ff00::/8 — IPv6에는 브로드캐스트가 없고 멀티캐스트 그룹이 그 역할을 대신합니다.
  • 루프백 ::1과 미지정 ::.
  • IPv4 매핑 ::ffff:0:0/96 — IPv6 소프트웨어가 IPv4 상대를 나타내는 방식. 예: ::ffff:192.0.2.1.
  • 문서용 2001:db8::/32와 3fff::/20 — 이 페이지처럼 예시를 들 때 쓰는 주소.

특수 용도 IPv6 블록

예약된 IPv6 블록의 전체 목록입니다. 이 사이트의 분류기가 사용하는 IANA 레지스트리에서 생성했습니다.

블록용도참고 문서전역 도달 가능
::/128Unspecified AddressRFC 4291아니요
::1/128Loopback AddressRFC 4291아니요
::ffff:0:0/96IPv4-mapped AddressRFC 4291아니요
64:ff9b::/96IPv4-IPv6 Translation (NAT64)RFC 6052예
64:ff9b:1::/48Local-use IPv4/IPv6 TranslationRFC 8215아니요
100::/64Discard-Only Address BlockRFC 6666아니요
2001::/32TEREDORFC 4380아니요
2001:2::/48BenchmarkingRFC 5180아니요
2001:db8::/32DocumentationRFC 3849아니요
2001:10::/28Deprecated (ORCHID)RFC 4843아니요
2001:20::/28ORCHIDv2RFC 7343예
2002::/166to4RFC 3056아니요
3fff::/20DocumentationRFC 9637아니요
5f00::/16Segment Routing (SRv6) SIDsRFC 9602아니요
fc00::/7Unique-LocalRFC 4193아니요
fe80::/10Link-Local UnicastRFC 4291아니요
ff00::/8MulticastRFC 4291아니요

듀얼 스택, 그리고 이 사이트가 두 주소를 감지하는 방법

브라우저는 한 번에 한 가지 주소 체계로만 연결합니다. 둘 다 쓸 수 있으면 보통 IPv6를 우선합니다(Happy Eyeballs, RFC 8305). 두 주소를 모두 보여 주기 위해 ipaddress.si는 브라우저에서 호스트 이름 두 개에 추가로 접속합니다. 하나는 IPv4(A) 레코드만, 다른 하나는 IPv6(AAAA) 레코드만 가진 이름입니다. 각각이 본 주소가 해당 체계에서의 내 주소입니다. IPv6 요청이 실패하면 연결에 작동하는 IPv6가 없다는 뜻입니다.

자주 묻는 질문

IPv6를 쓰고 있는지 어떻게 알 수 있나요?
이 사이트의 홈페이지를 열어 보세요. 기본 주소나 IPv6 줄에 IPv6 주소가 보이면 연결이 IPv6를 지원하는 것입니다.
IPv6가 IPv4보다 빠른가요?
본질적으로 빠르지는 않지만 빠를 수는 있습니다. IPv6 트래픽은 통신사급 NAT를 거치지 않는 경우가 많아 중간 단계와 상태 기반 병목이 하나 줄어듭니다.
IPv6에서도 방화벽이 필요한가요?
네. NAT가 없으면 기기가 전 세계에서 라우팅 가능한 주소를 갖게 됩니다. 요청하지 않은 수신 트래픽을 막는 상태 기반 방화벽이 NAT가 암묵적으로 해 주던 보호를 대신합니다.
IPv6 주소가 자꾸 바뀌는 이유는?
개인정보 보호 확장(RFC 8981)이 임시 인터페이스 식별자를 만들어 주기적으로 바꾸기 때문에, 여러 네트워크에 걸쳐 기기를 추적하기 어려워집니다. /64 프리픽스는 보통 그대로입니다.