Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
11.04.2015
Размер:
22.9 Mб
Скачать

Chapter 5

ICMPv6

At the end of this chapter, you should be able to do the following:

Explain the purpose of ICMPv6 and the common structure of all ICMPv6 messages.

Describe the two types of ICMPv6 messages and how to distinguish them.

Define the four types of ICMPv6 error messages.

Explain the two types of ICMPv6 informational messages used for diagnostics.

Enumerate the common ICMPv4 messages, and give their ICMPv6 equivalents.

Describe the path MTU discovery process for IPv6.

ICMPv6 Overview

Like IPv4, the specification for the Internet Protocol version 6 (IPv6) header and extension headers does not provide facilities for reporting errors. Instead, IPv6 uses an updated version of the Internet Control Message Protocol (ICMP) named ICMP version 6 (ICMPv6). ICMPv6 has the common IPv4 ICMP functions of reporting delivery and forwarding errors and providing a simple echo service for troubleshooting. ICMPv6 is defined in RFC 4443 and is required for an IPv6 implementation.

The ICMPv6 protocol also provides a packet structure framework for the following:

Neighbor Discovery Neighbor Discovery (ND) is a series of five ICMPv6 messages that manage node-to-node communication on a link. ND replaces Address Resolution Protocol (ARP), ICMPv4 Router Discovery, and the ICMPv4 Redirect message. ND is described in more detail in Chapter 6, “Neighbor Discovery.”

Multicast Listener Discovery Multicast Listener Discovery (MLD) is a series of three ICMPv6 messages that are equivalent to the Internet Group Management Protocol (IGMP) for IPv4 for managing subnet multicast membership. MLD is described in more detail in Chapter 7, “Multicast Listener Discovery (MLD) and MLD Version 2 (MLDv2).”

ICMPv6 is also used by other protocols, such as Secure Neighbor Discovery (SEND). SEND is not supported by IPv6 for Windows Vista and Windows Server 2008 and is not described in this chapter.

109

110 Understanding IPv6, Second Edition

Note RFC 4884 describes changes to ICMPv6 to support multipart messages. These changes are not supported by IPv6 for Windows Vista and Windows Server 2008 and are not described in this chapter.

Types of ICMPv6 Messages

There are two types of ICMPv6 messages:

Error messages Error messages report errors in the forwarding or delivery of IPv6 packets by either the destination node or an intermediate router. The high-order bit of the 8-bit Type field for all ICMPv6 error messages is set to 0. Therefore, valid values for the Type field for ICMPv6 error messages are in the range of 0 through 127. ICMPv6 error messages include Destination Unreachable, Packet Too Big, Time Exceeded, and Parameter Problem.

Informational messages Informational messages provide diagnostic functions and additional host functionality, such as MLD and ND. The high-order bit of the 8-bit Type field for all ICMPv6 informational messages is set to 1. Therefore, valid values for the Type field for ICMPv6 information messages are in the range of 128 through 255. ICMPv6 informational messages described in RFC 4443 include Echo Request and Echo Reply. There are additional ICMPv6 informational messages defined for Mobile IPv6. For more information, see Appendix F, “Mobile IPv6.”

ICMPv6 Header

An ICMPv6 header is identified by a Next Header value of 58 in the header immediately preceding it. Figure 5-1 shows the structure of ICMPv6 messages.

Type

Code

Checksum

Message Body

• • •

Figure 5-1 The structure of ICMPv6 messages

The following list describes the fields in the ICMPv6 header:

Type Indicates the type of ICMPv6 message. The size of this field is 8 bits. In ICMPv6 error messages, the high-order bit is set to 0. In ICMPv6 informational messages, the high-order bit is set to 1.

Code Differentiates among multiple messages within a given message type. The size of this field is 8 bits. For the first, or only, message for a given type, the value of the Code field is 0.

Соседние файлы в папке Lecture 2_10