Internet Protocol Version 6 (IPv6) is a network layer protocol that enables data communications over a packet switched network. Packet switching involves the sending and receiving of data in packets between two nodes in a network. The working standard for the IPv6 protocol was published by the Internet Engineering Task Force (IETF) in 1998. The IETF specification for IPv6 is RFC 2460. IPv6 was intended to replace the widely used Internet Protocol Version 4 (IPv4) that is considered the backbone of the modern Internet. IPv6 is often referred to as the "next generation Internet" because of it's expanded capabilities and it's growth through recent large scale deployments. In 2004, Japan and Korea were acknowledged as having the first public deployments of IPv6.
Even if you’ve never studied IPv6, you may know about its most famous feature: big addresses. IPv4 uses 32-bit addresses, and with the growth of the Internet, these have become a scarce and valuable commodity. Organizations have gone to great lengths to deal with the shortage and high cost of IPv4 addresses. The most visible change in IPv6 is that addresses balloon from 32-bits to 128-bits.
|Address Space||Increase from 32-bit to 128-bit address space|
|Management||Stateless autoconfiguration means no more need to configure IP addresses for end systems, even via DHCP|
|Performance||Predictable header sizes and 64-bit header alignment 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, ISPs will have sufficient IP addresses to allocate enough addresses to every customer so that every IP device has a truly unique address---whether it’s behind a firewall or not. NAT (network address translation) has become a very common technique to deal with the shortage of IP addresses. Unfortunately, NAT doesn’t work very well for many Internet applications, ranging from old dependables, such as NFS and DNS, to newer applications such as group conferencing. NAT has also been an impediment for business-to-business direct network connections, requiring baroque and elaborate address translators to make everything work reliably, scaling poorly, and offering a highly vulnerable single point of failure. One of the goals of IPv6’s address space expansion is to make NAT unnecessary, improving total connectivity, reliability, and flexibility. IPv6 will re-establish transparency and end-to-end traffic across the Internet.
A look into the addressing format
addresses for each of the 6.8 billion people alive in 2010. While these numbers are very large, it was not the intent of the designers of the IPv6 address space to assure geographical saturation with usable addresses. Rather, the longer addresses simplify allocation of addresses, enable efficient route aggregation, and implementation of special addressing features. In IPv4, complex Classless Inter-Domain Routing (CIDR) methods were developed to make the best use of the small address space. The standard size of a subnet in IPv6 is 264 addresses, the square of the size of the entire IPv4 address space. Thus, actual address space utilization rates will be small in IPv6, but network management and routing efficiency is improved by the large subnet space and hierarchical route aggregation.
Renumbering an existing network for a new connectivity provider with different routing prefixes is a major effort with IPv4. With IPv6, however, changing the prefix announced by a few routers can in principle renumber an entire network since the host identifiers (the least-significant 64 bits of an address) can be independently self-configured by a host.
IPv6 addresses have two logical parts: a 64-bit network prefix, and a 64-bit host address part. (The host address is often automatically generated from the interface MAC address.) An IPv6 address is represented by 8 groups of 16-bit hexadecimal values separated by colons (:) shown as follows:
A typical example of an IPv6 address is
The hexadecimal digits are case-insensitive.
The 128-bit IPv6 address can be abbreviated with the following rules:
Rule one: Leading zeroes within a 16-bit value may be omitted. For example, the address fe80:0000:0000:0000:0202:b3ff:fe1e:8329 may be written as fe80:0:0:0:202:b3ff:fe1e:8329
Rule two: A single occurrence of consecutive groups of zeroes within an address may be replaced by a double colon. For example, fe80:0:0:0:202:b3ff:fe1e:8329 becomes fe80::202:b3ff:fe1e:8329
The fixed header occupies the first 40 octets (320 bits) of the IPv6 packet. It contains the source and destination addresses, traffic classification options, a hop counter, and a pointer for extension headers if any. The Next Header field, present in each extension as well, points to the next element in the chain of extensions. The last field points to the upper-layer protocol that is carried in the packet's payload.
Extension headers carry options that are used for special treatment of a packet in the network, e.g., for routing, fragmentation, and for security using the IPsec framework.
The payload can have a size of up to 64KiB without special options, or larger with a jumbo payload option in a Hop-By-Hop Options extension header.