Hi,
I noticed while making plots of the INET's TCP module cwnd and/or unacked bytes (in a conversation between TCPSessionAPP - TCPSinkAPP setup) that before any multiplicative decrease, the additive increase is ended with a small cwnd reduce, than several packets sent to increase the unacked bytes and cwnd, resulting in this strange "pikes" on the graph (see attached) and only after that takes place the "real" decrease.
Is there any reasonable explanation for this behavior (which i could not find in any real TCP implementation)? It looks like some kind of compensation for cwnd to do not decrease it too small...
I would like to see how much i can rely on these TCP implementations, so thats why I would like to know the reason behind.