网络是我攻读硕士学位的最后一门课程。我确实有一个关于如何通过流水线计算非持久性、持久性和持久性 http 的往返时间的问题。
在花了无数小时阅读有关该问题、从其他 unis 下载笔记甚至搜索 youtube 视频之后,我无法解决这个问题。
为了理解 RTT 是如何计算的,让我们假设一个客户端请求一个包含 10 个图像的 HTML 页面。[让我们保持传播延迟为零。]
请按照我的逻辑
首先,TCP 连接的 3 次握手算作 1 个 RTT。当 TCP 连接关闭时也是如此。
1) 在非 Persistent 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) 在使用流水线的 Persistent HTTP 中,我们需要一个 RTT 来打开 TCP 连接,一个 RTT 来发送 10 个对象,一个 RTT 来关闭连接。这导致 1RTT+1RTT+1RTT=3 RTT。
对此问题的任何帮助将不胜感激!