TCP_IP要点

一次确认多个数据包
在TCP中,ACK是累积的—它们表示接收方已经正确收到了一直到确认序号减1的所有字节.

重传
1: client发出数据包后, 没有收到server的ack, 重传.
2: server没有收到client的数据, client收到server发来对发过的数据的ack, 重传.

排序
接收缓冲区对收到的数据包, 按照序列号排序, 排序后被应用读走.
对于先来到的大编号数据包, 会缓冲到接收缓冲区. 在确认未到来的小编号包之前, 不会ack这些先来到的大编号数据包.
缓冲区满时, 小编号包还没来
猜测为小编号包预留空间, 或者舍弃部分大编号包.

滑动窗口
应用程序从接收缓冲区读取数据后,窗口才恢复。如果窗口变小,表明接收缓冲区中还有数据,没有被应用读走。可以防止对方发送数据太快。

原文地址:https://www.cnblogs.com/vsop/p/12693255.html