快重傳和快恢復

2021-10-05 05:02:44 字數 295 閱讀 7149

比如傳送方傳送了1,2,3,4四個報文,2 3 4先後到達接收方,由於接收方收到的是三個失序的報文,就會連續發3個ack為1的報文,表示希望收到報文1。當傳送方接收到1個這樣的冗餘報文時,不採取任何措施,直到收到3個冗餘報文,才認定報文1丟失,此時馬上重傳報文1而不是等待1的超時重傳。這就是快重傳。

另外,既然1丟失了,說明出現了網路擁塞,因此啟動擁塞控制,但是考慮到能連續收到3個冗餘的ack,網路並不是特別差,因此不必採用慢啟動,而是將當前視窗除以2,再加3,即cwnd = cwnd/2+3,這就是快恢復。然後開始啟動擁塞避免演算法。

參考:

快重傳與快恢復

快重傳演算法首先要求接收方每收到乙個失序的報文段後就立即發出重複確認 為的是使傳送方及早知道有報文段沒有到達對方 而不要等待自己傳送資料時才進行捎帶確認。快重傳示意圖如下 如上圖所示,接收方收到了 m1 和 m2 後都分別發出了確認。現假定接收方沒有收到 m3 但接著收到了 m4。顯然,接收方不能確...

TCP擁塞控制 快重傳和快恢復

1 快重傳 快重傳演算法首先要求接收方每收到乙個失序的報文段就立即發出重複確認 為的是使傳送方及早的知道有報文段沒有到達對方 而不要等到自己傳送資料時才捎帶確認。快重傳演算法規定,傳送方只要一連收到三個重複確認就應當立即重傳對方尚未收到的報文段,而不必繼續等待為其設定的重傳計時器到期。2 快恢復 1...

34 tcp擁塞控制 快重傳和快恢復

前面講的慢開始演算法和擁塞避免演算法是tcp擁塞控制早期使用的演算法,後來又增加了快重傳和快恢復這兩個演算法。考慮這麼一種情況 假設現在網路沒有發生擁塞,但是傳送方傳送的個別資料報卻在網路中某一處丟失了,而此時傳送方的超時計時器超時了,又沒有收到確認,在這種情況,tcp擁塞控制會誤認為出現網路擁塞,...