Which one is correct? If you know the correct answer, please let me know :)
- When L4 recieves data from application layer, it saves the data in 64kB buffer. When 64kB buffer is full, L4 segments them, add L4 header, and send segments to L3.
- When L4 receives data from application layer, it segments, add L4 header, and save them in 64kB buffer. When 64kB buffer is full, L4 sends segments to L3.
I think following is the right answer.
L4 saves the data in 64kB buffer and segments according to MSS. After segmenting, L4 tosses the datagram with L4 header to L3. It will clear the buffer only after receiving ACK. Hope this one is the right answer :)