IPv6 is an evolutionary upgrade to IP that is meant to
address most of the shortcomings of IPv4. IPv6 is
defined in RFC 2460, Internet Protocol, Version 6 (IPv6)
Specification, issued by the IETF. Several other RFCs
that have been created following the initial definition
describe the architecture and services supported by IPv6.
IPv6 addresses are 128 bits long instead of 32 bits. The
128 bits provide 3.4 × 10 addresses; this is the
equivalent of a full IPv4 addressing space for each living
person on Earth. Currently both IPv4 and IPv6 addresses
are supported on the Internet, and a gradual transition
to only IPv6 is happening, but we won’t be there until
sometime far in the future. Several migration
technologies have been developed to ease the transition
from IPv4 to IPv6. The dual-stack method involves
having both IPv4 and IPv6 addresses configured on the
same interface and seems to be the most popular option.
Tunneling mechanisms are also available for IPv4
tunneling over IPv6 networks and IPv6 tunneling over
IPv4 networks.
IPv6 brings several improvements compared to IPv4,
including the following:
Larger address space means improved global reachability and better
aggregation of IP prefixes, which leads to smaller routing tables, which
leads to faster routing.
End-to-end communication is now possible, as there is no need for
technologies such as Network Address Translation (NAT) or Port
Address Translation (PAT) that have been developed to address the
lack of public IPv4 addresses.
Address autoconfiguration allows hosts and devices connecting to the
network to easily and automatically obtain IPv6 addresses. This is
especially important for mobile devices as they roam between different
networks; autoconfiguration makes the transition seamless.
The coexistence of multiple addresses on the same interface increases
reliability and load balancing.
A simplified header means better routing efficiency and increased
forwarding performance.
38