非持久、持久、带管道的持久Http上的往返时间

非持久、持久、带管道的持久Http上的往返时间,http,tcp,persistent,pipelining,Http,Tcp,Persistent,Pipelining,网络是我硕士学位的最后一门课程。我确实有一个关于如何计算http在非持久性、持久性和持久性管道上的往返时间的问题 在花了无数个小时阅读关于这个问题的文章,从其他新闻单位下载笔记,甚至搜索youtube视频后,我无法理清这个问题 为了理解RTT是如何计算的,让我们假设一个客户端请求一个包含10个图像的HTML页面。[让我们将传播延迟保持为零。] 请遵循我的逻辑 首先,TCP连接所做的三次握手被视为1 RTT。TCP连接关闭时也是如此 1) 在非持久性HTTP中,我们必须建立TCP连接,以便到目前为

网络是我硕士学位的最后一门课程。我确实有一个关于如何计算http在非持久性、持久性和持久性管道上的往返时间的问题

在花了无数个小时阅读关于这个问题的文章,从其他新闻单位下载笔记,甚至搜索youtube视频后,我无法理清这个问题

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

请遵循我的逻辑

首先,TCP连接所做的三次握手被视为1 RTT。TCP连接关闭时也是如此

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

2) 在持久HTTP中,连接需要一个1RTT,每个对象需要一个。这导致1RTT+10RTT=11 RTT。[我是否应该添加一个RTT以关闭连接,从而导致12个RTT?据我所知,它将在一段时间后自行超时。]

3) 在带有管道的持久HTTP中,我们需要一个RTT来打开TCP连接,一个RTT来发送10个对象,一个RTT来关闭连接。这导致1RTT+1RTT+1RTT=3个RTT


在此问题上的任何帮助都将不胜感激

我知道现在已经晚了,但我会回答其中一些问题,以帮助那些可能在某个时候在谷歌上遇到这个问题的人

因此,我们希望从一个页面中获得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)

我希望这有助于澄清关于非持久TCP连接的事情

这是一个pdf文件,很好地解释了这里的研究。关闭TCP连接怎么样?