IPv6
- The IPv4 provides host to host communication systems, which are connected through the Internet.
- The IPv6 (Internetworking Protocol, version 6) is designed to overcome the shortfalls of the IPv4.
Advantages of IPv6
Some advantages of IPv6 over IPv4 are mentioned below:
1. Address Space : IPv6 has a 128 bit long address, which is larger than IPv4.
2. Header format : IPv6 has a new header format, in which options are separated from the base header and inserted between the base header and the upper layer data.
3. Extension : IPv6 is designed to allow the extension of the protocol, if required for new applications.
4. Security : Encryption and authentication mechanism provides confidentiality and integrity to the packets in IPv6.
Packet Format of IPv6
The IPv6 packet is shown in the diagram. Each packet is composed of base header and the payload. The payload consists of two fields, optional extension headers and the data from upper layer.
The Base header consists of eight fields:
1. Version : This is 4 bit field, which defines the version number of an IP and its value is 6 for IPv6.
2. Priority : This is 4 bit field, which defines the priority of the packet with respect to the traffic congestion.
3. Flow label : This is 24 bit field, which is designed to provide facility of specially handling the specific flow of the data.
4. Payload length : This is 16 bit field, which defines the length of an IP datagram excluding the base header.
5. Next header : This is 8 bit field, which defines the header that follows the base header in the datagram.
6. Hop limit : This is 8 bit field, which serves the same purpose as the TTL( Time to Live field in IPv4) field. It is a mechanism that limits the life span of the data in computer networks.
7. Source address : This is 128 bit source address field, which identifies the original source of the datagram.
8. Destination address : It is 128 bit destination address field, which identifies the original destination of the datagram.
Priority field of IPv6
Defines the priority of each packet with respect to other packets from the same source.
The IPv6 divides the traffic into two categories:- Congestion-Controlled Traffic : If source can adjust itself with traffic slowdown due to congestion, the traffic is referred to as congestion controlled traffic.
- Non Congestion-Controlled Traffic : Non-Congestion - Controlled Traffic is a type of traffic which can accept a minimum delay.
Extension Headers
The length of the base header is 40 bytes and to provide greater functionality to the IP datagram.
It can be extended upto six extension headers.
1. Hop by hop option : It is used when the source needs to pass the information to all routers visited by the datagram.
2. Source routing : It combines the concepts of the strict source route and the loose source route options of IPv4.
3. Fragmentation : The data travels through the different networks, each router first decapsulates the IPv6 datagram from the received frame, then processes it and again encapsulates in another frame.
4. Authentication : Authentication validates the message sender and ensures the integrity of the data.
5. Encrypted Security Payload (ESP) : It is an extension that provides confidentiality and protects against eavesdropping .
6. Destination option : It is used when the source needs to forward information to the destination only and not to intermediate routers.
Transition from IPv4 to IPv6
Three strategies have been invented by the IETF (Internet Engineering Task Force) to help the transition:
1. Dual stack- The host should run IPv4 and IPv6 simultaneously until the entire internet uses IPv6.
- The source host queries the DNS, to determine which version can be used at the time of sending a packet to the destination.
- If the DNS returns an IPv6 address, the source host sends an IPv6 packet.
2. Tunneling- When two computers use IPv6 and want to communicate with each other and the packet passes through a region that uses IPv4, it is called tunneling.
- The IPv6 packet is encapsulated in an IPv4 packet, when it enters the region. It leaves the capsule when it exits the region.
3. Header Translation- It is used when some of the systems use the IPv4 and the sender wants to use IPv6, but the receiver does not understand IPv6.
- The header format should be totally changed through header translation.
- The header of the IPv6 packet is converted to an IPv4 header.
Header translation procedure
1. Change the IPv6 mapped address to an IPv4 address by extracting the rightmost 32 bits.
2. Discard the value of IPv6 priority field.
3. Set the type of service field in IPv4 to be zero.
4. Calculate the checksum for IPv4 and insert in the corresponding field.
5. Ignore the Ipv6 flow label.
6. Convert the compatible extension headers to options and insert them in the IPv4 header.
7. Calculate the length of IPV4 header and insert it into the corresponding field.
8. Eventually, compute the total length of the IPv4 packet and insert it into the corresponding field.