【问题标题】:What effects can inconsistent latency have on TCP applications?不一致的延迟会对 TCP 应用程序产生什么影响?
【发布时间】:2011-05-17 08:19:20
【问题描述】:

我正在测试一个 GNU Radio 程序,它可以通过无线链路传输 TCP 流量。我们在测试中得到了一些奇怪的结果,在寻找罪魁祸首时,我对不一致的延迟感到好奇。

不一致的延迟如何影响 TCP 应用程序?不一致是指连接上的 ACK 的 RTT 差异很大。有一段时间 ACK 似乎以正常速率出现,然后它们消失了,我们有重传,然后是“延迟”的 ACK。

例如,假设收到的前几个 ACK​​ 具有相似的 RTT。当下一个 ACK​​ 没有在两倍于前一个 ACK​​ 的 RTT 中收到时会发生什么?无论问题是什么,在长时间等待 ACK 后,我都会看到很多重传。

现在,更具体地说,在快慢之间反弹的 ACK 的 RTT 如何影响 TCP 连接?

话虽如此,有没有办法调整 IP 堆栈以更好地处理这种环境?

【问题讨论】:

  • Shickadance。您在双方都使用什么特定的操作系统?你能详细说明一下隧道协议吗?

标签: networking tcp latency


【解决方案1】:

TCP 维护一个平滑的 RTT (SRTT) 来告诉它中间网络有多快,即它可以传输多快。如果 SRTT 上升,TCP 会变慢。如果 SRTT 下降,TCP 将加速。如果实际RTT剧烈上下波动,TCP可能会因为平滑而反应不够快,传输太快,会导致丢包,进而导致重传,浪费带宽由丢失的数据包使用。 RTT 平滑是通过指数衰减完成的,增益为 0.2,因此在计算新 SRTT 值时,旧 SRTT 值的权重是当前 RTT 的四倍。

【讨论】:

  • 在阅读了有关拥塞控制和 TCP 的一般信息后,我得出了同样的结论。明天我将与一位在这方面的专家教授会面,我应该能够得到一些可靠的答案。
  • 先生,我很感激我能够(在某种程度上)与知名作者互动。我一定会看看你的书!
猜你喜欢
  • 1970-01-01
  • 2021-07-25
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2010-11-28
相关资源
最近更新 更多