This post is the continuation of my crash course on IPv6. You might want to check out part 1 here before continuing.
Auto-Configuration, Local Addresses and Router Advertisements
IPv6 has auto-configuration functionality built that doesn't require a configuration server in the network as in IPv4. When the stack is started, the first thing it does is generate a local IP address that starts with fe80 as described above. Marc Blanchet describes how the 64 bit host part of the IP address are generated from the 48 bit MAC address of the adapter or a random number. I couldn't observe that on my Windows Vista machine, however, they might go for the random number and not the MAC address.
Another new functionality in IPv6 are router advertisements. This way, devices in the network automatically learn of routers in the network and which other networks can be reached via them. A router can also define itself as a default gateway. If a node finds a default gateway it will send all packets not destined for the local network to the default gateway router.
As link local addresses can't be used to communicate with hosts outside the local network, routers also advertise the information required for a host to automatically configure a global IP address that can be used to communicate with hosts on the other side of this router. As a consequence, interfaces of a host configured for IPv6 usually have at least two IP addresses: A link local address and a a global unicast address. This is different to IPv4 where each interface usually has only one IP address. A side note: While a single IP address per interface is the default in IPv4 it's still possible to configure several IP addresses on an interface with different subnet masks and gateways. This, however it the exception rather than the norm.
Since subnets have 2^64 addressable hosts, routing on layer 3 in branch networks such as companies is no longer necessary. In practice, however, some logical and physical separation on layer 3 might be desired. For this, local IP addresses can be on-net and off-net. In case a local address is off-net a node sends packets to a bridge device.
One thing that is not auto-configured is the DNS (Domain Name System) server's IP address. This server is required to translate a domain name (e.g. www.wirelessmoves.com) into an IP address. That's a pity because in practice this means that auto-configuration is incomplete and the DNS server's IP address has to be acquired by some other means, typically via DHCP. More on that in the next post.
There we go, this is the end of part 2, more coming up in the next post.