TCP IP三次握手 四次揮手「粗解」

2021-08-29 20:23:28 字數 1442 閱讀 1877

三次握手

client傳送帶有 syn 標誌的資料報–一次握手server

server傳送帶有 syn/ack 標誌的資料報–二次握手client

client傳送帶有帶有 ack 標誌的資料報–三次握手server

三次握手最主要的目的就是雙方確認自己與對方的傳送與接收是正常的。

第一次握手 ==>client 只能傳送,什麼也確認不了;server 確認了client 傳送正常。

第二次握手==>client 確認了:自己傳送、接收正常,server 傳送、接收正常;server 確認了自己接收正常,client 傳送正常。

第三次握手==>client 確認了:自己傳送、接收正常,server 傳送、接收正常;server 確認了:自己傳送、接收正常,client 傳送接收正常。

第二次握手傳回client 所傳送的 syn 是為了告訴client ,我接收到的資訊確實就是你所傳送的訊號了。

四次揮手

client傳送乙個 fin,用來關閉client到server 的資料傳送

server 收到這個 fin,它發回一 個 ack,確認序號為收到的序號加1 。

server 關閉與client的連線,傳送乙個fin給client

client發回 ack 報文確認,並將確認序號設定為收到序號加1

client發回 ack 報文後會進入time_wait的狀態,server收到client發回的ack則關閉連線,如果server在規定時間內沒收到client發回ack報文,server會重新傳送乙個fin給clinet,重新等待client發回ack報文。周而復始。

time_wait狀態:

time_wait也叫做為2msl。

msl==>maximum segment lifetime(忽略翻譯結果!)

這是乙個ip資料報能在網際網路上生存的最長時間,超過這個時間將在網路中消失,tcp允許不同的實現可以設定不同的msl值。server給client傳送fin報文後的msl內,如果server沒收到client傳送的ack報文,server將重新向client傳送fin報文,如果client向server傳送ack報文後,在time_wait的狀態中沒收到server傳送的fin報文,client會關閉連線。time_wait會持續兩倍的msl,這就是time_wait為什麼被稱為2msl。

tcp還有乙個保活計時器。server每收到一次client的請求後都會重新復位這個計時器,時間通常是設定為2小時,若兩小時還沒有收到客戶端的任何資料,伺服器就會傳送乙個探測報文段,以後每隔75分鐘傳送一次。若一連傳送10個探測報文仍然沒反應,伺服器就認為客戶端出了故障,接著就關閉連線。 

TCP IP三次握手 四次揮手

一 tcp ip三次握手原理 建立連線協議 三次握手 1 客戶端向伺服器端傳送連線請求包syn syn j 等待伺服器回應 2 伺服器端收到客戶端連線請求包syn syn j 後,將客戶端的請求包syn syn j 放入到自己的未連線佇列,此時伺服器需要傳送兩個包給客戶端 1.向客戶端傳送確認自己收...

TCP IP三次握手 四次揮手

我們在使用網際網路和別的 進行通訊的時候,都要依賴tcp ip協議。甚至有時候網不太好,瀏覽器會顯示當前狀態 正在與某某 握手.當網路狀態很好的時候,就會一閃而過。本文將詳細總結筆者在學習三次握手四次揮手時的各個狀態以及過程。首先,狀態圖如下。初始時,客戶端和服務端都是closed狀態。這時,客戶端...

TCP IP三次握手四次揮手

tcp三次握手 所謂握手,也就是建立連線,三次過程。三次握手旨在連線到服務端的指定埠,進行通訊。建立乙個tcp連線,需要向客戶端和服務端傳送三個包。其中包含同步序列號和確認號以及tcp視窗大小的資訊交換。一般觸發握手在socket中都是connect 函式觸發的 第一次握手 客戶端傳送tcp請求,s...