본문으로 건너뛰기
MyIPKit— 내 네트워크를 이해하다.

IPv4를 아는 사람을 위한 IPv6

문제 해결 방식을 실제로 바꾸는 여섯 가지 차이 — NAT가 없고, 기기마다 주소가 여럿이고, 어디서나 /64이며, ICMP를 막으면 왜 망가지는지.

2026. 9. 25. 수정2분 분량

Warning:

실행하기 전에

이 문서들은 참고 자료이지, 특정 네트워크에 대한 지시가 아닙니다. 본인이 소유했거나 점검 권한을 명시적으로 받은 네트워크에서만 실행하세요. 많은 나라에서 권한 없는 네트워크를 탐색하는 행위는 의도와 무관하게 범죄입니다. 여기의 모든 내용은 어떠한 보증도 없이 제공되며, 무엇을 실행할지와 그 결과에 대한 책임은 실행하는 사람에게 있습니다.

IPv4에 익숙하다면 IPv6 대부분은 낯익게 느껴질 겁니다. 주소, 프리픽스, 라우트, DNS. 아래는 실제로 일하는 방식을 바꾸는 차이점들, 그리고 “IPv4로는 되는데 IPv6로는 안 된다”를 가장 자주 설명해주는 것들입니다.

1. 주소가 길고, 줄여 쓰는 법이 있다

IPv6 주소는 128비트이고, 16진수 네 자리씩 여덟 묶음으로 씁니다. 각 묶음 앞의 0은 생략할 수 있고, 0으로만 된 구간 하나는 ::로 줄일 수 있습니다.

2001:0db8:0000:0000:0000:0000:0000:0001
2001:db8::1

::는 한 번만 쓸 수 있습니다. 두 번 쓰면 모호해지기 때문입니다. IPv6 계산기가 두 형태를 서로 바꿔주고 어떤 주소든 부분별로 나눠 보여줍니다.

2. 보통 NAT가 없다

IPv4는 주소가 바닥나서 가정용 네트워크가 공인 주소 하나 뒤에 숨습니다. IPv6는 모든 기기가 전 세계에서 라우팅되는 자기 주소를 가질 만큼 넉넉합니다. 그래서 두 가지가 달라집니다.

  • 웹사이트가 보는 내 주소는 공유기가 아니라 내 기기 자신의 주소입니다.
  • NAT는 부수 효과로 원치 않는 외부 연결을 막아줬습니다. IPv6에서는 그 역할을 공유기의 방화벽이 의도적으로 해야 합니다. 거의 모든 가정용 공유기가 기본으로 그렇게 합니다. 다만 나를 지켜주는 게 그것이라는 사실은 알아둘 가치가 있습니다.

3. 기기마다 주소가 여럿이다

인터페이스 하나가 다음을 동시에 갖는 게 정상입니다.

  • fe80::로 시작하는 링크 로컬 주소. 로컬 네트워크에서만 쓰이고 항상 있습니다.
  • 인터넷에서 닿을 수 있는 글로벌 주소 하나 이상.
  • 주기적으로 바뀌며 나가는 연결에 쓰이는 임시 주소. 웹사이트가 한 기기를 오래 추적하지 못하게 해줍니다.

기기 하나에 IPv6 주소가 네다섯 개 보이는 건 설정 오류가 아닙니다.

4. 네트워크 하나의 크기는 /64

모든 LAN은 /64입니다. 권장 사항이 아닙니다. 자동 주소 구성(SLAAC)은 64비트 인터페이스 ID가 필요하고, 그보다 작은 네트워크에서는 동작하지 않습니다. 사업자는 가정에 더 큰 블록을 줍니다. 흔히 /56이나 /48이고, 공유기가 이를 여러 개의 /64로 나눕니다.

그래서 계산은 IPv4보다 어려워지는 게 아니라 쉬워집니다. 호스트 수를 세는 대신 네트워크 수를 세면 됩니다.

5. ARP가 없고, ICMPv6는 선택이 아니다

IPv6는 이웃과 라우터를 Neighbor Discovery로 찾고, 이것은 ICMPv6 위에서 동작합니다. 경로가 더 작은 패킷을 요구한다는 것도 ICMPv6로 알아냅니다.

그래서 ICMP를 전부 막던 옛 습관은 ping만이 아니라 IPv6 자체를 망가뜨립니다. IPv6가 어떤 사이트에는 붙고 어떤 사이트에서는 멈춘다면, 방화벽이 ICMPv6 “packet too big” 메시지를 버리고 있는지부터 확인하세요.

6. 브라우저가 둘 다 시도하면서 증거를 가린다

사이트에 IPv4와 IPv6 주소가 모두 있으면, 브라우저는 IPv6를 먼저 시도하고 응답이 없으면 순식간에 IPv4로 넘어갑니다. 그래서 고장 난 IPv6 경로를 놓치기 쉽습니다. 페이지는 여전히 뜨니까요. 조금 느릴 뿐. IPv4 / IPv6 테스트는 둘을 따로 확인하므로, 브라우저가 버텨준 건지 IPv6가 진짜 되는 건지 구분할 수 있습니다.

명령어, -6 붙여서

작업 macOS Linux Windows
주소 보기 ifconfig | grep inet6 ip -6 addr ipconfig
라우트 보기 netstat -rn -f inet6 ip -6 route route print -6
ping ping6 example.com ping -6 example.com ping -6 example.com
경로 추적 traceroute6 example.com traceroute -6 example.com tracert -6 example.com

잘 알려진 호스트에 대한 ping -6은 실패하는데 IPv4 ping은 성공한다면, 주소 목록에 뭐가 떠 있든 그 네트워크에는 작동하는 IPv6가 없는 것입니다.

가이드 전체