乐闻世界logo
搜索文章和话题

TCP 可靠传输的保障机制有哪些?

2月21日 17:09

TCP 可靠传输机制详解

TCP 可靠传输是 TCP 协议的核心特性,确保数据在不可靠的网络环境中能够正确、有序、无丢失地传输。

可靠传输的保障机制

1. 序列号和确认应答

  • 序列号(Sequence Number):每个字节都有唯一的序列号,标识数据在流中的位置
  • 确认应答(ACK):接收方收到数据后发送 ACK,确认已收到的数据
  • 累积确认:ACK 号码表示期望收到的下一个字节序列号
  • 作用:确保数据按序到达,检测丢失的数据包

2. 重传机制

超时重传(RTO)

  • RTO 计算:基于 RTT(往返时间)动态计算,通常 RTO = RTT + 4 × RTT 方差
  • 触发条件:发送数据后,在 RTO 时间内未收到 ACK
  • 指数退避:每次重传后,RTO 加倍,避免网络拥塞时频繁重传

快速重传

  • 触发条件:收到 3 个重复 ACK
  • 优势:不等待 RTO 到期,立即重传丢失的报文段
  • 效率:比超时重传更快恢复数据传输

3. 校验和

  • 计算范围:TCP 首部、数据和伪首部(包含 IP 地址等)
  • 作用:检测数据传输过程中的错误
  • 处理:校验和错误时,直接丢弃报文段,不发送 ACK

4. 数据排序

  • 问题:网络中数据包可能乱序到达
  • 解决:接收方根据序列号重新排序
  • 缓存:乱序到达的数据先缓存,等待缺失数据到达后一起交付应用层

5. 流量控制

  • 滑动窗口:接收方通告可用缓冲区大小
  • 防止溢出:避免发送方发送过快导致接收方缓冲区溢出

6. 拥塞控制

  • 慢启动:逐步增加发送速率
  • 拥塞避免:线性增长,避免网络拥塞
  • 快重传和快恢复:快速响应丢包,恢复传输

可靠传输的权衡

  • 延迟 vs 可靠性:重传机制增加延迟,但提高可靠性
  • 效率 vs 安全:校验和增加开销,但确保数据完整性
  • 吞吐量 vs 稳定性:拥塞控制降低吞吐量,但保持网络稳定

相关问题

  • TCP 如何处理乱序到达的数据包?
  • RTO 如何动态计算和调整?
  • 为什么需要快速重传机制?
标签:TCP