在某些特殊情況下,tcp連線的一端會向另一端傳送攜帶rts標誌的報文段,即復位報文段,以通知對方關閉連線或重新建立連線。
訪問不存在的埠
當客戶端程式訪問乙個不存在的埠時,目標主機將給他傳送乙個復位報文段。
異常終止連線
tcp提供了異常終止連線的方法,即給對方傳送乙個復位報文段。一旦傳送了復位報文段,傳送端所有排隊等待傳送的資料都將被丟棄。
應用程式可以使用socket選項so_linger來傳送復位報文段,以異常終止乙個連線。
處理半開啟連線
伺服器(或客戶端)關閉或異常終止了連線,而對方沒有接受到結束報文段(比如發生了網路故障),此時,客戶端(或伺服器)還維持著原來的連線,而伺服器(或客戶端)即使重啟,也已經沒有該連線的任何資訊了。這種狀態被稱為半開啟狀態,處於這種狀態的連線叫做半開啟連線。如果客戶端(或伺服器)往處於半開啟狀態的連線裡寫入資料,則對方會回應乙個復位報文段。
TCP的狀態變遷及RST報文段產生與處理
close socket的初始狀態,沒有進行任何操作 connect,listen 之前的狀態 listen 可以接受syn的狀態,伺服器等待連線 syn received 乙個連線請求已經到達,等待確認 syn sent 發出連線請求,等待確認 establised 連線建立成功,可以進行資料通訊...
TCP復位報文段與常見網路連線錯誤
unable to connect to remote host connection refused read error connection reset by peer connection closed by foreign host 特別是前兩個錯誤描述,相信很多人都碰到過,但是最底層原因...
TCP報文段的首部格式
源埠 目的埠 序號確認號 資料偏移 保留urg ackpsh rstsyn fin視窗 校驗和緊急指標 選項 長度可變 填充tcp報文段首部的前20個位元組是固定,後面有4n位元組是根據需要而增加的選項,因此tcp首部最小長度20位元組。1.源埠和目的埠 各佔2個位元組,分別寫入源埠號和目的埠號。埠...