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连接澄清一些事情!
| 归档时间: |
|
| 查看次数: |
8413 次 |
| 最近记录: |