Introduction
The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite. It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communicating with another IP address, for example, an error is indicated when a requested service is not available or that a host or router could not be reached. Internet control message protocol version 6 (ICMPv6) is the implementation of the ICMP for the Internet Protocol Control version 6 (IPv6). ICMPv6 is an integral part of IPv6 and performs error reporting and diagnostic functions, and has a framework for extensions to implement future changes.
ICMPv6 is a multipurpose protocol and is used for a variety of activities including error reporting in packet processing, diagnostic activities, Neighbor Discovery process and IPv6 multicast membership reporting.
To perform these activities, ICMPv6 messages are subdivided into two classes: error messages and information messages.
1. Error Messages – The Internet Control Message Protocol Version 6 (ICMPv6)error messages belong to four different categories: Destination Unreachable, Time Exceeded,Packet Too Big, and Parameter Problems.
2. Information Messages – The Internet Control Message Protocol Version 6 (ICMPv6) information messages are subdivided into three groups: diagnostic messages, Neighbor Discovery messages, and messages for the management of multicast groups.
Working principle
ICMP version 6, as an integral part of IPv6, provides a single comprehensive solution for the different network functions, which are usually performed by many different protocols in IPv4 like ARP, IGMP, ICMPv4 Router Discovery, ICMPv4 Redirect, etc.
As a protocol IPv6 also makes a best effort to deliver the packet.IPv6 is connectionless and unreliable in its nature.
1. Connectionless means that-- it does not establish a connection before the transfer of the data.
2. Unreliable means, during the delivery of packet if the packet does not get delivered to the destination, whatsoever is the reason, it will not inform the source regarding the failure of the delivery. Because it does not have any such mechanism in its structure.
Actually it is Transmission Control Protocol (TCP), the upper transport-layer protocol which performs the function of connection-oriented & reliable data transmission between the source, and the destination.If the packet is lost in the way, TCP attempts again to transfer the packet and TCP also acknowledges after the successfully delivery. The packets format in which data is accessed is elaborated below.
Packets Format
ICMPv6 packets have the format shown in the figure. The 8-bit Type field indicates the type of the message. If the high-order bit has value zero (values in the range from 0 to 127), it indicates an error message; if the high-order bit has value 1 (values in the range from 128 to 255), it indicates an information message. The 8-bitCodefield content depends on the message type.The Checksum field helps in the detection of errors in the ICMP message and in part of the IPv6 message.
ICMPv6 Advantages
- If a wrong IP address is used for configuring a client to the DNS server,
- An ICMP message is sent by the destination device to indicate the error.
- If a program does not allow fragmentation of its communications but it is required to communicate with a destination device, the router undertaking the fragmentation of the packet sends an ICMP message to the source device to indicate the error.
- If a client sends all communications to a particular router despite another router offering a best route, the particular router responds with the IP address of the router that provides a better route in the form of an ICMP message.
- The Internet Control Message Protocol Version 6 (ICMPv6) also provides testing and diagnostics services for many utilities. In order to test the communication process,
- an ICMP echo is used by the Internet Protocol Packet Internet Gopher (PING) utility.
Applications of ICMPv6:
1) Assessing Current Code for IPv6 Capability
2) Creating Code That is Address-Family (AF) Independent and Backward Compatible with IPv4
3) Having the Same Application Work on IPv4-only, Dual-protocol, and IPv6-only Operating Systems With These Connectivity Methods
4) Storing of 128-bit IPv6 Addresses in Memory and Compatibility with 32-bit IPv4 Addresses
5) DNS Queries for IPv6 and IPv4 Using Either IPv6 or IPv4 Transport
6) Making Socket Connections With IPv6 and IPv4
7) Perform Extensive Testing of Your Applications ,and many more...
Comments
Post a Comment