what are the cases in which a host supposed to send Zero window size ? asked 24 Jul '13, 11:35 ManojMaity |
2 Answers:
Define "supposed to" :-) Zero Window is used in two situations:
answered 24 Jul '13, 11:58 Jasper ♦♦ |
One cause i can think of: If the receive buffer of host reaches it's maximum point then the host will notify the sender with zero window size so that sender won't send any data until further notification of window update from receiver. answered 24 Jul '13, 11:37 krishnayeddula edited 24 Jul '13, 11:38 |
Jasper, In what circumstances tcp reset packet will have a zero window size.My doubt is will zero window size on receiver triggers reset and causes connection termination?
Thanks
When a receiver closes a port, the TCP stack will send a Reset packet unless FIN has been used earlier. In the Reset packet, the window size is always 0.
A zero window value will not cause the Reset, it is the Reset that has a zero window value.
When a receiver sets its window to zero and does not go back to a window greater than zero (even after the sender tested it with Zero Window Probes) the sender will at some point give up and send a Reset. Just because it is never allowed to continue to send, and it will reach a time out depending on the OS/application.
Thanks that cleared.
@ Jasper 3. When an application is telling the stack to just accept xxx bytes of data and wait for further user input e.g. "save as" dialogs in browsers used to to that back in IE9 times
@Landi: I know. It's still sort of a performance "problem", because theoretically it could just accept the data and buffer it somewhere ;-)