2016-07-01 50 views
1

網絡是我在碩士學位課程的最後一門課程。我確實有一個關於如何計算http持久化,持久化和持久化流水線的往返時間的問題。往返時間Http on non persistent,persistent,persistent with pipelining

在花費無數小時閱讀有關該問題後,從其他unis下載筆記,甚至搜索youtube視頻,我無法將其整理出來。

爲了理解RTT是如何計算的,我們只需要說客戶端要求包含10個圖像的HTML頁面。 [讓我們繼續傳播延遲爲零。]

請按照我的邏輯

首先的3向握手是TCP連接不計爲1個RTT的。 TCP連接關閉時也是如此。

1)在非持久HTTP中,我們必須建立TCP連接,因此它至今只有1個RTT。由於我們有10個對象,我們將有2 * 10 = 20個RTT。這導致1RTT + 20RTT = 21RTT。 [可以計算的另一種方式是說,由於每次打開新的連接,對於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 = 3RTT。

任何有關此事的幫助將不勝感激!

+0

https://app.box.com/v/fileserver2/file/96332293840 這是一個pdf,很好地解釋了這裏的學習。 –

回答

3

我知道這已經很晚了,但我會回答一些以幫助那些在某些時候可能會在Google上看到此線索的人。

所以,我們希望從頁面中獲得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連接!