IPv6 for people who already know IPv4
The six differences that actually change how you troubleshoot — no NAT, several addresses per device, /64 everywhere, and why blocking ICMP breaks it.
Updated 2026年9月25日3 min read
Shown in English
Before you run anything
If you are comfortable with IPv4, most of IPv6 will feel familiar: addresses, prefixes, routes, DNS. What follows are the differences that actually change how you work, and the ones that most often explain “it works on IPv4 but not on IPv6”.
1. The addresses are long, and there is a shorthand
An IPv6 address is 128 bits, written as eight groups of four hexadecimal digits. Leading zeros in a group can be dropped, and one run of all-zero groups can be replaced by :::
2001:0db8:0000:0000:0000:0000:0000:0001
2001:db8::1
:: may appear only once, or it would be ambiguous. The IPv6 calculator converts between the two forms and splits any address into its parts.
2. There is usually no NAT
IPv4 ran out of addresses, so home networks hide behind one public address. IPv6 has enough for every device to have its own globally routable one. That changes two things:
- The address a website sees for you is your device’s own, not your router’s.
- NAT used to block unsolicited inbound connections as a side effect. Under IPv6 that job belongs to the router’s firewall, which must be doing it deliberately. Almost every consumer router does, by default — but it is worth knowing that is what is protecting you.
3. Every device has several addresses
It is normal for one interface to hold:
- a link-local address starting
fe80::, used only on the local network and always present; - one or more global addresses, reachable from the internet;
- temporary addresses that change regularly and are used for outgoing connections, so websites cannot follow one device over time.
Seeing four or five IPv6 addresses on one machine is not a misconfiguration.
4. /64 is the size of a network
Every LAN is a /64. That is not a recommendation: automatic address configuration (SLAAC) needs a 64-bit interface ID and does not work on anything smaller. Providers hand homes a larger block — commonly a /56 or /48 — so the router can carve it into many /64s.
This makes the maths easier than IPv4, not harder. You stop counting hosts and start counting networks.
5. ARP is gone, and ICMPv6 is not optional
IPv6 finds neighbours and routers with Neighbor Discovery, which runs over ICMPv6. It also relies on ICMPv6 to learn that a path needs smaller packets.
So the old habit of blocking all ICMP breaks IPv6 outright, not just ping. If IPv6 connects to some sites and hangs on others, a firewall dropping ICMPv6 “packet too big” messages is one of the first things to rule out.
6. Browsers try both, and hide the evidence
When a site has both an IPv4 and an IPv6 address, browsers try IPv6 and fall back to IPv4 within a fraction of a second if it does not answer. That makes a broken IPv6 path easy to miss — pages still load, perhaps a little slowly. The IPv4 / IPv6 test checks each separately, so you can see whether IPv6 genuinely works rather than whether the browser coped.
The commands, with -6
| Task | macOS | Linux | Windows |
|---|---|---|---|
| Addresses | ifconfig | grep inet6 |
ip -6 addr |
ipconfig |
| Routes | netstat -rn -f inet6 |
ip -6 route |
route print -6 |
| Ping | ping6 example.com |
ping -6 example.com |
ping -6 example.com |
| Trace a path | traceroute6 example.com |
traceroute -6 example.com |
tracert -6 example.com |
If ping -6 to a well-known host fails while the IPv4 ping succeeds, you do not have working IPv6 on that network, whatever the address list says.