Ir al contenido

Usuario discusión:Rcreyes

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

The ICMP IPversion6 (Internet Control Message Protocol Version 6) is an integral part of the IPv6 architecture2 and must be completely supported by all IPv6 implementations. ICMPv6 combines functions previously subdivided among different protocols, such as ICMP (Internet Control Message Protocol version 4), IGMP (Internet Group Membership Protocol)4, and ARP (Address Resolution Protocol), and it introduces some simplifications by eliminating obsolete types of messages no longer in use.

Introduction

[editar]

The Internet Protocol, version 6 (IPv6) is a new version of IP. IPv6 uses the Internet Control Message Protocol (ICMP) as defined for IPv4[RFC-792], with a number of changes. The resulting protocol iscalled ICMPv6, and has an IPv6 Next Header value of 58. This document describes the format of a set of control messages usedin ICMPv6. It does not describe the procedures for using thesemessages to achieve functions like Path MTU discovery; such procedures are described in other documents (e.g., [PMTU]). Otherdocuments may also introduce additional ICMPv6 message types, such asNeighbor Discovery messages [IPv6-DISC], subject to the general rulesfor ICMPv6 messages given in section 2 of this document. Terminology defined in the IPv6 specification IPv6 and the IPv6Routing and Addressing specification [IPv6-ADDR] applies to thisdocument as well. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT","SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in thisdocument are to be interpreted as described in [RFC-2119]. ICMPv6 is a multipurpose protocol; for example, it is used for reporting errors encountered in processing packets, performing diagnostics, performing Neighbor Discovery, and reporting multicast memberships. For this reason, ICMPv6 messages are subdivided into two classes: error messages and information messages. ICMP messages are transported within an IPv6 packet in which extension headers can also be present. An ICMP message is identified by a value of 58 in the Next Header field of the IPv6 header or of the preceding Header.

ICMPv6 (ICMP for IPv6)

[editar]

ICMPv6 is used by IPv6 nodes to report errors encountered inprocessing packets, and to perform other internet-layer functions,such as diagnostics (ICMPv6 "ping"). ICMPv6 is an integral part of IPv6 and MUST be fully implemented by every IPv6 node.

Message General Format

[editar]

ICMPv6 messages are grouped into two classes: error messages andinformational messages. Error messages are identified as such byhaving a zero in the high-order bit of their message Type fieldvalues. Thus, error messages have message Types from 0 to 127;informational messages have message Types from 128 to 255.

This document defines the message formats for the following ICMPv6messages:

[editar]

ICMPv6 error messages:

[editar]
            1    Destination Unreachable      (see section 3.1)
            2    Packet Too Big               (see section 3.2)
            3    Time Exceeded                (see section 3.3)
            4    Parameter Problem            (see section 3.4)

ICMPv6 informational messages:

[editar]
            128  Echo Request                 (see section 4.1)
            129  Echo Reply                   (see section 4.2)

Every ICMPv6 message is preceded by an IPv6 header and zero or moreIPv6 extension headers. The ICMPv6 header is identified by a NextHeader value of 58 in the immediately preceding header. (NOTE: thisis different than the value used to identify ICMP for IPv4.)

The ICMPv6 messages have the following general format:

[editar]
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |     Code      |          Checksum             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     +                         Message Body                          +
     |                                                               |

The type field indicates the type of the message. Its valuedetermines the format of the remaining data. The code field depends on the message type. It is used to create anadditional level of message granularity. The checksum field is used to detect data corruption in the ICMPv6message and parts of the IPv6 header.

Message Source Address Determination

[editar]

A node that sends an ICMPv6 message has to determine both the Sourceand Destination IPv6 Addresses in the IPv6 header before calculatingthe checksum. If the node has more than one unicast address, it mustchoose the Source Address of the message as follows: (a) If the message is a response to a message sent to one of thenode's unicast addresses, the Source Address of the reply must be that same address. (b) If the message is a response to a message sent to a multicast oranycast group in which the node is a member, the Source Addressof the reply must be a unicast address belonging to theinterface on which the multicast or anycast packet was received. (c) If the message is a response to a message sent to an address that does not belong to the node, the Source Address should be that unicast address belonging to the node that will be most helpful in diagnosing the error. For example, if the message is a response to a packet forwarding action that cannot complete successfully, the Source Address should be a unicast address belonging to the interface on which the packet forwarding failed. (d) Otherwise, the node's routing table must be examined to determine which interface will be used to transmit the message to its destination, and a unicast address belonging to that interface must be used as the Source Address of the message.

Message Checksum Calculation

[editar]

The checksum is the 16-bit one's complement of the one's complementsum of the entire ICMPv6 message starting with the ICMPv6 messagetype field, prepended with a "pseudo-header" of IPv6 header fields, as specified in [IPv6, section 8.1]. The Next Header value used in the pseudo-header is 58. (NOTE: the inclusion of a pseudo-header in the ICMPv6 checksum is a change from IPv4; see [IPv6] for the rationale for this change.) For computing the checksum, the checksum field is set to zero.


Packets Format

[editar]

ICMPv6 packets have the format Type, Code & Checksum. The 8-bit Type field indicates the type of the message. If the highorder bit has value zero (values in the range from 0 to 127), it is an error message; if the high-order bit has value 1 (values in the range from 128 to 255), it is an information message. The 8-bit Code field content depends on the message type, and it is used to create an additional level of message granularity. The Checksum field is used to detect errors in the ICMP message and in part of the IPv6 message.

Types of ICMP messages

[editar]

Type - Meaning
1 - Destination Unreachable
2 - Packet Too Big
3 - Time Exceeded
4 - Parameter Problem
128 - Echo Request
129 - Echo Reply
130 - Group Membership Query
131 - Group Membership Report
132 - Group Membership Reduction
133 - Router Solicitation
134 - Router Advertisement
135 - Neighbor Solicitation
136 - Neighbor Advertisement
137 - Redirect

ICMP Message Transmission

[editar]

A node that forwards an ICMP message has to determine both the source and the destination IPv6 addresses for the ICMP message. Particular care must be put into the choice of the source address. If a node has more than one unicast address, it must choose the source address of the message as follows:

  • If the message is a response to a message sent to one of the node unicast addresses, the Source Address of the reply must be that same address.
  • If the message is a response to a message sent to a multicast or anycast group to which the node belongs, the Source Address of the reply must be a unicast address belonging to the interface on which the multicast or anycast packet was received.
  • If the message is a response to a message sent to an address that does not belong to the node, the Source Address should be the unichecking the error (for example, the unicast address belonging to the interface on which the packet forwarding failed).
  • In other cases, the node routing tables must be examined to determine which interface will be used to transmit the message to its destination, and the unicast address belonging to that interface must be used as the Source Address of the message.


When an ICMP node receives a packet, it must undertake actions that depend on the type of message. The ICMP protocol must limit the number of error messages sent to the same destination to avoid network overloading. For example, if a node continues to forward erroneous packets, ICMP will signal the error to the first packet and then do so periodically, with a fixed minimum period or with a fixed network maximum load. An ICMP error message must never be sent in response to another ICMP error message.

Error Messages

[editar]

ICMPv6 error messages are similar to ICMPv4 error messages. They belong to four categories: Destination Unreachable, Packet Too Big, Time Exceeded, and Parameter Problems.

Informational Messages

[editar]

A second type of ICMP message is the informational message. These messages are subdivided into three groups: diagnostic messages, messages for the management of multicast groups, and Neighbor Discovery messages.

See also

[editar]

Category:Internet standards


Contribution of the students of the class: Protocolos3 (Ide0317291,0317297,0314306) - Galileo University, (Guatemala)