Rationale for IPv6
IPv6 was designed and
engineered for many reasons.
First and foremost, the Internet Protocol version 4 (IPv4) address scheme is limited
by its 32 bits, which cause the problems for the long-term growth of the Internet. Even though the Internet has been growing
quickly, especially in Asia and Europe. But, some countries in Asia and Africa received just one class C (Class D and E are
reserved for special uses) address for the entire country because they arrived late to the Internet.
The number of
globally unique unicast IPv4 address still available is not enough to assign a different IP address to every new device to
come. However, this new devices require many more IP appliances besides just the computers currently interconnected on the
The globally Internet routing table is huge and continue to grow despite mechanisms such as classless interdomain
routing (CIDR) and Network Address Translation (NAT). Therefore, some studies predict the exhaustion of the current IPv4 address
apace between 2005 and 2011.
This exhaustion prediction prompted the Internet Engineering Task Force (IETF) to come
to the general consensus that there was enough time to engineer a new IP Protocol to replace IPv4 before the depletion of
the address space. This history behind the development of IPv6 shows that this process has been structured and coordinated
between different contributors to solve the problems of the IPv4 Protocol.
Introduction to IPv6
IPv6 also named IP-Next-Generation (IPng), which is designed by the IETF (The Internet Engineering Task Force) in
1994 to improve the performance of the current version Internet Protocol, IP Version 4 Internet protocol supports the interconnection
of multiple networking technologies into a single, logical internetwork. IPv4 is used for nearly twenty years, begins to have
problems mainly because of its growing shortage of addresses, which are needed by all new machines added to the Internet.
The purpose of IPng is to not only fix IPv4's problems, such as addresses, routing and network auto-configurations and eventually
replace IPv4, but also to run well on high performance networks as well as maintaining its efficiency for low bandwidth networks.
IPv6 uses a 128-bit address instead of the 32-bit address of IPv4. This doesn't give 4 times the address of the IPv4
but rather than the number of IPv4 address squared twoce. A couple of articles out there have stated that this works out to
billions of billions of address for every square mater on the planet. Just the number of the IPv6 addresses, 3*10^38, is impressive
enough that's a lot of zeros.
An IPv6 address is written as hexadecimal values (0-F) in groups of 4 separated by colons.
Writing out the octets in the standard dotted-decimal notation of IPv4 would result in long, complicated network addresses.
After the overview of the main problems related to the IPv4 protocol
from the rationale and introduction of IPv6, it will solve all these problems and provides new benefits. Below are the main
- The 128-bit address scheme, which provides plenty of IP
addresses for the
- The larger address space provides globally
unique addresses to billions of
new devices such as PDAs,
cellular devices, and 802.11 systems, which will
in the future.
- Multiple hierarchy level helps aggregate routes, which promotes
scalable routing to the Internet.
- Multihoming with the preservation of strict route aggregation is
- The autoconfiguration process allows nodes of the IPv6
configure their own IPv6 addresses.
- The transition between IPv6 providers is transparent to end users with the
- ARP broadcast is replaced by multicast
use on the l local link.
- The IPv6 header is more efficient than IPv4. Fewer fields are present, and
the header checksum is removed.
- A flow label field can provide traffic differentiation.
- New extension headers replace IPv4's Options field and provide more
- IPv6 was designed to handle mobility and security mechanisms much more
efficiently than the IPv4 protocol.
- Many transition mechanisms are designed with IPv6 to allow a smooth
transition from IPv4 networks to IPv6.
IPv6 addresses are 128-bits identifiers for interfaces and sets of interfaces. There
are 3 types of addresses:
Unicast: An identifiers for a single interface. A packet sent to a unicast address is delivered
to the interface identified by that address.
Anycast: An identifiers for a set of interfaces (typically belonging
to different nodes). A packet sent to an anycast address is delivered to one of the interfaces identified by that address
(the "nearest"; one, according to the routing protocols's measure of distance).
Multicast: An identifiers for a set
of interfaces (typically belonging to different nodes). A packet sent to a multicast address is delivered to all interfaces
identified by that address.
IPv6 Routing is almost identical to IPv4
except for the address that is increase from the original 32-bits to 128-bits addresses. All IPv4 routing algorithms can be
used for IPv6. IPv6 also have simple routing extensions to support powerful new routing functionalities:
Selection (based on policy, performance, cost
- Host Mobility (route to current location)
(route to new address)
The new routing functionality is obtained by creating sequences of IPng address using the IPng
routing option. The routing option is used by a IPng source to list one or more intermediate nodes (or topological group)
to be "visited"; on the way to a packet's destination. This function is very similar in function to IPv4's Loose Source and
Record Route option. In order to make address sequences a general function, IPv6 hosts are required to reverse routes in a
packets it receives, containing header and address sequences. The functionality of implementing and supporting the reversal
of source routes allows them to work with hosts that implement features such as provider selection or extended addresses.
There are 2 types
mechanisms that can be used alone or together to provide different levels of security to different users. First mechanism
is called the "IPng Authentication Header", an extension header that provides authentication and integrity to IPv6 datagrams.
Its placement at the internet layer can help provide host origin authentication to those upper layer protocols and services
that currently lack protections. However, it does not provide confidentiality. The second mechanism is the "IPng Encapsulating
Security Header". This provides integrity and confidentiality to IPv6 datagrams. It is similar to some security protocols
such as ISO NLSP (Network Layer Security Protocol), but easier and use DES CBC (Cipher Block Chaining Mode) for standard algorithm.