It has been quite sometime that everyone in the Internet has been hearing about IPv6 (Internet Protocol Version 6) without actually seeing any of its commercial implementation. Though the policies on IP allocations, protocol support and standardization, implementation strategy etc. have matured to a large extent, the use of IPv6 is still very less. Most of the serious business in the Internet is still on v4. The reason for this slow acceptance of the IPv6 is more political than technical. Also, technology like the proxy, network address translation etc. has acted as a first aid for IPv4. The progress and usage of IPv6 is more in Asian countries than in the USA in the initial years. Countries like Japan, Korea, Taiwan etc have gone well ahead into this.

IPv6 has 128 bit long address space making it possible to think of more than huge number of IP address in a sq meter of area on the earth. The IP addresses that one can achieve using the 128 bits will be 2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 The header of IPv6 is quite similar to the IPv4 header and many of the fields in v6 are same as the v4. The key difference is, the header length of v4 is a variable where as in v6 it is fixed. Keeping the header size fixed enables faster processing of the headers as the address field has quadrupled. IPv6 addresses are of different types just as the IPv4 address space and is mentioned in RFC 1918 ad 3330. IPv6 addresses are scoped and hence the IP address assigned to an interface IP is not necessarily the IP of the machine (RFC 3350). v6 address is separated by colon unlike IPv4. Normally IPv6 address is written in the form of BASE16 numbers. A v6 address looks like a grouped 4 digit hexadecimal number as shown below: 2001:4408:0000:0000:1213:0000:0000:6782. This can be written as 2001:4408::1213:0000:0000:6782 too by removing zeros and representing the same with :: and thereby making it easier to represent. However, such representation of 0's can be done only once in an address. Also a group of four zeros can be represented by a single zero. Like 2001:4408::1213:0:0:8724

IPv6 Address Types IPv6 has the following types of addresses: Unicast addresses: A packet is delivered to particular interface on a particular node. It is something like a point to point communication. Multicast addresses: Same as in IPv4. The communication is typically from one to many or many to many. Anycast addresses: Typically used in root DNS (in IPv4) and in this a packet is delivered to the nearest of many nodes (interfaces). This will be the nearest available node.

IPv6 Address Scope The IPv6 addresses have scope of operations too. A Link local address falls in the range : FE80::/64 This means all the link local addresses will have the first 10 bits as 111111101000 and the rest 54 bits as 0's and the rest 64 bits will represent the node or the interface. A link local address will never need a router as the segment is same and there is no need for a router to direct the traffic. A Site local address, as the name suggests remains with in an organization and is not normally routed globally. It is somewhat similar to the IPv4 private address (RFC 1918). This address starts from FECO::/48. The first 48 bits are fixed and the rest is left for local distribution in the site. Unlike the link local, a site local address requires a router to communicate between various links. A Global Unicast address looks like the one given below. As the name suggests the scope of this address is global and the address is routable across the organizations. The best part of the IPv6 is its capability to auto configure when ever there is a change in the address. IPv6 has a strong network Discovery protocol and there are protocols like DAD (duplicate address detection) to detect the duplicate address. Encryption is a part of the v6 protocol implementation and thereby increases the security features. The interface id as shown in figure is normally a 64bit id and the host automatically creates the id from the MAC address (link layer address). The MAC address is 48 bit long and to create a 64 bit, a standard was created called the EUI-64. In this the first 24 bits of the MAC address is appended to a 16 bit field FFFE and then the next 24 bit field of the MAC is appended to 64 bits long interface id. In the modified EUI-64 the 7th bit is made “1” and the rest is same as above. Just as v4, v6 also has IGP (Interior Gateway Protocol) like the RIPng, OSPFv3, IS-IS etc. and EGP (exterior gateway protocol) like the BGP4+.

IPv6 Test Net To test the implementation of IPv6, a test bed was created by interconnecting various v6 networks together under one umbrella called the 6bone. A huge number IP's were allotted for the 6bone to do testing on IPv6. This has been in operation for several years and was discontinued last year.

IPv6 Transition Transition of IPv4 to IPv6 is like shifting a house from one location to another. Imagine shifting the whole world!! It is a humongous task. This has to be carried out in vary cautious manner and one has to run both the versions of IP for a good amount of time before v6 takes over completely. The designers of IPv6 knew that the transition from the commercially well established v4 to v6 is going to be tough task and hence they have taken care of certain aspects of transition by which the users can get benefited. There are multiple mechanisms for transition and some of them are listed below v Dual Stack: In this the TCP stack caters to both v4 and v6 and the router / switches can cater to packets coming from both v4/v6 nodes and both can co-exist. This is the easiest way to start and platforms like the routers, switches and variety of OS support dual stack. For instance, when a host queries the DNS, the DNS shall respond with v4 or v6 address based on the query type. Let us say if the query comes for www.nic.in in IPv4 then the answer to that query will be 164.100.52.39 but if the query comes to DNS as a IPv6 packet for www.nic.in then the answer may be 2001:4408::1213:0:0:8724. v IPv6 to IPv4 Translation: In this mechanism the device is designed to take the IPv6 packets and translate the same to IPv4 packets. These packets are then sent to the IPv4 destination. The packets coming in the reverse direction are treated the same way. One of the most common and widely used and accepted methods of translation is NAT-PT. IPv4 Tunneling of IPv6: This is used in a scenario when IPv6 network has to communicate to another v6 network on an under laying v4. The v6 datagram will be encapsulated in IPv4 packet and sent across the v4 network to reach the destination. There are a number of implementations such as Tunnel Brokers, 6to4, ISATAP, Teredo, DSTM etc. The transition from v4 to v6 is not going to be simple, though a huge number of options are available. Initiatives have already been put in place at NIC to procure network related equipments that has full support for v6. One has to look at the business and other aspects like the Human resources (retraining), Interoperability, Security, instability of technology (number of protocols which have not yet been put to full test) and the cost of transition (plays an important role too). Once put on production the performance limitation needs to be analysed. One can go through the site http://www.ipv6forum.org for resources on IPv6. NIC is putting efforts in building up a site which will soon display various tests and configuration templates at http://ipv6.nic.in. The actual transition/ migration will be done in a phased manner and may be spread over few years.