IPv6 basics: The protocol and addresses

[Originally posted Mar 16, 2012 10:25 AM by Antti Uitto   [ updated Mar 16, 2012 11:11 AM ]]

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. 
 

There are also several transition mechanisms available to enable communication between hosts that use different protocol versions. http://en.wikipedia.org/wiki/IPv6_transition_mechanisms

 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.

2011 World IPv6 day http://www.worldipv6day.org
Velocity 2011: Ian Flint, “World IPv6 Day: What We Learned”
http://youtu.be/T04o6bQN8Ls

6.6.2012 will be a World IPv6 launch in which these same players will enable IPv6 permanently and others are encouraged to join in.

http://www.worldipv6launch.org

Key benefits of IPv6

  • Huge address space of 128 bits
  • Inbuilt support for IPSEC
  • Stateless autoconfiguration, ease of management
  • Simplified routing
  • 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.

Calculators to help you with IPv6 addresses

Linux

sipcalc (Ubuntu installation: apt-get install sipcalc)
ipv6calc (Ubuntu installation: apt-get install ipv6calc)

Web

http://www.ipv6calculator.net
http://www.subnetonline.com/pages/subnet-calculators/ipv6-subnet-calculator.php

 
 

Sources

http://en.wikipedia.org/wiki/IPv6
http://en.wikipedia.org/wiki/IPv6_address
http://en.wikipedia.org/wiki/Anycast
http://en.wikipedia.org/wiki/Multicast
http://www.helium.com/items/2086218-understanding-ipv6
http://blogs.citrix.com/2012/01/26/0606-ipv6-%E2%80%93-beginning-of-the-end-for-ipv4/
http://www.ipv6now.com.au/primers/benefits.php
http://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xml
http://chrisgrundemann.com/index.php/2012/introducing-ipv6-neighbor-discovery-slaac/
Carla Schroder: Linux Networking Cookbook

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s