Round Trip Time Http on non persistent,persistent,persistent with pipelining

Jam*_*s.D 4 tcp http persistent pipelining

网络是我硕士学位的最后一门课程.我确实有一个关于如何计算非持久性,持久性和持久性与流水线的http的往返时间的问题.

花了无数个小时阅读有关问题,从其他unis下载笔记,甚至搜索youtube视频我无法解决这个问题.

为了理解如何计算RTT,我们只是说客户端要求包含10个图像的HTML页面.[让我们将传播延迟保持为零.]

请遵循我的逻辑

首先,TCP连接的3路握手计为1 RTT.TCP连接关闭时也是如此.

1)在非持久性HTTP中,我们必须建立TCP连接,因此到目前为止它是1个RTT.由于我们有10个对象,我们将有2*10 = 20个RTT.这导致1RTT +20 RTT = 21 RTT.[另一种可以计算的方法是说,因为它每次打开新的连接,对于10个对象,它将需要3个RTT,因此它将是30个RTT.

2)在持久性HTTP中,我们需要一个1RTT用于连接,1个用于每个对象.这导致1RTT + 10RTT = 11 RTT.[我应该添加一个RTT来关闭连接,从而导致12个RTT?根据我的理解,它会在一段时间后自行消失.]

3)在使用流水线操作的持久HTTP中,我们需要一个RTT来打开TCP连接,一个RTT发送10个对象,一个RTT来关闭连接.这导致1RTT + 1RTT + 1RTT = 3 RTT.

任何有关此事的帮助将非常感谢!

小智 7

我知道这已经很晚了,但我会回答其中一些问题,以帮助那些可能在某些时候遇到过这个帖子的人.

因此,我们希望从页面中获取10个对象.这是我们的目标.

首先,我们需要做几件事来实现我们的目标.

第1步 我们需要首先找到页面的地址.我们通过访问多个DNS服务器来执行此操作,直到找到所需的地址.这是RTT1 + RTT2 + ... + RTTn.

步骤2 现在我们有了页面的地址,我们需要询问它对10个对象的引用.由于这是一个非持久性TCP连接,我们使用RTT来初始化连接,并使用RTT来请求和检索引用.这是2RTT.

第3步 最后,我们可以获得所有10个对象.由于这是非持久连接,每次我们需要一个对象时,我们需要初始化连接,然后请求并检索该对象.我们这样做了10次.10(2RTT)

总计他们!

Total Time = (2RTT) + 10(2RTT) + (RTT1 + RTT2 + ... + RTTn)
       = 11(2RTT) + (RTT1 + RTT2 + ... + RTTn)
       = 22RTT + (RTT1 + RTT2 + ... + RTTn)
Run Code Online (Sandbox Code Playgroud)

我希望这有助于为非持久TCP连接澄清一些事情!

  • 关闭TCP连接怎么样? (2认同)