linux下的tcp協議棧超時重傳機制

2021-06-07 17:53:35 字數 467 閱讀 2423

tcp協議有個超時重傳機制,想必大家都比較熟悉。tcp協議是一種傳輸可靠的協議,因此這個機制是必不可少的。那麼今天要**的是在傳送佇列還有資料的情況下,網路連線異常斷開後,協議棧是到底是怎樣來處理這些資料的,資源又是怎樣被**的呢?

我這裡先給出幾個測試的結果:

1、修改linux系統下的tcp_retries2為1,當socket傳送佇列有一定資料時,突然切斷網線,造成異常斷鏈的場景,此時,大約過了1秒,用netstat觀察established的連線消失;

2、繼續把該引數修改為15,重複上面的實驗,發現大約過了15分鐘後,established的連線才斷開;

3、把引數再次修改為5,大約過了7秒,連線消失

思考:tcp的超時後,重傳的次數和重傳的時間間隔是影響連線斷開的主要引數。但是,從上面的實驗資料來看,似乎沒有什麼規律。查閱linux幫助文件,發現這個重傳的時間間隔與rto有關,而這個引數又是協議棧通過檢測網路狀況而實時改變的。

TCP IP協議棧 之 TCP協議

1 tcp的特點 2 tcp資料格式 tcp在ip協議的基礎上進行傳輸資料,tcp資料在ip報文中的位置如下 ip頭部 20位元組 tcp頭部 20字 tcp資料 tcp報文包含頭部和資料兩部分,其資料格式如下 源埠號 16位 目的埠號 16位 序列號 32位 確認號 32位 頭部長度 4位 保留 ...

系統崩潰,TCP協議棧

上學那會兒,學的是譚浩強的c語言教材,書裡說 訪問空指標會造成系統崩潰 我記得大學老師講到這裡的時候,我就會較真兒什麼是系統崩潰,老師便告訴我,訪問任意指標,系統的行為將會是未知的,訪問空指標系統會直接崩潰,我再問什麼是系統,如何崩潰的時候,老師說,系統就是作業系統,崩潰就是藍屏,司機之類的,反正就...

TCP協議 TCP報頭,確認應答機制,超時重傳

tcp協議段格式 tcp報頭各部分意義 urg 緊急指標是否有效,當該標誌位為1時,表示有緊急訊號需要處理 ack 確認號是否有效 psh 提示接收端將接受緩衝區中的資料讓應用層讀走 涉及生產者消費者模型 rst 對方要求重新建立連線,把攜帶rst標識的稱為復位報文段,當連線建立異常時,重新建立連線...