Tcp的三次握手,四次揮手簡單理解

2021-10-01 14:10:47 字數 840 閱讀 9161

客戶端:在嗎 ? (向伺服器端傳送同步包(syn))

伺服器端:在的 (向客戶端傳送確認包(ack)+同步包)

客戶端:好的 (向伺服器傳送確認包)

開始搞基···

1.客戶端:我要好了。。額額!!

2.伺服器端:好的,我也馬上了!

3.伺服器端:我也好了。。啊!!

4.客戶端:好的(索然無味)

步驟1:

客戶端傳送釋放連線報文,發出後進入fin-wait-1(終止等待1)狀 態

步驟2:

伺服器端收到釋放連線報文,發出ack,進入close-wait(關閉等待狀態),客戶端收到ack後進入fin-wait-2(終止等待2狀態)

步驟3:

伺服器傳送完資料後,傳送釋放連線報文,進入last-ack(最後確認)狀態

步驟4:

客戶端傳送ack,確定關閉,進入time-wait(時間等待)狀態,此時tcp還沒有釋放,經過2*msl(最長報文壽命)時間後,客戶端撤銷 tcb,進入close狀態,伺服器端在接收到ack後,直接進入close狀態

為什麼客戶端要經過2*msl後才能關閉

防止伺服器端沒有收到最後乙個ack,如果伺服器端在處於最後確認狀態下一直沒有收到ack,那麼會不斷傳送fin包。如果在2*msl的時間段內客戶端沒有收到fin包,那麼就關閉。

連線的時候是三次,關閉的時候是四次,為什麼?

連線的時候,伺服器端直接傳送ack+syc,關閉的時候伺服器只能先傳送ack

再傳送釋放連線報文

建立連線後,客戶端出現故障,伺服器怎麼辦

當伺服器端連續2個小時沒有接收到客戶端的資料後,每隔75s傳送一次探測報文,10次後若沒有響應,關閉連線。

三次握手四次揮手,簡單易懂。

了解三次握手四次揮手之氣那需要先先了解幾個基本知識點 1 fin 1表示此報文段的傳送方的資料已經傳送完畢,請求釋放傳輸連線。2 確認欄位號 ack 期望接收報文段的資料的第乙個位元組的序號,ack n表示序號n 1為止的所有資料都正確接收到。3 確認位 只有ack 1時確認號字段才有效,ack 0...

TCP的三次握手與四次揮手(簡化)

把我覺得比較有用的知識整合和簡化了一下 報文頭部 1 同步syn,在連線建立時用來同步序號。當syn 1,ack 0,表明是連線請求報文,若同意連線,則響應報文中應該使syn 1,ack 1 2 確認ack,僅當ack 1時,確認號字段才有效。tcp規定,在連線建立後所有報文的傳輸都必須把ack置1...

TCP的三次握手和四次揮手簡述

客戶端向伺服器傳送syn報文段,伺服器接受到,此時伺服器可以確認自己的接收能力是否正常 伺服器向客戶端傳送syn報文段和ack報文段,客戶端接收到,此時客戶端可以確認自己的傳送能力和接受能力是否正常,但是此時伺服器端只能確認自己的接收能力,並不能確認自己的傳送能力是否正常 客戶端向伺服器端傳送ack...