滑动窗口协议:
- 后退N帧协议:发送窗口>1,接收窗口=1.
- 选择重传协议:发送窗口>1,接收窗口>1.
TCP可靠传输:(为了保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的)
1. 校验和:检测分组的比特错误。
2. 序号: TCP连接中传送的数据流中的每一个字节都编上一个序号。
确认号:期望收到对方的下一个报文段数据的第一个字节的序号。
3. 数据合理分片和排序:TCP会按照最大传输单元(MTU)合理分片,接收方会缓存为按序到达的数据,重新排序后交给应用层。
4. 确认:接收方告诉发送方一个分组或一组分组已经被正确接受到。
4. 重传
1),超时重传
TCP每发送一个报文段就对这个报文段设置一次计时器。只要计时器设置的重传时间到期但还没收到确认,就要重传这一报文段。
2),快速重传
每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。
当发送方收到同一个报文段的3次冗余ACK时,就可以认为跟在这个被确认报文段之后的报文段已经丢失,并重传这一报文段。