Best way to calculate zero window recovery time
Hi,
I often see that one end will send multiple zero window packets before it sends a non zero window update. For example when calculating recovery time should I take the delta between the first outbound zero window and the first outbound non zero window update or the last outbound zero window and the first non zero window outbound? It seems that it should be the first to me but then at times the delay is quite high.
cheers
Hi,
Good day. This is purely dependent on the receiver's application side. Zero Widnow recovery may vary during the transaction, so in my opinion it doesn't matter which receiver's generated packet you will use it for calculating the recovery delta.
Best Regards, Denzil D'Souza
It makes a substantial difference. Consider the below. 12:03:04.283775 10.7.10.153 10.7.10.76 TCP 54 [TCP ZeroWindow] 55007 → 3306 [ACK] Seq=2339562880 Ack=4205004478 Win=0 Len=0
(more)Another way to look at this is that there is no such thing as a
TCP ZeroWindow
packet. (ducks)These packets happen to meet the Wireshark rules for setting the TCP Analysis flag for
tcp.analysis.zero_window
"will send multiple zero window packets"
Those aren't multiple "zero window packets". They are
ACK
packets for theTCP Keep-Alive
messages and happen to have a Zero Window size so Wireshark TCP Analysis flags them.