유형별 한눈에 비교
| 유형 | 프리픽스 | 도달 범위 | 근거 |
|---|---|---|---|
| 글로벌 유니캐스트 | 2000::/3 (2000:: ~ 3fff:...) | 인터넷 전체 | IANA 주소 공간 등록부(RFC 4291 참조) |
| 링크 로컬 | fe80::/10 | 같은 링크 안 | RFC 4291 |
| 유니크 로컬(ULA) | fc00::/7 (실제 사용은 L=1인 fd00::/8) | 조직·사이트 내부 | RFC 4193 |
| 멀티캐스트 | ff00::/8 | 범위 값(scop)에 따라 다름 | RFC 4291 |
| 루프백 / 비명시 | ::1/128 / ::/128 | 자기 자신 / 주소 미정 | RFC 4291 |
참고로 RFC 4291 본문은 위 예약 프리픽스에 해당하지 않는 주소를 글로벌 유니캐스트로 취급한다고 규정하고, 실제로 IANA가 배정하는 범위는 2000::/3으로 제한되어 있다고 IANA 등록부가 설명합니다. 그래서 일상에서 보는 공인 IPv6 주소는 대부분 2 또는 3으로 시작합니다.
주소 읽고 줄이는 법
RFC 4291의 표기 규칙은 두 가지입니다. 각 16비트 그룹의 앞자리 0은 생략할 수 있고, 0만 이어진 그룹들은 "::"로 한 번만 줄일 수 있습니다. "::"를 두 번 쓰면 몇 개씩 줄였는지 알 수 없으므로 올바른 주소가 아닙니다. 아래 값은 node로 검산했습니다.
| 전체 표기(설명용 예시) | 축약 표기 |
|---|---|
| 2001:0db8:0000:0000:0000:ff00:0042:8329 | 2001:db8::ff00:42:8329 |
| fe80:0000:0000:0000:0202:b3ff:fe1e:8329 | fe80::202:b3ff:fe1e:8329 |
| 0000:0000:0000:0000:0000:0000:0000:0001 | ::1 |
| 2001::db8::1 (잘못된 표기) | "::"를 두 번 사용해 무효 |
또 하나, 멀티캐스트 중에는 이웃 탐색에 쓰이는 "솔리싯티드 노드(solicited-node)" 주소가 있습니다. RFC 4291에 따라 유니캐스트 주소의 하위 24비트를 ff02::1:ffXX:XXXX 꼴의 XX:XXXX 자리에 넣어 만들므로, 앞의 첫 예시 주소(2001:db8::ff00:42:8329)에 대응하는 값은 ff02::1:ff42:8329입니다.
주소가 실제로 쓰이는 장면
장면 1. 한 기기에 주소가 여러 개 보이는 이유
네트워크 설정에서 IPv6를 확인하면 fe80::으로 시작하는 주소와 2로 시작하는 주소가 함께 나오는 경우가 많습니다. fe80::/10의 링크 로컬 주소는 같은 링크의 이웃과 라우터를 찾는 기초 통신용이고, 2000::/3의 글로벌 유니캐스트는 인터넷 접속용입니다. 여기에 내부 전용으로 fd로 시작하는 유니크 로컬 주소가 더해지는 환경도 있습니다. 용도가 다른 주소를 동시에 갖는 것은 IPv6가 의도한 설계입니다.
장면 2. 두 사설망을 합칠 때의 주소 충돌
IPv4 사설 대역(192.168.x.x 등)은 많은 곳이 같은 값을 쓰기 때문에, 서로 다른 회사의 네트워크를 VPN으로 합칠 때 주소가 겹쳐 곤란한 일이 흔합니다. RFC 4193은 이 문제를 줄이려고 유니크 로컬 주소에 의사 난수 40비트 Global ID를 넣도록 하고, 두 Global ID가 충돌할 확률을 약 1.81×10⁻¹²로 추산합니다. 다만 이는 관리자가 권장 방식대로 무작위로 만든다는 전제의 계산입니다. 쉬운 값(예: fd00::/48)을 임의로 고르면 이 이점이 사라집니다.
가상 예시. 홈 네트워크의 주소 구성 (실제 사건이 아님)
가상의 가정에서 노트북이 fe80::202:b3ff:fe1e:8329(공유기와 통신용), 통신사가 준 접두사에서 받은 2001:db8:... 형태의 글로벌 주소(바깥 인터넷용), 집안 프린터와 통신하는 fd 계열 주소를 함께 가질 수 있습니다. 외부 서버에는 글로벌 주소로 접속하고, 프린터에는 내부 주소로 접속하므로 인터넷 쪽 설정이 바뀌어도 프린터 주소는 유지됩니다. 주소 값은 설명용 예시입니다.
애니캐스트는 어디에 있나
RFC 4291은 애니캐스트를 별도 프리픽스가 아니라 "여러 노드에 같은 유니캐스트 주소를 부여한 것"으로 다룹니다. 가장 가까운(라우팅 기준) 노드 하나에 전달되며, 각 서브넷에서 서브넷 프리픽스에 인터페이스 ID가 모두 0인 서브넷 라우터 애니캐스트 주소를 라우터가 지원해야 합니다. 그래서 주소만 보고는 애니캐스트인지 구별하기 어렵고, 설정으로 정해진다는 점이 유니캐스트·멀티캐스트와 다릅니다.
흔한 오해와 정정
- 오해: IPv6에는 사설 주소가 없다. 실제: RFC 4193의 유니크 로컬 주소가 사설 주소와 비슷한 역할을 합니다. 다만 IPv4처럼 NAT가 전제된 것은 아닙니다.
- 오해: 링크 로컬 주소는 공유기를 통해 인터넷에 나간다. 실제: 라우터는 링크 로컬 주소로 보낸 패킷을 다른 링크로 넘기지 않습니다.
- 오해: IPv6에도 브로드캐스트가 있다. 실제: RFC 4291은 브로드캐스트 주소가 없고 멀티캐스트가 그 역할을 맡는다고 밝힙니다.
- 오해: 유니크 로컬 주소를 쓰면 외부 공격이 자동으로 차단된다. 실제: 주소 유형은 라우팅 의도를 나타낼 뿐이며 실제 차단은 방화벽 설정이 맡습니다.
한계와 더 알아볼 점
이 글은 주소 유형의 기본 구조를 다룹니다. 주소 자동 설정 방식(SLAAC, DHCPv6)이나 임시 주소를 통한 개인정보 보호처럼 주소를 어떻게 정하는가는 별도 문서의 영역이라 여기서는 다루지 않았습니다. 또 위 프리픽스는 대표적인 용도 구분이며, 문서용·특수 목적 대역이 따로 더 있습니다. 전체 목록은 IANA의 IPv6 특수 목적 주소 등록부에서 확인할 수 있습니다.
자주 묻는 질문
IPv6에서는 사설 IP를 안 써도 되나요?
주소 공간이 넉넉해 NAT 없이 글로벌 유니캐스트 주소를 바로 쓸 수 있지만, 인터넷으로 노출하고 싶지 않은 내부 전용 통신을 위해 유니크로컬 주소(ULA)를 여전히 활용할 수 있습니다. 다만 IPv4의 사설 IP처럼 필수적인 요소는 아닙니다.
링크로컬 주소로 인터넷에 접속할 수 있나요?
아니요, 링크로컬 주소는 같은 네트워크 구간 안에서만 유효하고 라우터를 넘어가지 않도록 설계되어 있어 인터넷 통신에는 쓰이지 않습니다. 인터넷 접속에는 글로벌 유니캐스트 주소가 사용됩니다.
주소의 "::"는 아무 곳에나 써도 되나요?
연속된 0 그룹을 줄이는 용도로 주소 하나에 한 번만 쓸 수 있습니다. 두 번 쓰면 각각 몇 그룹인지 알 수 없어 무효입니다. 앞자리 0 생략과는 별개의 규칙입니다.
fd로 시작하는 주소와 fc로 시작하는 주소는 뭐가 다른가요?
RFC 4193은 fc00::/7 안에서 L 비트가 1인 경우(fd00::/8)를 로컬에서 할당한 주소로 정의하고, L 비트가 0인 경우는 장차 정의될 수 있다며 현재는 비워 둡니다. 그래서 지금 실제로 쓰이는 유니크 로컬 주소는 fd로 시작합니다.
도메인에 IPv6 주소는 어떻게 연결하나요?
IPv6 주소는 DNS의 AAAA 레코드로 등록합니다. 자세한 레코드 종류는 아래 DNS 가이드를 참고하세요.