日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三次握手为什么没有序列号_图解TCP三次握手与四次分手

發(fā)布時間:2023/12/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三次握手为什么没有序列号_图解TCP三次握手与四次分手 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TCP三次握手和四次揮手不管是在開發(fā)還是面試中都是一個非常重要的知識點,它是我們優(yōu)化web程序性能的基礎。但是大部分教材都對這部分解釋的比較抽象,本文我們就利用wireshark來抓包以真正體會整個流程的細節(jié)。

三次握手

根據(jù)下面這幅圖我們來看一下TCP三次握手。p.s: 每個箭頭代表一次握手。

第一次握手

client發(fā)送一個SYN(J)包給server,然后等待server的ACK回復,進入SYN-SENT狀態(tài)。p.s: SYN為synchronize的縮寫,ACK為acknowledgment的縮寫。

第二次握手

server接收到SYN(seq=J)包后就返回一個ACK(J+1)包以及一個自己的**SYN(K)**包,然后等待client的ACK回復,server進入SYN-RECIVED狀態(tài)

第三次握手

client接收到server發(fā)回的ACK(J+1)包后,進入ESTABLISHED狀態(tài)。然后根據(jù)server發(fā)來的SYN(K)包,返回給等待中的server一個ACK(K+1)包。等待中的server收到ACK回復,也把自己的狀態(tài)設置為ESTABLISHED。到此TCP三次握手完成,client與server可以正常進行通信了。

為什么要進行三次握手

我們來看一下為什么需要進行三次握手,兩次握手難道不行么?這里我們用一個生活中的具體例子來解釋就很好理解了。我們可以將三次握手中的客戶端和服務器之間的握手過程比喻成A和B通信的過程:

  • 在第一次通信過程中,A向B發(fā)送信息之后,B收到信息后可以確認自己的收信能力和A的發(fā)信能力沒有問題。
  • 在第二次通信中,B向A發(fā)送信息之后,A可以確認自己的發(fā)信能力和B的收信能力沒有問題,但是B不知道自己的發(fā)信能力到底如何,所以就需要第三次通信。
  • 在第三次通信中,A向B發(fā)送信息之后,B就可以確認自己的發(fā)信能力沒有問題。

上面分析還不夠形象,很容易忘記,下面我們利用wireshark來證明一下上面的分析過程。從下面的的輸出就可以很容易看出來,必須要經(jīng)過前面的三次tcp請求才會有起一次http請求。

第一次請求客戶端發(fā)送一個SYN包,序列號是0。

第二次請求服務器會發(fā)送一個SYN和一個ACK包,序列號是0,ack號是1。

第三次本地客戶端請求會發(fā)送一個ACK包,序列號是1,ack號是1來回復服務器。

四次揮手

以下面這張圖為例,我們來分析一下TCP四次揮手的過程。

第一次揮手

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

第二次揮手

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

第三次揮手

server向client發(fā)送FIN(N)包,請求關閉連接,同時server進入LAST-ACK狀態(tài)

第四次揮手

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

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的第三次握手为什么没有序列号_图解TCP三次握手与四次分手的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。