TCP 如何保证可靠传输¶
一、序号和确认¶
每个字节有编号。收到后 ACK 确认。
二、超时重传¶
发出去没收到 ACK,超时重传。
三、滑动窗口¶
不用等 ACK 就可以继续发,窗口大小由接收方告诉发送方。
四、流量控制¶
接收方告诉发送方自己还有多少缓冲(窗口大小),防止发送太快。
五、拥塞控制¶
- 慢启动。
- 拥塞避免。
- 快重传。
- 快恢复。
六、校验和¶
数据带校验,接收方检查出错就重传。
七、去重¶
重复的包丢弃。
八、按序交付¶
乱序的包缓存,按序交给应用。
一句话
序号 + 确认 + 重传 + 窗口 + 拥塞控制 = 可靠。