IPV6 is also known as IPng (Internetworking Protocol, next generation). The numbers of users of the internet are increasing day by day and the services offered to these users are also increasing. A huge number of addresses are needed to accommodate such vast number of hosts. The internet not only transmits textual data. It also allows us to transmit audio and video data. In such data, the high speed data transfer is desired. Internet working protocol version 6 (IPv6) was developed to overcome the shortcomings of IPv4.
The problem of address depletion, lack of accommodation for real-time audio and video transmission , and encryption and authentication of data for some applications motivated the development of IPv6.
The internet protocol version 4 is being used in the current internet. The internet protocol version 6 has been designed for the future needs of the internet. IPv6 has following new features to make the network ready for next generation of the internet.
(I) IPv6 address is 128 bits long. This is far more than 32 bit long addresses used by Ipv4. This provides 296 more unique addresses
(ii) Ipv6 header has got separate options field. This speeds up the routing as most of the times, options are not needed.
(iii) Several new options have been added to set of options.
(iv) To accommodate the real time traffic, the Ipv6 uses Flow Label field instead of Type of Service field of Ipv4. With this field, a user can request for the type of service to be given to the datagram.
(v) The Ipv6 contains options for encryption and decryption of data. This provides additional security to the information.
In this protocol, the IP address is of 128 bits long. The address is divided into eight sections of 16 bits in length. Each 16 bit section is represented by four hexadecimal digits. A colon is used to separate every four hexadecimal digits. This way, the address consists of 32 hexadecimal digits.
We’ll be covering the following topics in this tutorial:
Structure of IPv6
Hexadecimal colon notation
• An IPv6 address consists of 16 bytes (octets)
• Thus an IPv6 address is 128 bits long
• It uses hexadecimal colon notation.
• In this notation 128 bits is divided into eight sections. Each section is 2 bytes long.
• Two bytes in hexadecimal notation require four hexadecimal digits. Thus, the address consists of 32 hexadecimal digits, with every four digits separated by a colon.
Abbreviation
• We can also write the IP address in abbreviated form.
• This can be done by omitting the leading zeros of a section (four digits between two colons)
• In such a form, only leading zero can be omitted and not the trailing zeros.
• Using this form of abbreviation, 0074 can be written as 74, 000F as F, and 000 as 0.Note 3210 cannot be abbreviated.
• Further abbreviations are also possible if there are consecutive sections consisting of zeros only. Using this scheme, zeros can be removed altogether and can be replaced with a double colon.
• Such a kind of abbreviation is allowed only once per address. If there are two runs of zero sections only one of them can be abbreviated.
• For example, if the address is 0 : 15 : : 1 : 12 : 1213, it would be expanded to its original form.
Address space
• The address space- of IPv6 is much larger as compared to IPv4.
• In IPv6 2128 addresses are available
• The IPv6 address is divided into several categories.
• The category of address can be determined from the few leftmost bits of address. These leftmost bits that determine the category of address is called type prefix.
• The type prefix is variable in length and is designed in such a way that no code is identical to the first part of any other code.
• Table below shows the prefix for each type of address. The third column shows the fraction of each type of address relative to the whole address space.
Packet format
• Each IPv6 packet consists of a mandatory base header. This based header is of 40 • Base header is followed by the payload field.
• The payload consists of two parts: extension header and data from an upper layer.
• The use of extension header is optional.
• The extension header and data from upper layer contain upto 65,536 bytes of information.
• There are 8 fields in the base header. These are:
1. Version: This four bit field indicates the version of internet protocol which is 6 for IPv6.
2. Priority: This four bit field specifies the priority of level of the packet with respect to traffic congestion. It specifies the class of traffic to which the IP packet belongs.
3. Flow Label: This is a 3 byte (24 bit) field. It is used to identify all the packet in an individual flow. A flow is uniquely identified by a combination of source address, destination address and a non-zero flow label. Thus, all the packets that are part of the same flow are assigned the same label by the source.
4. Payload length: This 2 byte field indicates the number of octets present in the payload.
5. Next header: The next header is an 8 bit field and describes the header that follows the base header in datagram. The next can be an extension header or header of the upper layer.
6. HOP limit: This 8-bit field has the same function as TTL in IPv4. In IPv6, it is decremented by one on each hop.
7. Source address: This field is of 16 byte (128 bit) and identifies the original source of datagram.
8. Destination address: This 16 byte (128-bit) field determines the final destination of the datagram.
Advantages of IPv6
The various advantages of IPv6 over IPv4 are:
1. Larger address space: An IPv6 address is 128 bit long as compared to 32- bit address ofIPv4. It has huge 296 increases in the address space.
2. Allowance for extension: IPv6 is designed to allow the extension of the protocol if required by new technologies or applications.
3. Better header format: IPv6 uses a new header format in which options are separated from the base header and inserted, when needed, between the base header and upper-layer data.
4. New options: IPv6 has new options to allow for additional functionalities.
5. Support for more security: The encryption and authentication options in IPv6 provide confidentiality and integrity of the packet.
6. Support for resource allocation: In IPv6, the source can request the special handling of the packet with he help of flow label field. This mechanism can be used to support traffic such as real-time audio and video.
Comparison between IPv4 and IPv6
The major difference in IPv4 and IPv6 packet formats are as follows:
1. IPv6 packet format does not contain header length field as IPv6 base header has fixed length of 40 bytes. IPv4 head is variable in length so header length field is required.
2. The header checksum field is not present in IPv6. As a result error detection is not done on the header, checksum is provided by upper layer protocols. It reduces the processing time of an IP packet.
3. In IPv6, maximum hop field is used whereas in IPv4 Time to line (TTL) field is used.
4. In IPv6, the size of payload (excluding header) is specified whereas in IPv4 total length field is used that specifies the total size of IP packet including header.
5. There is no fragmentation field in the base header in IPv6. It has been moved to the extension header.
6. The identification, flag, and offset field are eliminated from the base header in IPv6. They are included in the fragmentation extension header.
7. The options field is moved under extension headers in IPv6.
8. The source and destination address sizes in IPv6 are 128 bits as against 32 bits in IPv4.
9. The service type field is eliminated in IPv6. The priority and flow label fields together take over the function of the service type field.