- Poll: How reliable are ChatGPT and Bing Chat? - Tue, May 23 2023
- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
Last time, I talked about zone IDs and unique local IPv6 unicast addresses. Today, I will introduce some special addresses. In practice, usually only the networking guys really have to deal with these addresses. But as a Windows admin, you should have at least heard of the terms.
Unspecified address
The IPv6 unspecified address is specified as "0:0:0:0:0:0:0:0" (or "::" if you have a sense for mathematical beauty). I think, this naming convention is somewhat funny. It reminds me of the "unspeakable word." But there is also some sense in this because applications use the unspecified address as a variable for, well, an unspecified address. I guess, you won't see this address often, just like you didn't have many encounters with the unspecified IPv4 address 0.0.0.0. Note that you can't assign this address to an interface, which also makes sense because then you would specify it, which is strictly forbidden. 😉
Loopback address
The IPv6 loopback address is almost as beautiful as the unspecified address: ::1. The loopback address for IPv4 127.0.0.1 is comparably ugly and, like its predecessor, is assigned to every host interface and used by applications to communicate with local services via TCP/IP. Packets addressed to the loopback interface must never leave the host.
IPv4-mapped address
Like the loopback address, IPv4-mapped addresses are only used for internal representation on a host. They allow developers to use one API for both IPv4 and IPv6 calls. The syntax of IPv4-mapped addresses looks like this: ::FFFF:w.x.y.z, where "w.x.y.z" is the IPv4 address that is represented in the IPv6 address.
6to4 addresses
6to4 is a tunneling technique that allows two IPv6 cable systems to communicate over an IPv4 network (usually the Internet). For this, at least one of the IPv6 systems needs an IPv4 address and a special IPv6 address, the so-called 6to4 address. A computer that has a 6to4 address is called "6to4 host." This transition technology will mostly likely be used by computers in IPv4 networks to reach IPv6-only hosts. Essentially, the 6to4 address makes the 6to4 host appear on the "IPv6 landscape" even if it is not directly reachable through IPv6 by encapsulating IPv6 packets in IPv4 packets. The IPv4 packets are converted to IPv6 packets and vice versa by a 6to4 gateway. 6to4 addresses have the prefix 2002::/16. The next 32 bits are the IPv4 address of the 6to4 host converted into hex. Since a 6to4 address can only be created by using a unique public IPv4 address, the correspondingIPv6 address is also unique. The last 80 bits are for the local network and the host.
IPv6 multicast addresses
Like in IPv4, IPv6 multicast addresses are used to send the same data to multiple hosts simultaneously. Since multicast-capable software, such as OS imaging tools, typically do all the IP configuration, Windows admins usually are not bothered with the networking details. But if you ever stumble across an IPv6 address that begins with FF, you know what you are dealing with.
Subscribe to 4sysops newsletter!
Solicited-node address
A special type of multicast address are the solicited-node addresses, which have the prefix FF02::1:FF00:0/104. Solicited-node addresses are used for neighbor discovery, which I already discussed in my article about the new IPv6 features. If a host needs to know the MAC address that belongs to a certain IP address, it won't use an ARP broadcast like in IPv4. Instead, it would use multicast to contact only those hosts that listen to the solicited-node addresses where the last 24 bits are identical to the ones in the IP address that has to be resolved.
Addendum to the “Unspecified address”: This address can be used by a newly initialized host as source address until it gets an IPv6 address. It is not allowed to use this address in the destination field.
Yeah, I guess that is a better explanation for “unspecified address”.
You are a great teacher. Thank you.
Thanks!
very useful material…. Thank a lot..
You should add an explanation of a teredo address here ( 2001::/32). I’m confused about 6to4 and ipv4 mapped addresses. How would I ping my ipv4 address using an ipv6 address?
It has been a while since I played with IPv6, but if I remember it right 6to4 is just a way to encapsulate IPv6 packets into IPv4 packets, so IPv6 can be sent through the internet (IPv4). You cannot “ping an IPv4 address using an IPv6 address.” Both source and destination use IPv6 and the encapsulation and decapsulation happens somewhere in between. If both source and destination are able to do the encapsulation/decapsulation by themselves, you could ping using IPv6 even if the network in between the two machines only understands IPv4. In that case, both hosts need an IPv4 and an IPv6 address and you could use both protocols to ping. The protocol that is used depends on the IP address you use.
You show the IPv4-mapped structure as “:FFFF:w.x.y.z”, but I think that’s missing a colon and should be “::FFFF:w.x.y.z”.
Adam, thanks for the hint! I corrected the error.