I'm attempting to utilize the flow probe argus
to determine "node liveliness"/reachability.
I am currently working on handling ICMP status, but would like to derive a method to determine if a ping "would be expected" to timeout.
This question isn't relevant to argus
necessarily:
What are the circumstances where a node that pings
another node will receive no data back? Is it only when a client "timeout" would be expected to occur?
I am aware that ICMP messages will be sent without an ICMP message coming in to a node, if there are a variety of problems reaching the node.
[Update]
By "no data back", I mean 0 bytes returned, not just ICMP bytes. No bytes at all. And please discount the idea of throttling or firewall policies changing, as this would cause a timeout, and be a good "bad response" that I'm trying to detect.
Consider the following:
ra -S 127.0.0.1:561 -s ltime saddr daddr dport sport sbytes dbytes flgs state - icmp
(man page)
LastTime SrcAddr DstAddr Dport Sport SrcBytes DstBytes Flgs State
2014-01-02 16:56:17.563848 192.168.1.31 192.168.2.22.0x21f9 0x0008 98 0 e ECO
2014-01-02 16:56:18.624553 192.168.1.31 192.168.2.252.0x21e6 0x0008 98 98 e ECO
2014-01-02 16:56:18.724784 192.168.1.31 192.168.2.1.0x21eb 0x0008 98 98 e ECO
2014-01-02 16:56:18.482095 192.168.1.31 192.168.2.10.0x21ef 0x0008 98 0 e ECO
192.168.1.31
sent a ping with check_ping.c, a nagios plugin. check-ping
is used to send a single ICMP ECHO packet.
192.168.2.22
and 192.168.2.10
replied with 0
bytes. This should never happen, and usually doesn't.
check-ping
is used to send a single ICMP ECHO packet.
In order to check for timeouts/unreachability of nodes, I am verifying that checking dbytes
for 0 length is my best condition.
ping
as a situation that would cause a "timeout," but I can't determine this without some input. So, I'm saying, the request isn't zero length, and 0 bytes are returned; so is this condition ever possible in "a non-timeout causing situation"? Thanks.