Every computer or other device that connects to the Internet requires a unique Internet protocol (IP) address. Internet protocol version 4 (IPv4) uses 32-bit addresses that allow 232 or about 4.3 billion unique IP addresses. The IP address space is managed by the Internet Assigned Numbers Authority (IANA) globally, and by five Regional Internet Registrie (RIRs) responsible in their designated territories for assignment to end users and local Internet registries, such as Internet service providers—according to Wikipedia.
In the late 1970s, when the IPv4 address space was designed, it was believed that its 4.29 billion addresses would be sufficient to cover any futur growth of the Internet. However, with advances in technology and an allocation practice that did not anticipate the explosion of hosts on the Internet, by 1992 it was clear that a replacement would be necessary.
IPv6: the saviour
In December 1998, the Internet Engineering Task Force (IETF) developed IPv6 to deal with exhaustion of IPv4 addresses, and described it in Request For Comments (RFC 2460). IPv6 uses an addressing scheme based on a unique Internet address of 128 bits, as opposed to 32 bits of IPv4. The 128-bit address space allows for 2128 or 3.4×1038 possible addresses, which seem quite adequate for the foreseeable future.
Addressing. Use of 128 bits allows multiple levels of hierarchy and flexibility in designing hierarchical addressing and routing, which the current IPv4 Internet lacks. IPv6 addresses are represented in colon-hexadecimal format. The addresses are divided along 16-bit boundaries. The 16-bit blocks are converted into 4-digit hexadecimal numbers and separated by colons.
IPv6 addresses are classifiedinto several groups such as unicast (one-to-one), multicast (one-to-many) and anycast (one-to-nearest). IPv6 does not definea broadcast address and all types of IPv4 broadcast addresses are performed in IPv6 using multicast addresses.
Packet. An IPv6 packet contains IPv6 header, extension headers and upper-layer protocol data unit. The IPv6 header is always present and fixed at 40 bytes in size.
IPv4 and IPv6 interoperability and transition
According to Wikipedia, until IPv6 completely supplants IPv4, a number of transition mechanisms are needed to enable IPv6-only hosts to reach IPv4 services and to allow isolated IPv6 hosts and networks to reach the IPv6 Internet over the IPv4 infrastructure. A wide range of techniques have been identifiedand implemented by IETF for this purpose. The techniques can be broadly categorised as:
1. Dual IP stack techniques that allow IPv4 and IPv6 to coexist in the same devices and networks
2. Tunneling techniques that connect IPv6 domains via IPv4 clouds
3. Translation techniques that provide an interconnection between IPv4 and IPv6 domains to allow IPv6-only devices to communicate with IPv4-only devices
Dual IP stack. The basic IPv4-to-IPv6 migration technology uses dual IP stack protocol architecture, which connects IPv4/IPv6 nodes to IPv4-only nodes or IPv6-only nodes. This implementation incorporates IPv4 and IPv6 protocol stacks either independently or in a hybrid form. The application can use either protocol.
Dual-stack implementation has its own transport layer, which includes transmission control protocol (TCP) and user datagram protocol (UDP), and framing layer, which performs link layer encapsulation and decapsulation. Present systems share common transport and framing layers and are enabled by default.
When used in IPv4 communications, hybrid stacks use an IPv6 application-programming interface and represent IPv4 addresses in a special address format—the IPv4-mapped IPv6 address. This address type has its first80 bits set to ‘0’ and the next 16 bits set to ‘1,’ while last 32 bits are filledwith the IPv4 address.
Tunneling. Tunneling is a technique in which an isolated IPv6 host can communicate via IPv4 infrastructure. This is achieved by encapsulating IPv6 packets within IPv4, which is used as a link layer for IPv6. IP protocol number 41 indicates encapsulation of IPv6 datagrams within IPv4 packets.
Translation and proxy for IPv6- only hosts. In order to provide backward-compatibility for IPv6-only hosts to existing IPv4-only resources, translation and proxy mechanisms may be used. Network address translator (NAT) like technique (NAT64) for translation at the lower layers in routers and gateways may be considered. Dual-stack application-layer proxy server, a Web proxy, can also be used for address translation.
Benefits of IPv6 over Ipv4
Larger IP address space. An enhanced address space, in the absence of NAT, provides less complex network hardware and software. Configuringa network becomes much simpler. Finally, the large availability of IP addresses removes any obstacle that existed previously in the full deployment of wireless and mobile devices.