IPv6 or Internet Protocol Version 6 is the next generation protocol for the Internet. It’s designed to provide several advantages over current Internet Protocol Version 4 (or IPv4).
An escalating demand for IP addresses acted as the driving force behind the development of the large address space offered by the IPv6. According to industry estimates, in the wireless domain, more than a billion mobile phones, Personal Digital Assistants (PDA), and other wireless devices will require Internet access, and each will need its own unique IP address.
The extended address length offered by IPv6 eliminates the need to use techniques such as network address translation to avoid running out of the available address space. IPv6 contains addressing and control information to route packets for the next generation Internet.
IPv6 addresses the main problem of IPv4 which is that the addresses have simply become close to running out. There are very few spare addresses to connect computers or host in a packet-switched network. IPv6 has a very large address space and consists of 128 bits as compared to the 32 bits in IPv4. IPv6 therefore is able to support 2^128 unique IP addresses, a substantial increase in number of computers that can be addressed with the help of IPv6 addressing scheme.
In addition, this addressing scheme will also eliminate the need of NAT (network address translation) that causes several networking problems (such as hiding multiple hosts behind pool of IP addresses) in end-to-end nature of the Internet.
Quality of Service (QoS)
IPV6 brings quality of service that is required for several new applications such as IP telephony, video/audio, interactive games or ecommerce. Whereas IPv4 is a best effort service, IPv6 ensures QoS, a set of service requirements to deliver performance guarantee while transporting traffic over the network.
For networking traffic, the quality refers to data loss, latency (jitter) or bandwidth. In order to implement QOS marking, IPv6 provides a traffic-class field (8 bits) in the IPv6 header. It also has a 20-bit flow label.
This feature ensures transport layer connection survivability and allows a computer or a host to remain reachable regardless of its location in an IPv6 network and, in effect, ensures transport layer connection survivability.
With the help of Mobile IPv6, even though the mobile node changes locations and addresses, the existing connections through which the mobile node is communicating are maintained.
To accomplish this, connections to mobile nodes are made with a specific address that is always assigned to the mobile node, and through which the mobile node is always reachable. This feature is documented in RFC 3775.
Stateless Auto-reconfiguration of Hosts
This feature allows IPv6 host to configure automatically when connected to a routed IPv6 network. Server 2008, Server 2012, Windows 7 and Windows 8 make use of this feature.
IPv6 implements network-layer encryption and authentication via IPsec.
Summary of IPV6 Benefits in a nutshell:
1) Increased address space
2) More efficient routing
3) Reduced management requirement
4) Improved methods to change ISP
5) Better mobility support
8) Scoped address: link-local, site-local and global-address space
One of the main benefits of Internet Protocol version 6 (IPv6) over previously used Internet Protocol version 4 (IPv4) is the large address-space that contains (addressing) information to route packets for the next generation Internet.
IPv6 supports 128-bit address space and can potentially support or 3.4e38 unique IP addresses (as opposed to 32-bit address space of IPv4). With this large address-space scheme, IPv6 has the capability to provide unique addresses to each and every device or node attached to the Internet.
Types of IPv6 Addresses
IPv6 addresses are broadly classified into three categories:
1) Unicast addresses A Unicast address acts as an identifier for a single interface. An IPv6 packet sent to a Unicast address is delivered to the interface identified by that address.
2) Multicast addresses A Multicast address acts as an identifier for a group/set of interfaces that may belong to the different nodes. An IPv6 packet delivered to a Multicast address is delivered to the multiple interfaces.
3) Anycast addresses Anycast addresses act as identifiers for a set of interfaces that may belong to the different nodes. An IPv6 packet destined for an Anycast address is delivered to one of the interfaces identified by the address.
IPv6 Address Notation
IPv6 addresses are denoted by eight groups of hexadecimal quartets separated by colons in between them.
Following is an example of a valid IPv6 address: 2001:cdba:0000:0000:0000:0000:3257:9652
Any four-digit group of zeroes within an IPv6 address may be reduced to a single zero or altogether omitted. Therefore, the following IPv6 addresses are similar and equally valid:
The URL for the above address will be of the form: http://[2001:cdba:0000:0000:0000:0000:3257:9652]/
Network Notation in IPv6
The IPv6 networks are denoted by Classless Inter Domain Routing (CIDR) notation. A network or subnet using the IPv6 protocol is denoted as a contiguous group of IPv6 addresses whose size must be a power of two. The initial bits of an IPv6 address (these are identical for all hosts in a network) form the networks prefix. The size of bits in a network prefix are separated with a /. For example, 2001:cdba:9abc:5678::/64 denotes the network address 2001:cdba:9abc:5678. This network comprises of addresses rearranging from 2001:cdba:9abc:5678:: up to 2001:cdba:9abc:5678:ffff:ffff:ffff:ffff. In a similar fashion, a single host may be denoted as a network with a 128-bit prefix. In this way, IPv6 allows a network to comprise of a single host and above.
Special Addresses in IPv6
::/96 The zero prefix denotes addresses that are compatible with the previously used IPv4 protocol.
::/128 An IPv6 address with all zeroes in it is referred to as an unspecified address and is used for addressing purposes within a software.
::1/128 This is called the loop back address and is used to refer to the local host. An application sending a packet to this address will get the packet back after it is looped back by the IPv6 stack. The local host address in the IPv4 was 127.0.0.1.
2001:db8::/32 This is a documentation prefix allowed in the IPv6. All the examples of IPv6 addresses should ideally use this prefix to indicate that it is an example.
fec0::/10 This is a site-local prefix offered by IPv6. This address prefix signifies that the address is valid only within the local organization. Subsequently, the usage of this prefix has been discouraged.
fc00::/7 This is called the Unique Local Address (ULA). These addresses are routed only within a set of cooperating sites. These were introduced in the IPv6 to replace the site-local addresses. These addresses also provide a 40-bit pseudorandom number that reduces the risk of address conflicts.
ff00::/8 This prefix is offered by IPv6 to denote the multicast addresses. Any address carrying this prefix is automatically understood to be a multicast address.
fe80::/10 This is a link-local prefix offered by IPv6. This address prefix signifies that the address is valid only in the local physical link.