【问题标题】:number of roundtrip times往返次数
【发布时间】:2015-04-02 21:14:29
【问题描述】:

我遇到了这个公式,用于计算将文件从 A 站发送到 B 站所需的往返次数 不。 RTT=log(filesize)+1

谁能澄清这个公式?我的意思是它是一个正确的公式吗?这个公式是从哪里来的?

【问题讨论】:

    标签: network-protocols


    【解决方案1】:

    我认为这绝不是准确的,您无法预测 RTT 的确切数量,仅适用于完美的情况,并且您需要考虑各种变量。我想它指的是复杂性,即 O(log(filesize))。或许你可以参考 TCP 算法来避免慢启动拥塞。

    算法缓慢启动拥塞避免旨在让节点对网络拥塞做出反应并帮助解决它,同时尽可能快地使用最大可能的带宽。权衡这两种需求。

    作为一个快速简单的解释,当一个节点发送数据时,在 TCP 中,它会发送一个报文段,并等到另一个节点发送 ACK,然后它会在没有收到 ACK 的情况下将发送的 TCP 报文段数加倍。它将发送 2 个段,当收到 ACK 时,它会发送 4 个没有 ACK 的段。它将使用指数公式发送 1,2,4,8 ...,直到发生超时(没有收到 ACK)。

    假设没有 ACK,RTT 的数量将是 O(log(filesize))。考虑到 1500 个八位字节的 MTU(最大传输单元),IP 和 TCP 标头有 40 个字节,最大分段大小将为 1460 个八位字节(字节)。如果文件为 14600 Bytes,则传输的往返次数大约为 4,不考虑 3 次握手的往返行程,也不考虑连接关闭。这个,如果没有超时。

    关于时间,您还需要考虑传输时间等因素。我的解释不包括更复杂的情况,如延迟确认、不同的初始拥塞窗口、服务器缓慢等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 2012-05-16
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2019-03-25
      相关资源
      最近更新 更多