Re: What can delay [comm send -async ...]?



On Apr 24, 5:03 pm, John Seal <s...@xxxxxxxxxxxxxxxxx> wrote:
Any suggestions where to look next?

First, ping uses ICMP, which is very different from TCP. The 20 secs
of ping are just an application-level timeout, since ICMP packets are
just "fire and forget" with no internal protocol state or timer. By
contrast, the xx seconds of TCP are a property of the (highly
stateful) TCP protocol implementation in the OS. To my knowledge,
RFC793 doesn't give the specific value of the timeout on the first
packet exchange (SYN-SYN, the second SYN never being sent here). So it
must be up to the OS.

Now you're saying you remember seeing the absence of the host reported
"immediately" ?

I think something different happened. Most likely, the host was
present, but the daemon not listening on the expected port. In this
case the connection was actively rejected. This is fast. Or,
equivalently, another machine happened to have the IP address you
believed was down (may happen in DHCP cases if you used numeric IP and
the lease expired), hence again no listener existed on the port, hence
the rejection. Other possibility, the whole subnet was unreachable, in
which case an ICMP response "no route to host" came back quick enough.
The Tcl error was different, but apparently you caught it ("the
program continued").

If none of these hypotheses makes sense, please report back.

-Alex


.



Relevant Pages