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
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.