Family | Number |
IPV4 | 1 |
Reference: RFC-792 (Internet) gateways communicate between themselves for control purposes via a Gateway to Gateway Protocol (GGP) [3,4]. Occasionally a gateway or destination host will communicate with a source host, for example, to report an error in datagram processing. For such purposes this protocol, the Internet Control Message Protocol (ICMP), is used. ICMP, uses the basic support of IP as if it were a higher level protocol, however, ICMP is actually an integral part of IP, and must be implemented by every IP module. Hank's icmp support is fairly good. All the sections are supported, although some of them could be made a little more useful by better use of appropriate data types. Still, a pretty good protocol in terms of support. |
Field name | Field type | Field size | Field description |
type | Integer | 8 | the value of this field determines the format of the remaining data |
code | Integer | 8 | context-dependent meaning |
checksum | Integer | 16 | The 16 bit one's complement of the one's complement sum of all 16 bit words in the header. For computing the checksum, the checksum field should be zero. This checksum may be replaced in the future. |
payload | Binary Large Object | - | (This field is a pointer to the subsidiary encapsulations. Its use is not recommended.) |
Field name | Field type | Field size | Field description |
unused | Integer | 32 | unused |
Field name | Field type | Field size | Field description |
unused | Integer | 32 | unused |
Field name | Field type | Field size | Field description |
pointer | Integer | 8 | octet where error was detected |
unused | Integer | 32 | unused |
Field name | Field type | Field size | Field description |
unused | Integer | 32 | unused |
Field name | Field type | Field size | Field description |
gateway | ipv4_addr | - | Address of the gateway to which traffic for the network specified in the internet destination network field of the original datagram's data should be sent. |
Field name | Field type | Field size | Field description |
id | Integer | 16 | If code = 0, an identifier to aid in matching echos and replies, may be zero. |
sequence_number | Integer | 16 | If code = 0, a sequence number to aid in matching echos and replies, may be zero. |
payload | Binary Large Object | - | (This) data received in the echo message must be returned in the echo reply message. |
Field name | Field type | Field size | Field description |
id | Integer | 16 | If code = 0, an identifier to aid in matching timestamp and replies, may be zero. |
sequence_number | Integer | 16 | If code = 0, a sequence number to aid in matching timestamp and replies, may be zero. |
originate_ts | Integer | 32 | The Originate Timestamp is the time the sender last touched the message before sending it. |
receive_ts | Integer | 32 | The Receive Timestamp is the time the echoer first touched it on receipt. |
transmit_ts | Integer | 32 | The Transmit Timestamp is the time the echoer last touched the message on sending it. |
Field name | Field type | Field size | Field description |
id | Integer | 16 | If code = 0, an identifier to aid in matching request and replies, may be zero. |
sequence_number | Integer | 16 | If code = 0, a sequence number to aid in matching request and replies, may be zero. |