先决条件:HTTP 非持久性和持久性连接 – 设置 1
对于问题的观点,您需要知道非持久连接称为HTTP 1.0 ,持久连接称为HTTP 1.1 。
- 非持久连接:它需要为每个要发送的对象一次又一次地建立连接。
- 持久连接:它不需要一次又一次的连接设置。多个对象可以使用连接。
问题:假设您有包含 30 个嵌入图像的基本 HTML 文件,图像和基本文件小到足以放入一个 TCP 段。在以下条件下检索基本文件和图像需要多少 RTT:
(i) 无并联连接的非持久连接
(ii) 10 个并行连接的非持久连接
(iii) 无管道内衬的持久连接
(iv) 与管道内衬的持久连接
(假设 RTT 主导所有其他时间)
解释 :
2RTT 是初始所需的连接,一种用于 TCP 连接,另一种用于 HTML 基本文件。
Total time = 2RTT + transmit time
(i) 没有并行连接的非持久连接:
这里对于每个图像需要 2 个 RTT,一个用于 TCP 连接,一个用于图像发送。
所以 30 张图像的传输时间 = 2*(30 RTT) = 60 RTT
总时间 = 2 RTT+60 RTT = 62RTT
(ii) 具有 10 个并行连接的非持久连接:
这里可以同时发送 10 张图像。
因此,对于 30 张图像,它需要 -> 2*(30/10) = 6RTT
总时间 = 2 RTT + 6 RTT = 8RTT
(iii) 没有流水线的持久连接:
这里一次又一次地需要 TCP 连接。
因此,对于 30 张图像,它需要 -> 30 个 RTT
总时间 = 2 RTT + 30 RTT = 32RTT
(iv) 与管道内衬的持久连接:
既然是持久连接,TCP连接就不再需要一次次了。
流水线意味着在一个数据包中只能发送适合的图像。
在管道连接中,我们可以在 1RTT 中发送所有图像。
总时间 = 2 RTT + 1 RTT = 3RTT