gpt4 book ai didi

http - 往返时间 Http on non persistent, persistent, persistent with pipelining

转载 作者:可可西里 更新时间:2023-11-01 02:32:31 28 4
gpt4 key购买 nike

网络是我硕士学位的最后一门类(class)。我确实有一个关于如何计算非持久、持久和持久流水线的 http 往返时间的问题。

在花了无数小时阅读有关该问题、从其他大学下载笔记甚至搜索 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's= 11 RTT's。 [我应该添加一个 RTT 来关闭连接从而导致 12 个 RTT 吗?据我了解,它会在一段时间后自行超时。]

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

如有任何帮助,我们将不胜感激!

最佳答案

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

所以,我们想从一个页面中获取 10 个对象。这是我们的目标。

首先,我们需要做几件事才能实现我们的目标。

第一步我们需要首先找到页面的地址。为此,我们会访问多个 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 连接的事情!

关于http - 往返时间 Http on non persistent, persistent, persistent with pipelining,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38151102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com