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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

TCP协议的三次握手、四次挥手

發布時間:2024/9/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP协议的三次握手、四次挥手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TCP(Transmission Control Protocol) 傳輸控制協議

TCP是主機對主機層的傳輸控制協議,提供可靠的連接服務,通過三次握手建立一個連接

TCP 三次握手圖示:


位碼即tcp標志位,有6種標示:

SYN(synchronous建立聯機)

ACK(acknowledgement 確認)

PSH(push傳送)

FIN(finish結束)

RST(reset重置)

URG(urgent緊急)


Sequence number(順序號碼) Acknowledge number(確認號碼)


第一次握手:客戶端A向服務器發送SYN=1 ,隨機產生seq=x(序號為x) 的數據包,進入SYN-SENT狀態,服務器B由SYN=1得知A要建立連機。


第二次握手:服務端B收到請求后確認信息,向客戶端返回SYN=1,ACK=1 ,seq=y,ack=x+1(表示客戶A下一次發送的數據包號為x+1),此時服務器B進入SYN-RCVD狀態。


第三次握手:客戶端A收到后檢查ack(確認號)是否正確,即第一次發送的序號+1和ACK是否為1.若正確,客戶端A再次發送ACK=1,發送序號為seq=x+1,確認號為y+1,服務端B收到后確認seq與ack=1,此時客戶A和服務器B進入ESTABLISHED狀態,完成三次握手。??????

完成三次握手,客戶端和服務器開始傳送數據。

圖解:

一個三次握手的過程(圖1,圖2)

(圖1)

?

(圖2)

第一次握手的標志位(圖3)

我們可以看到標志位里面只有個同步位,也就是在做請求(SYN)

?

?(圖3)

?

第二次握手的標志位(圖4)

我們可以看到標志位里面有個確認位和同步位,也就是在做應答(SYN + ACK)

(圖4)

?

第三次握手的標志位(圖5)

我們可以看到標志位里面只有個確認位,也就是再做再次確認(ACK)

(圖5)

?

一個完整的三次握手也就是 請求---應答---再次確認


四次揮手


由于TCP連接是全雙工的,因此每個方向都必須單獨進行關閉。客戶A和服務器B都可以主動斷開連接,如果A客戶發送完數據后不主動斷開就會占有服務器B的資源。



第一次揮手:客戶A和服務器B都處于ESTABLISHED建立狀態,客戶A向服務器B發送FIN=1來結束A到B的數據傳送。客戶A就進入FIN-WAIT-1狀態。


第二次揮手:服務器B收到這個FIN,它返回一個ACK,確認序號為收到的序號加1,和SYN一樣,一個FIN將占用一個序號,服務器B進入COLSE-WAIT狀態。


第三次揮手:服務器B關閉與客戶A的連接,發送一個FIN給客戶A。服務器B進入closed狀態


第四次揮手:客戶A返回ACK確認,并將確認序號設置為收到的序號加1,客戶A進入TIME-WAIT狀態,到此四次揮手完成。


轉載于:https://blog.51cto.com/lyhbwwk/2162564

總結

以上是生活随笔為你收集整理的TCP协议的三次握手、四次挥手的全部內容,希望文章能夠幫你解決所遇到的問題。

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