ICMP type 37, Domain Name request

Description:

  Implementation
Host Mandatory.
Router Mandatory.

RFC 1788, page 4:

A separate Domain Name Request is used for each IP Destination queried.

An ICMP Domain Name Request received with a broadcast or multicast Destination MUST be silently discarded.

RFC 1788, page  5:

The IP Source in a Reply MUST be the same as the IP Destination of the corresponding Request message.


Packet format :

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Type Code ICMP header checksum
Identifier Sequence number

Type. 8 bits. Set to 37.

Code. 8 bits. Set to 0.

ICMP Header Checksum. 16 bits.
The 16-bit one's complement of the one's complement sum of the ICMP message, starting with the ICMP Type field. When the checksum is computed, the checksum field should first be set to 0. When the data packet is transmitted, the checksum is computed and inserted into this field. When the data packet is received, the checksum is again computed and verified against the checksum field. If the two checksums do not match then an error has occurred.

Identifier. 16 bits.
If Code is zero, an identifier used to help match the request to the associated reply. It may be set to zero.

Sequence number. 16 bits.
If Code is zero, a sequence number is used to help match the request to the associated reply. It may be set to zero.


Host and Router Implementations:

RFC 1788, pages 5 and 6:

Every host and router MUST implement an ICMP Domain Name server function that receives Domain Name Requests and sends corresponding Domain Name Replies.

A host SHOULD also implement an application- layer interface for sending a Domain Name Request and receiving a Domain Name Reply, for diagnostic purposes.


RFCs:

[RFC 1788] ICMP Domain Name Messages.