Information Technology Reference
In-Depth Information
For echo request and reply, the message header is followed by an 8-bit identifier, then an
8-bit sequence number followed by the original IP header.
For destination unreachable, source quelch and time, the message header is followed by
32 bits which are unused and then the original IP header.
For timestamp request, the message header is followed by a 16-bit identifier, then by a
16-bit sequence number, followed by a 32-bit originating timestamp.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Version
Header length
Value = 0
Total length
Identification
Fragment offset
Time-to-live Value = 1 (ICMP)
Header checksum
Source IP address
0
D
M
IP packet
header
Destination IP address
Options
8 bits
8 bits
16 bits
Additional
information
IP packet header
Type
Code
Checksum
ICMP message
Figure 23.4 ICMP message format
Where:
Pointer (8-bit) - identifies the byte location of the parameter error in the original IP
header. For example, a value of 9 would identify the protocol field, and 12 would identify
the source IP address field.
Identifier (16-bit) - helps the matching of requests and replies (possibly set to zero). It
can be used to identify a unique connection.
Sequence number (16-bit) - helps in matching request and replies (possibly set to zero).
Timestamps (32-bit) -this is the time in milliseconds since midnight UT (universal time).
If this is not possible then it is anytime, as long as the high-order bit of the timestamp is
set to a 1 to indicate that it is non-standard time.
Gateway address (32-bit) - the address of the gateway to which network traffic specified
in the original datagram should be sent to.
Internet header + 64 bits of data datagram - this is the original IP header and the first 64
byte of the data part. It is used by the host to match the match to the required high-level
application (such as TCP port values).
Search WWH ::




Custom Search