IPv6 overview
IPv6 is the next generation in the Internet Protocol, it uses 128 bit addresses as opposed to 32bit addresses that are used in IPv4. It also has built-in security, and enhanced network management. IPv6 and IPv4 will co-exists for quite some time.
Currently most of the internet is deployed with IPv4, which is about 30 years old. IPv4 has lasted a long time and is very stable, but it is starting to have some problems, a major one being that we're running out of address space.
Some of the new features are:
Address Space - This is the major change, as stated above IPv6 will use 128-bit address space, compared to 32 bit, which will give us a lot more IP addresses.
Performance - Predictable header sizes and 64-bit header alignment will eventually mean better performance from routers and bridges/switches.
Multicast/Multimedia - Built-in features for multicast groups, management, and new "anycast" groups.
Mobile IP - Eliminate triangular routing and simplify deployment of mobile IP-based systems.
Virtual Private Networks - Built-in support for ESP/AH encrypted/authenticated virtual private network protocols; built-in support for QoS tagging.
With such a huge address space, Network providers such as SoftLayer will have a greatly increased IP pool, allowing for IP allocation without justification, and most importantly the removal of the impending IP cap of IPv4.
Additional address space should also help the core of the Internet, by reducing the global routing table in its size. This is because IPv6 eliminates the need for “classless routing”, meaning everyone only needs to announce their master blocks.
IPv4 Addressing Notation
An IPv4 address consists of four bytes (32 bits). These bytes are also known as octects.
For readability purposes, humans typically work with IP addresses in a notation called dotted decimal. This notation places periods between each of the four bytes (octets) that comprise an IP address. For example, an IP address computers see as
00001010 00000000 00000000 00000001
Could be written in dotted decimal as
10.0.0.1
Because each byte contains 8 bits, each octet in an IP address ranges in value from a minimum of 0 to a maximum of 255. Therefore, the full range of IP addresses is from 0.0.0.0 through 255.255.255.255. That represents a total of 4,294,967,296 possible IP addreses, about 1/3rd of which is unusable.
IPv6 Addressing Notation
IP addresses change significantly with IPv6. IPv6 addresses are 16 bytes (128 bits) long rather than four bytes (32 bits). This larger size means that IPv6 supports more than
300,000,000,000,000,000,000,000,000,000,000,000,000
possible addresses! In the coming years, as an increasing number of cell phones, PDAs, and other consumer electronics expand their networking capability, the smaller IPv4 address space will likely run out and IPv6 address become necessary.
IPv6 addresses are generally written in the following form:
hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh
In this full notation, pairs of IPv6 bytes are separated by a colon and each byte in turns is represented as a pair of hexadecimal numbers, like in the following example:
E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420
As shown above, IPv6 addresses commonly contain many bytes with a zero value. Shorthand notation in IPv6 removes these values from the text representation (though the bytes are still present in the actual network address) as follows:
E3D7::51F4:9BC8:C0A8:6420
Note: You can only have one set of compressed zeros per IP. So 2706:f0d0::1::1: would be illegal.
Finally, many IPv6 addresses are extensions of IPv4 addresses. In these cases, the rightmost four bytes of an IPv6 address (the rightmost two byte pairs) may be rewritten in the IPv4 notation. Converting the above example to mixed notation yields
E3D7::51F4:9BC8:192.168.100.32
IPv6 addresses may be written in any of the full, shorthand or mixed notation illustrated above.