TCP連接的建立和釋放分別通過“三次握手”和“四次揮手”來完成。
三次握手過程
TCP三次握手是建立可靠網絡連接的關鍵過程,它用于確保通信雙方能夠正常發送和接收數據,并提供可靠的數據傳輸機制。三次握手的主要目標包括:
? 同步雙方的序列號
? 確認雙方的接收和發送能力
? 防止因為過期報文導致的誤連接

1
第一次握手
? 客戶端發送一個SYN(同步)請求報文,表示希望建立連接,并附帶初始序列號(Sequence Number)。< 客戶端撥通服務器的電話,說“喂?聽得到嗎?”>? 客戶端進入 SYN_SENT 狀態,等待服務器的響應。
2
第二次握手
? 服務器收到請求后,回復一個SYN+ACK(同步+確認)報文。< “聽得到!你那邊OK嗎?”>? ACK字段確認客戶端的序列號,同時服務器生成自己的初始序列號。
? 服務器進入 SYN_RCVD 狀態,等待客戶端的確認。
3
第三次握手
? 客戶端收到服務器的確認后,再發送一個ACK(確認)報文,確認服務器的響應。<客戶端確認:“沒問題,開始聊吧!”>? 客戶端進入 ESTABLISHED 狀態,服務器也進入 ESTABLISHED 狀態,連接正式建立。下面是TCP頭部的一個簡單介紹:上述流程中提到:

序列號:
定義:序列號標識數據流中每個字節的唯一編號,用于確保數據的有序傳輸。
初始值:在連接建立時,序列號由發送方隨機生成。
變化規則:每發送一個數據段,序列號會增加該數據段的字節數。例如,發送100字節的數據后,序列號會增加100。
作用:解決網絡中數據包亂序問題,確保接收方能夠按照正確順序重組數據。
確認號:
定義:確認號表示接收方期望收到的下一個數據包的序列號。
變化規則:確認號等于接收到的序列號加上數據段的長度。如果接收到的是SYN或FIN報文,則確認號加1。
作用:通知發送方哪些數據已經被成功接收,解決丟包問題。
確認號和序列號機制是確保TCP數據傳輸數據可靠性的關鍵機制。
為什么要三次握手?
簡單來講,三次握手是保證通信穩定正確的最小開銷。
可以有一個很簡單的對話例子:
? A — B:你聽得到我嗎?
? B — A:我聽得到,你能聽到我嗎?
? A — B:我也能聽到,我們可以開始正式交流了。
三次握手通過同步序列號,確認機制等等,確保了TCP連接的穩定性和可靠性。
四次揮手過程
TCP的四次揮手是用于終止TCP連接的過程,確保雙方都能可靠地關閉連接。

1
第一次揮手
客戶端發送一個帶有FIN(Finish)標志的報文段,表示客戶端不再發送數據,但仍然可以接收數據。此時客戶端進入FIN_WAIT_1狀態。< 客戶端說:“我講完了,先掛了”>
2
第二次揮手
服務器收到客戶端的FIN報文后,發送一個ACK(Acknowledgment)報文作為確認,確認序號為收到的序號加1。此時服務器進入CLOSE_WAIT狀態,客戶端收到ACK后進入FIN_WAIT_2狀態。< 服務器回應:“收到,我還在處理消息。”>
3
第三次揮手
服務器在完成數據發送后,向客戶端發送一個FIN報文,表示服務器也不再發送數據。此時服務器進入LAST_ACK狀態,等待客戶端的確認。< 服務器處理完數據后說:“我也講完了。”>
4
第四次揮手
客戶端收到服務器的FIN報文后,發送一個ACK報文作為確認,確認序號為收到的序號加1。此時客戶端進入TIME_WAIT狀態,等待2MSL(最大報文段生存時間)后進入CLOSED狀態。服務器收到ACK后,立即進入CLOSED狀態。< 客戶端確認:“好的,再見!”>
注:如果服務器沒有收到客戶端的ACK,會在2MSL后重傳FIN,客戶端在TIME_WAIT狀態可以重新發送ACK。2MSL的時間足以讓網絡中所有舊的重復報文段消失,防止它們干擾新的連接。
為什么需要四次揮手?
全雙工通信:TCP是全雙工的,每個方向都需要單獨關閉。客戶端發送FIN表示不再發送數據,但服務器可能仍有數據要發送,因此需要服務器也發送FIN來確認關閉。
可靠關閉:通過四次揮手,確保雙方都能確認對方的關閉意圖,避免數據丟失或不完整。
億佰特串口服務器推薦

億佰特串口服務器產品涵蓋單串口服務器、多串口服務器、Wi-Fi串口服務器以及串口服務器模組等,可提供串口轉網絡功能,能夠將串口數據轉換成TCP/IP協議數據,實現串口與網絡的雙向透明傳輸。被廣泛應用于考勤系統、機房監控、電力監控等場景。
-
數據傳輸
+關注
關注
9文章
2002瀏覽量
65663 -
TCP
+關注
關注
8文章
1397瀏覽量
80371 -
報文
+關注
關注
0文章
39瀏覽量
4157
發布評論請先 登錄
TCP/IP協議工作過程的三次握手和四次揮手
TCP三次握手過程及四次揮手過程說明
TCP三次握手和四次揮手以及11種狀態資料下載

如何使用WireShark進行TCP三次握手
TCP建立連接概述及三次握手、四次揮手的流程

評論