I was studying some wireshark captures. I noticed that though Ack's are sent every other packet like i was expecting due to delayed TCP ack, i noticed that at some times it is acking every 3 segments.
Another observation is that segments are not coming with constant time delay, and when this happens the 3 packets that are ack'ed were received with very small delay.
I am trying to figure out why, and cant seem to find a clear answer to it. Is it the operating system adjusting dynamically when it will sent an ack depending on the rate it receives them? And why is this so?