Understanding IPv6

Internet Control Message Protocol (ICMP) operates as a communication manager between routers and a host or between hosts. ICMP messages provide feedback for problems occurred on the routing path to the destination. For example, a router may not forward a packet due to various reasons such as the packet generated from a source node is too big to go through an intermediate router, the packet has some fatal errors, the router knows more optimized path to the destination, or the router does not have enough buffer capacity to handle the packet. Even a destination node may generate ICMP messages due to any of previously stated reasons. Once ICMP message is generated, it is handed down to IP layer which in turn encapsulates ICMP message with IP packet. That packet is transferred to the destination node using general IP routing mechanisms. [1]
IPv6 requires ICMP as IPv4 does, but several changes are made for IPv6. New protocol, ICMPv6 is defined in RFC 2463. [2] [3] ICMPv6 is also mainly used to report errors encountered in processing packets, and performs diagnostic functions. This protocol plays very important role in Neighbor Discovery protocol [4] and Path MTU Discovery protocol. [5]
The 8-bit Message Type field of ICMPv6 message identifies each message type. Depending on the first bit, ICMPv6 messages are classified into two types: error messages and information messages. When the first bit is set to 0, the ICMP message belongs to error message. [11] When the first...