複製鏈接
請複製以下鏈接發送給好友

rst

(TCP協議的6個標誌之一)

鎖定
TCP首部中的6個標誌比特之一,表示重置連接、復位連接。一般説來,無論何時一個報文段發往基準的連接(referenced connection)出現錯誤,TCP都會發出一個復位報文段。
外文名
rst
含    義
重置連接、復位連接

rst功能及作用

一般説來,無論何時一個報文段發往基準的連接(referenced connection)出現錯誤,TCP都會發出一個復位報文段(這裏提到的“基準的連接”是指由目的IP地址和目的端口號以及源IP地址和源端口號指明的連接。)

rst使用場景

到不存在的端口的連接請求
產生復位的一種常見情況是當連接請求到達時,目的端口沒有進程正在監聽。對於UDP,當一個數據報到達目的端口時,該端口沒在使用,它將產生一個ICMP端口不可達的信息。而TCP則使用復位。
異常終止一個連接
終止一個連接的正常方式是一方發送FIN。有時這也稱為有序釋放(orderly release),因為在所有排隊數據都已發送之後才發送FIN,正常情況下沒有任何數據丟失。但也有可能發送一個復位報文段而不是FIN來中途釋放一個連接。有時稱這為異常釋放(abortive release)。
異常終止一個連接對應用程序來説有兩個優點:
(1)丟棄任何待發數據並立即發送復位報文段;
(2)RST的接收方會區分另一端執行的是異常關閉還是正常關閉。應用程序使用的API必須提供產生異常關閉而不是正常關閉的手段。
需要注意的是RST報文段不會導致另一端產生任何響應,另一端根本不進行確認。收到RST的一方將終止該連接,並通知應用層連接復位。
檢測半打開連接
如果一方已經關閉或異常終止連接而另一方卻還不知道,我們將這樣的T C P連接稱為半打開(Half-Open)的。任何一端的主機異常都可能導致發生這種情況。只要不打算在半打開連接上傳輸數據,仍處於連接狀態的一方就不會檢測另一方已經出現異常。
半打開連接的另一個常見原因是當服務器主機突然掉電而不是正常的結束服務應用程序後再關機,服務器主機重啓後,從客户向服務器發送另一行字符。由於服務器的TCP已經重新啓動,它將丟失復位前連接的所有信息,因此它不知道數據報文段中提到的連接。TCP的處理原則是接收方以復位作為應答。
[1] 
參考資料
  • 1.    W.Richard Stevens.TCP/IP詳解 卷1:協議:機械工業出版社,2000-4-1:189