快重傳和快恢復
發布時間:2014/9/7 21:56:44 訪問次數:1813
上面講的慢開始和擁塞避免算法是1988年提出的TCP擁塞控制算法。1990年又增加了兩個新的擁塞控制算法。 GAL16LV8D-10LJ這就是快重傳和快恢復。
提出這兩個算法是基于如下的考慮:
如果發送方設置的超時計時器時限已到但還沒有收到確認,那么很可能是網絡出現了擁塞,致使報文段在網絡中的某處被丟棄。在這種情況下,TCP馬上挹擁塞窗口cwnd減小到1,并執行慢開始算法,同時把慢開始門限值ssthresh減半,如前面的圖5-25所示。這是不使用快重傳的情況。
再看使用快重傳的情況。快重傳算法首先要求接收方每收到一個失序的報文段后就立即發出重復確認(為的是使發送方及早知道有報文段沒有到達對方)而不要等待自己發送數據時才進行捎帶確認。在圖5-26所示的例子中,接收方收到了Mi和M2后都分別發出了確認。現假定接收方沒有收到M3但接著收到了M4。顯然,接收方不能確認M4,因為M4是收到的失序報文段(按照順序的M3還沒有收到)。根據可靠傳輸原理,接收方可以什么都不做,也可以在適當時機發送一次對M2的確認。但按照快重傳算法的規定,接收方應及時發送對M2的重復確認,這樣做可以讓發送方及早知道報文段M3沒有到達接收方。發送方接著發送Ms和M6。接收方收到后,也還要再次發出對M2的重復確認。這樣,發送方共收
到了接收方的四個對M2的確認,其中后三個都是重復確認。快重傳算法規定,發送方只要一連收到三個重復確認就應當立即重傳對方尚未收到的報文段M3,而不必繼續等待為M3設置的重傳計時器到期。由于發送方能盡早重傳未被確認的報文段,因此采用快重傳后可以使整介網絡的吞吐量提高約20%。
上面講的慢開始和擁塞避免算法是1988年提出的TCP擁塞控制算法。1990年又增加了兩個新的擁塞控制算法。 GAL16LV8D-10LJ這就是快重傳和快恢復。
提出這兩個算法是基于如下的考慮:
如果發送方設置的超時計時器時限已到但還沒有收到確認,那么很可能是網絡出現了擁塞,致使報文段在網絡中的某處被丟棄。在這種情況下,TCP馬上挹擁塞窗口cwnd減小到1,并執行慢開始算法,同時把慢開始門限值ssthresh減半,如前面的圖5-25所示。這是不使用快重傳的情況。
再看使用快重傳的情況。快重傳算法首先要求接收方每收到一個失序的報文段后就立即發出重復確認(為的是使發送方及早知道有報文段沒有到達對方)而不要等待自己發送數據時才進行捎帶確認。在圖5-26所示的例子中,接收方收到了Mi和M2后都分別發出了確認。現假定接收方沒有收到M3但接著收到了M4。顯然,接收方不能確認M4,因為M4是收到的失序報文段(按照順序的M3還沒有收到)。根據可靠傳輸原理,接收方可以什么都不做,也可以在適當時機發送一次對M2的確認。但按照快重傳算法的規定,接收方應及時發送對M2的重復確認,這樣做可以讓發送方及早知道報文段M3沒有到達接收方。發送方接著發送Ms和M6。接收方收到后,也還要再次發出對M2的重復確認。這樣,發送方共收
到了接收方的四個對M2的確認,其中后三個都是重復確認。快重傳算法規定,發送方只要一連收到三個重復確認就應當立即重傳對方尚未收到的報文段M3,而不必繼續等待為M3設置的重傳計時器到期。由于發送方能盡早重傳未被確認的報文段,因此采用快重傳后可以使整介網絡的吞吐量提高約20%。
上一篇:TCP連接進行初始化
上一篇:與快重傳配合使用的還有快恢復算法