Once you have acquired yourself an globally valid IPv6 prefix, you may need to configure addresses on your hosts. By default computers will attempt to find themselves an IPv6 address automatically by using the processes of NDP or DHCPv6.

[*] If the router interface in question is not facing your LAN (where the client computers are), you may want to put ipv6 nd suppress-ra under the interface configuration. This will disable router advertisements on that interface.

[**] Use this if you want the router to provide other IPv6 configurations to your computers, for example IPv6 DNS addresses. If you do this, you must also set up a service such as ipv6 dhcp pool that will give out these settings.

Vyatta router

By default Vyatta has IPv6 forwarding on so you can just address your interfaces and write your routes.

[*] Turn router-advert on if this interface is serving as IPv6 gateway to computers in your LAN. If this interface is facing only another router(s) you might want to leave it out.

[**] Use this if you want the router to provide other IPv6 configurations to your computers, for example IPv6 DNS addresses. If you do this, you must also set up a service such as DHCPv6 that will give out these settings.

In today’s story we are attached to a local area network (LAN) with a bunch of IPv6-enabled hosts. We do not necessarily need to have a valid IPv6 router present, since we are just fooling around in this local segment, pinging each other and testing connections.

IPv6 is a protocol meant serve a worldwide network and it’s numerous hosts. There are however addresses called link-local in each IPv6-enabled host. This link-local address is generated automatically by your computer’s operating system and it is valid for connectivity between hosts that can see each other in L2, even in absence of IPv6 routers. These addresses are also used by IPv6’s Neighbor Discovery Protocol.

Does my host have IPv6?

If your operating system is from this millenia, it should have IPv6 available. But let’s check.

You will find 1001 of these articles in the Internet. Here are my notes on the topic.

Internet Protocol version 6

Internet Protocol version 6 (IPv6) is a successor for the current Internet Protocol version 4 (IPv4). IPv6 was designed to bring a solution to IPv4 address exhaustion and to simplify the routing in the Internet. The protocol has many advantages over its predecessor, the most notable being the vast address space of 128 bits.

IPv6 is a new protocol, not a mere extension to IPv4. For that reason, IPv6 does not play nice together with the previous protocol version.

Wikipedia: IPv6 does not implement interoperability features with IPv4, and creates essentially a parallel, independent network.

If your host has IPv4 address, it can connect to other hosts that use IPv4. If your host has IPv6 address, it can connect other hosts using IPv6.

It is possible to have a dual-stack on your host. In this case the host has addresses from both protocols and can connect directly both IPv4 and IPv6 hosts in the Internet.

At current time (march 2012) all modern operating systems support IPv6 and network gear is ready to handle the new protocol. Major deployment of the next generation protocol still lingers on slowly because there are hardly any serious end-user benfits to it. Efforts have been made to further advance the usage of IPv6 in the Internet: World IPv6 day was an event 8.6.2011 where major Internet players enabled IPv6 in their services for one day in order to test the access and find out possible problems that large scale IPv6 deployment could bring about.

Key benefits of IPv6

New applications and innovation due to the flexibility and capabilities of IPv6

IPv6 addresses

Example of an address

Here’s how and IPv4 address looks like:
173.194.35.146

And this one’s IPv6:
2a00:1450:4016:0800:0000:0000:0000:1011

It can be compressed to 2a00:1450:4016:800::1011 by omitting leading zeros in group and replacing groups of zero values with two consecutive colons.

Address classes

IPv6 traffic can be unicast, multicast or anycast.

Unicast – one-to-one

Multicast – one-to-many (to all interfaces that have joined the corresponding multicast group)

Anycast – one-to-closest (to topologically nearest node in a group of potential receivers all identified by the same destination address)

Address types

Global Unicast address (2000::/3)
The addresses routed in the Internet.

Unique local address (fc00::/7)
Addresses that can be routed only in organizations own network,
just like RFC1918 private addresses in IPv4.
Can not be routed in the Internet.
Link-local address (FE80::/10)
Non-routable addresses used for communication over a local link (L2).
Used by autoconfiguration mechanisms (Neighbor Discovery, Stateless Address Autoconfiguration)
IPv6 requires a link-local address.

Special addresses

::/0 – Default route::/128 – Unspecified address. Used only by software before learning appropriate source address for the connection.::1/128 – Localhost, local loopback

Address allocation

Globally routable IPv6 addresses are allocated

/32 Internet Service Provider

/48 Organization

/64 Site

* See sources at the bottom of the page for more information on IPv6 address formats, classes and types.