Hi,
Does someone happen to know how the Cisco IOS handle the out-of-order ICMP echo-reply packets? print it as success or lose?
Thanks,
Zhao Ping
Hi,
Does someone happen to know how the Cisco IOS handle the out-of-order ICMP echo-reply packets? print it as success or lose?
Thanks,
Zhao Ping
Considering that Ciscos wait for a response before sending the next echo-request, you should never end up in a situation where replys are received out of order.
That is going by my knowledge of traditional IOS. Ive not yet had any experience with IOS XE or XR to be able to quote any other experience.
Tom
There aren't sequence numbers with ICMP. And the timeout value is
watched/triggered before the next ICMP is sent, so there shouldn't really be
any ordering problem/interpretation anyway.
HTH,
Scott
Linux ping command does sequencing (so that part of your statement isn't accurate), and you can get out of order packets. It'll say a sequence number and ping time, and there really isn't any "timeout", an ICMP packet can come back 60 seconds later and it'll be counted, even though there were 59 other packets send and returned in the meantime.
$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.020 ms
In IOS, my interpretation anyway, is that the timeout value (2 seconds) mean that it really considers this packet as dropped, so no, in IOS you cannot get out of order packets, at least not that the CLI will show. If the ICMP response packet comes back after timeout value has triggered, it's considered lost.
Scott Morris wrote:
There aren't sequence numbers with ICMP. And the timeout value is
watched/triggered before the next ICMP is sent, so there shouldn't really be
any ordering problem/interpretation anyway.
FYI, from RFC 792:
Sequence Number
Description
The data received in the echo message must be returned in the echo
reply message.
The identifier and sequence number may be used by the echo sender
to aid in matching the replies with the echo requests. For
example, the identifier might be used like a port in TCP or UDP to
identify a session, and the sequence number might be incremented
on each echo request sent. The echoer returns these same values
in the echo reply.
Steve
Steve Bertrand wrote:
Scott Morris wrote:
There aren't sequence numbers with ICMP. And the timeout value is
watched/triggered before the next ICMP is sent, so there shouldn't really be
any ordering problem/interpretation anyway.FYI, from RFC 792:
My apologies. I should have actually used the subject to scope what you
were saying.
Steve
Guess I'll have to go back and look at wireshark output again... I didn't
recall seeing sequence number used in pings between Cisco devices, although
that may just be the implementation ('may be used') part.
I'll stand corrected.
Scott