Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is it possible for an IPv4-compatible IPv6 device to have only one IPv6 address?

For example, when device-A talks to an IPv4 device, device-A communicates using its IPv4 address Later, when device-A talks to an IPv6 device, can it use its IPv6 address ::

Or must all IPv4-compatible IPv6 device have two IPv6 addresses?

share|improve this question
Why are you saying it must have two IPv6 addresses? In your example what will be the two addresses? –  criziot Jul 13 '12 at 1:42
@criziot Since device-A can't talk to IPv6 devices using his address :: (reserved IPv6 address), he needs to use another IPv6 address to talk to IPv6 devices right? –  Pacerier Jul 13 '12 at 2:08
Ok. I got it. But as @Sander Steffann said, :: isn't used anymore. You usually have an autoconfigured IPv6 for link local and eventually a global address if you have an IPv6 capable router. But none of those are related with the IPv4 address you may have. –  criziot Jul 13 '12 at 6:25
@criziot So before automatic tunneling was deprecated, each IPv4-compatible IPv6 device has 1 IPv4 address + 2 IPv6 addresses = 3 address per device? –  Pacerier Jul 13 '12 at 6:35
Yes. You allays need a link local address, and if you want to communicate with a machine in other network you will need a global address since link local addresses are only valid within the link. So 2 IPv6 plus the IPv4. –  criziot Jul 13 '12 at 12:32

1 Answer 1

up vote 2 down vote accepted

:: is not a valid address to use. It was once intended for automatic tunnelling (see the old RFC 3513) but these days it is not used anymore (they became obsolete in RFC 4291).

There is another IPv6 address format called IPv4-mapped IPv6 addresses. The look like ::ffff: and they are used in IPv6 software that runs on an IPv4 compatible host. For example: Linux supports IPv4 connections on IPv6 sockets. So if a server is written to use IPv6 it can still accept incoming connections over IPv4. Because the server software expects IPv6 addresses the IPv4 addresses are represented as IPv4-mapped IPv6 addresses. That doesn't mean that you are communicating with IPv6 though. It means that IPv6 compatible software is communicating with IPv4.

To answer your question: If you want to communicate dual-stack (with both IPv4 and IPv6) then you need at least two addresses: one IPv4 address and one IPv6 address. Both need to be routed on the internet. The IPv6 addresses currently in use on the Internet come from the 2000::/3 prefix (everything starting with 2000: to 3fff:) so you'll need those.

share|improve this answer
Before automatic tunneling was deprecated, how many IPv6 addresses does a IPv4-compatible IPv6 device have? –  Pacerier Jul 13 '12 at 0:01
The amount of IPv4 and IPv6 addresses depends on how the device is configured. A common configuration is one IPv4 address, a link-local IPv6 address and an auto-configured global IPv6 address based on the MAC address of the network adapter. Another common configuration is one IPv4 address, a link-local IPv6 address, an auto-configured global IPv6 address based on the MAC address of the network adapter and multiple auto-configured global IPv6 addresses based on the IPv6 privacy extensions. –  Sander Steffann Jul 13 '12 at 9:16
Ic, just to confirm, before automatic tunneling was deprecated, is it valid for a device to use the address :: as its global IPv6 address? –  Pacerier Jul 13 '12 at 10:14
Yes, see (now obsolete) RFC 2893 –  Sander Steffann Jul 14 '12 at 12:49
Ic, so you are disagreeing with criziot superuser.com/questions/448267/…? He said IPv4 compatible IPv6 address has minimum of 2 IPv6 addresses, but actually it is valid for a IPv4 compatible IPv6 address device to have only one IPv6 address? –  Pacerier Jul 15 '12 at 17:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.