Question for network programmers
Posted on 2004-10-05
First off I'm not a programmer. I'm a network tech. So forgive me if any of the terms I use seem strange. I'm trying to understand how sliding window protocol operates in relation to the buffers.
Ok, let's say Computer A's TCP send buffer can allocate 8000 bytes. Computer B's receive buffer (window size) is only 6000 bytes. Computer A's Application layer hands down a PDU of 8000 bytes to Computer A's TCP. Computer A's TCP places all 8000 bytes on it's send buffer.
Computer A will "window" 6000 bytes out of it's 8000 bytes it has on it's send buffer due to the window size Computer B advertised. It will then send the "window" of 6000 bytes of data to Computer B in several packets (each full size around 1460 bytes).
As Computer B receives the packets on it's receive buffer, it processes them quickly up the application layer and acknowledges Computer A. This causes Computer B to free up it's receive buffer a bit more so it sends a window update to Computer A saying "win 2000". Computer A then sends the remaining 2000 bytes.
Is that correct?
Thanks in advance