TCP四次揮手

四次揮手

第一次揮手

client發(fā)送一個FIN=1(seq=X)包,此時client進入FIN-WAIT-1狀態(tài),這表明client已經(jīng)沒有數(shù)據(jù)要發(fā)送了。

第二次揮手

server收到了client發(fā)來的FIN=1(seq=X)包后,向client發(fā)回一個ACK=1(ack=X+1)包,此時server進入CLOSE-WAIT狀態(tài),client進入FIN-WAIT-2狀態(tài)。

第三次揮手

server向client發(fā)送FIN=1(seq=Y)包,請求關(guān)閉連接,同時server進入LAST-ACK狀態(tài)。

第四次揮手

client收到server發(fā)送的FIN(N)包,進入TIME-WAIT狀態(tài)。向server發(fā)送ACK=1(ack=Y+1)包,server收到client的ACK=1(ack=Y+1)包以后,進入CLOSE狀態(tài);client等待一段時間還沒有得到回復(fù)后判斷server已正式關(guān)閉,進入CLOSE狀態(tài)。

wireshark解析

第一次揮手

客戶端給服務(wù)器發(fā)送TCP包,用來關(guān)閉客戶端到服務(wù)器的數(shù)據(jù)傳送。將標志位FIN和ACK置為1,序號為X=1,確認序號為Z=1。


Paste_Image.png

Paste_Image.png

第二次揮手

服務(wù)器收到FIN后,發(fā)回一個ACK(標志位ACK=1),確認序號為收到的序號加1,即X=X+1=2。序號為收到的確認序號=Z。


Paste_Image.png

Paste_Image.png

第三次揮手

服務(wù)器關(guān)閉與客戶端的連接,發(fā)送一個FIN。標志位FIN和ACK置為1,序號為Y=1,確認序號為X=2。


Paste_Image.png

Paste_Image.png

第四次揮手

客戶端收到服務(wù)器發(fā)送的FIN之后,發(fā)回ACK確認(標志位ACK=1),確認序號為收到的序號加1,即Y+1=2。序號為收到的確認序號X=2。


Paste_Image.png

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容