TCP 的安全可靠

TCP的安全可靠

重传机制

T C P确认从另一端收到的数据以提供可靠的运输层,但数据和确认都有可能会丢失。 T C P通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据 。对任何实现而言,关键之处就在于超时和重传的策略,即怎样决定超时间隔和如何确定重传的频率。

对于每个连接,T C P管理4个不同的定时器:

  • 重传定时器
  • 坚持定时器
  • 保活定时器
  • 2MSL定时器

往返时间测量

TCP测量一个给定连接的往返时间(RTT)。由于路由器和网络流量均会变化,因此往返时间也会发生变化, TCP应该针对这些变化改变其超时时间。

TCP使用低通过滤器来更新一个被平滑的RTT估计器:

R←aR + (1- a)M

a是一个推荐值为0.9的平滑因子。每次进行新测量的时候,这个被平滑的 RTT将得到更新。每个新估计的90%来自前一个估计,而10%则取自新的测量。

该算法在给定这个随RTT的变化而变化的平滑因子的条件下, RFC 793推荐的重传超时时间RTO(Retransmission Time Out)的值应该设置为:

RTO = Rb

b是一个推荐值为2的时延离散因子。

在 RTT变化范围很大时,使用这个方法无法跟上这种变化,从而引起不必要的重传。此时,应当基于均值和方差来计算 RTO,将比作为均值的常数倍数来计算 RTO能提供更好的响应。

快速重传

上面讲到当定时器溢出时还没有收到确认,它就重传该数据。当接收到重复的ACK时,可能有两种情况:

  • 出现报文段的重新排序,如下图所示。
  • 出现报文段的丢失

在重新排序的报文段被处理并产生一个新的 ACK之前,只可能产生1 ~ 2个重复的ACK。如果一连串收到 3个或3个以上的重复ACK,就非常可能是一个报文段丢失了。此时无需等待超时定时器溢出,立即重传丢失的数据报文段,这就是快速重传算法。接下来执行的 不是慢启动算法而是拥塞避免算法 。这就是快速恢复算法。

流量控制

拥塞控制

相关推荐
无奈笑天下2 小时前
银河麒麟高级服务器操作系统【双网卡绑定之bond0】操作方法
linux·运维·服务器·网络·经验分享
飞Link2 小时前
【网络与 AI 工程的交叉】多模态模型的数据传输特点:视频、音频、文本混合通道
网络·人工智能·音视频
一执念2 小时前
网络和互联网通信的本质
网络
老蒋新思维2 小时前
创客匠人峰会实录:知识变现的场景化革命 —— 创始人 IP 如何在垂直领域建立变现壁垒
网络·人工智能·tcp/ip·重构·知识付费·创始人ip·创客匠人
老蒋新思维2 小时前
创客匠人峰会深度解析:智能体驱动知识变现的数字资产化路径 —— 创始人 IP 的长期增长密码
人工智能·网络协议·tcp/ip·重构·知识付费·创始人ip·创客匠人
M158227690553 小时前
六通道 CAN 集线器在消防报警主机系统中的应用方案
网络
盈创力和20073 小时前
当抱杆箱也上云:如何用 LoRa/NB-IoT 打造一个会“告警”的智能户外电气箱?
网络·物联网
MonkeyKing_sunyuhua3 小时前
国内Dockerfile的配置,提高打包速度
linux·运维·网络
盛世宏博智慧档案3 小时前
数据追溯 + 异常预警:机柜温湿度以太网变送器应用实践方案
linux·服务器·网络
老蒋新思维5 小时前
创客匠人峰会实录:创始人 IP 变现的 “人 + 智能体” 协同范式 —— 打破知识变现的能力边界
大数据·网络·人工智能·网络协议·tcp/ip·创始人ip·创客匠人