对应章节:传输层 → TCP 可靠传输
1. TCP 可靠靠什么
序号
确认
校验和
超时重传
快速重传
滑动窗口
2. 累积确认
例如已经连续收到:
0~999
则:
ack=1000
表示:
下一个希望收到 1000。
3. 超时重传
发送后启动重传计时器。
若:
RTO 到期仍未收到确认
则重传未确认报文段。
通常重点跟踪:
最早未确认报文段
4. RTT
RTT:
Round-Trip Time
往返时延
即:
发送报文段
↓
直到收到确认
经历的时间。
5. RTO 为什么动态变化
RTO 太小:
容易误判超时
RTO 太大:
真正丢包后重传太慢
所以 TCP 根据 RTT 的变化动态估计 RTO。
6. 快速重传
连续收到:
3个重复ACK
通常认为某个报文段丢失。
不必等超时:
立即重传
即:
Fast Retransmit
7. TCP 校验和
校验 TCP 首部和数据,同时计算时使用伪首部:
源IP
目的IP
协议号
TCP长度
伪首部只参与计算,不真正传输。
8. 速记
ACK:告诉发送方下一个要什么
RTO到期:超时重传
3个重复ACK:快速重传
RTT:往返时间
RTO:根据RTT动态估计