TCP 三次握手過程
傳輸控制協議 (TCP) 使用三次握手過程在兩個裝置之間提供安全可靠的連線。TCP 使用全雙工連線來同步 (SYN) 並確認 (ACK) 雙方。建立和關閉連線都包含三個步驟:SYN、SYN-ACK 和 ACK。
三次握手連線建立過程
下圖顯示瞭如何使用三次握手建立可靠連線。每當使用者瀏覽網際網路時,它都將支援客戶端和伺服器端 Web 瀏覽器之間的通訊。
同步序列號 (SYN) - 客戶端向伺服器傳送 SYN
- 當客戶端想要連線到伺服器時,它會透過將 SYN 標誌設定為 1 向伺服器傳送訊息。
- 該訊息攜帶一些其他資訊,例如序列號(32 位隨機數)。
- ACK 設定為 0。還設定了最大報文段大小和視窗大小。例如,如果視窗大小為 1000 位,最大報文段大小為 100 位,則透過劃分 (1000/100=10) 可以在此連線中傳輸最多 10 個數據段。
同步並確認 (SYN-ACK) 到客戶端
- 伺服器透過將 ACK 標誌設定為 1 來確認客戶端請求。
- ACK 指示它接收到的報文段的響應,而 SYN 指示它將以什麼序列號開始報文段。
- 例如,如果客戶端已傳送序列號 = 500 的 SYN,則伺服器將使用確認號 = 5001 傳送 ACK。
- 如果伺服器也想要建立連線,則伺服器將把 SYN 標誌設定為“1”並將其傳送到客戶端。
- 用於 SYN 的序列號將與客戶端的 SYN 不同。
- 伺服器還會向客戶端通告其視窗大小和最大報文段大小。並且,從客戶端到伺服器端建立了連線。
確認 (ACK) 到伺服器
- 客戶端在收到來自伺服器的同步 (SYN) 後,向伺服器傳送確認 (ACK)。
- 在客戶端收到 (ACK) 後,客戶端和伺服器之間建立了連線。
- 現在,資料可以在客戶端和伺服器之間傳輸。
三次握手關閉連線過程
要關閉三次握手連線,
- 首先,客戶端透過傳送 FIN 請求伺服器終止已建立的連線。
- 伺服器在收到客戶端請求後,向客戶端傳送 FIN 和 ACK 請求。
- 客戶端在收到來自伺服器的 FIN + ACK 後,透過向伺服器傳送 ACK 進行確認。
廣告