tcp重傳機制 對端滑動視窗一直為0時如何處理

時間 2021-05-30 00:09:47

1樓:拳頭

tcp重傳有乙個往返時間RTT 是隨機的有乙個公式

tcp通訊要基於ip的可達性像你說的 tcp發過去包多端存快取裡都無法處理了可見對端網路連通性極差

至於題主如果想研究一些抬槓的東西建議你研究一下qos 看一看快取裡的資料處理過程

2樓:

接收端通告的視窗大小變成0,傳送端會發乙個1位元組的段(就是下一位元組的資料,沒新的資料段傳送的時候發乙個ack)(TCP零視窗探測),強制接收端重新宣告下乙個期望的位元組和視窗大小。如果接收方回覆視窗大小仍然為零,則傳送方的探測定時器加倍。沒有收到ACK時,傳送探測包的最大次數之後連線超時。

3樓:Manistein

有知友提到了0視窗探測,這裡我做乙個補充, 視窗探測是傳送端滑動視窗為零時進行的,當接收方滑動視窗變零後,也就是接收到傳送方滑動視窗裡的全部資料後,會將最後乙個位元組序號+1作為確認號返回傳送方,傳送方的滑動視窗此時變零,引起死鎖(因為視窗為0,沒東西發了,接收方沒東西收也不會反饋),才需要進行0視窗探測的,;如果這個確認資料報中途丟失,會出現接收方滑動視窗為0但是傳送方還是維持之前的大小,此時傳送方還會通過超時重傳機制傳送給接收方,接收方一樣會返回確認,並不是接收方滑動視窗為0時,傳送方就會進行0視窗探測,而是傳送方為0時才進行 。

----以下為原答案---

對端滑動視窗為0,你發過去的資料報也會被丟棄吧,因為沒有收到對端新的期望的確認號,傳送端在傳送快取中的已傳送但未確認的位元組就不會刪,只能進行超時重傳,應用層不用多次再發。具體可以參考謝希仁著的《計算機網路》運輸層那一章,tcp可靠傳輸的實現和tcp流量控制兩節內容,對這種情況有詳細論述。

tcp的快速恢復機制是怎樣的呢?

首先你要區分下你看的材料到底講的是哪種tcp演算法。沒錯,tcp演算法有很多變種,常見的有tcp reno,tcp new reno,他們對擁塞避免及恢復有著不一樣的定義方式。可以看一下rfc文件,如793,2581,2582等。去看看實現的細節。如果想省事,也可以看看這些不同演算法的狀態機是如何實...

TCP的被動關閉端為什麼不需要類似TIME WAIT的狀態?

問題1那被動關閉端也有可能發出了ACK對端沒收到,為什麼不需要進入類似TIME WAIT的狀態,而是直接CLOSED了呢?TIME WAIT 正是被動關閉端發起後才出現的。遇到這個情況通過超時重傳,如果還是不行,對方傳送rst的包。直接放棄。問題2 這種情況下,對端也即主動關閉端是否會一直停留在CL...

對稱密玥傳送在端對端加密 end to end)中?

玄星 end to end 的乙個關鍵安全要求是讓被加密的資訊只有參與通訊的兩方可以解密讀取。第乙個是A選擇乙個密匙然後發給B 我想你老師其實講的是客戶端A用伺服器B的公鑰加密session key後發給伺服器。顯然,這種方式不一定能用來保證兩個客戶端A C之間的通訊安全。第二個方法是第三方C選擇乙...