TCP是因特網中的傳輸層協議,使用三次握手協議建立連接,下面是TCP建立連接的全過程。
TCP斷開連接的過程:TCP四次揮手。
TCP/IP 協議簇分層結構
數據鏈路層主要負責處理傳輸媒介等眾多的物理接口細節;
網絡層負責處理數據分組在網絡中的活動,包括上層數據報文的分割、選路 等;
傳輸層則負責為兩台主機提供端到端的通信;
應用層將負責處理應用程序的特定細節。
其中,IP 協議是網絡層的核心協議,用來提供不可靠、無連接的數據傳遞服務;而 TCP 協議則處於傳輸層,其基於不可靠無連接的 IP 協議能夠為兩台主機提供面向連接的、可靠的通信。
探測 TCP 連接斷連的三種常用方法
探測 TCP 連接是否斷連或是工作正常的原理比較簡單:定期向連接的遠程通信節點發送一定格式的信息並等待遠程通信節點的反饋,如果在規定時間內收到來自遠程節點的正確的反饋信息,那么該連接就是正常的,否則該連接已經斷連。依據該原理,目前常用的探測方法有以下三種。
應用程序的自我探測
應用程序本身附帶探測其自身建立的 TCP 連接的功能。這種方法具有極大的靈活性,可以依據應用本身的特點選擇相應的探測機制和功能實現。然而,實際應用中,大部分應用程序均沒有附帶自我探測的功能。
第三方應用程序的探測
此種方法就是在服務節點上安裝相應的第三方應用程序來探測該節點上所有的 TCP 連接是否正常或是已經斷連。該方法最大的不足就是需要所有支持探測的客戶端能夠識別來自該探測應用的數據報文,因此,實際應用中比較少見。
TCP 協議層的保活探測
最常用的探測方法就是采用 TCP 協議層提供的保活探測功能即 TCP 連接保活定時器。盡管該功能並不是 RFC 規范的一部分,但是幾乎所有的類 Unix 系統均實現了該功能,所以使得該探測方法被廣泛使用。
轉載:http://www.ibm.com/developerworks/cn/aix/library/0808_zhengyong_tcp/ TCP 連接斷連問題剖析
http://blog.csdn.net/hguisu/article/details/38700899 TCP連接的狀態詳解以及故障排查
http://blog.csdn.net/kkkkkxiaofei/article/details/12966407 Tcp通信中服務器處理客戶端意外斷開