天天看點

TCP握手揮手以及分包發送

一、首先我們先了解一下Tcp的三次握手流程

1)第一次握手:建立連接配接時,用戶端發送syn包(syn=j)到伺服器,并進入SYN_SENT狀态,等待伺服器确認;SYN:同步序列編号(Synchronize Sequence Numbers)。

2)第二次握手:伺服器收到syn包,必須确認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時伺服器進入SYN_RECV狀态;

3)第三次握手:用戶端收到伺服器的SYN+ACK包,向伺服器發送确認包ACK(ack=k+1),此包發送完畢,用戶端和伺服器進入ESTABLISHED(TCP連接配接成功)狀态,完成三次握手。

完成三次握手,用戶端與伺服器開始傳送資料.以下是三次握手的圖:

TCP握手揮手以及分包發送

二、我們用wireshark抓包看看一個分包的情況

TCP握手揮手以及分包發送

1)過濾後的包,可以看出是三次握手的過程

2)PSH表示有 DATA資料傳輸,可以看到本次是發包的分三次發的

TCP握手揮手以及分包發送

3)如果要具體檢視本次包的内容,可以這麼檢視,選中其中一個包後,選擇Follow TCP Stream

TCP握手揮手以及分包發送
TCP握手揮手以及分包發送

4)圖中最後幾個包是四次揮手過程

TCP握手揮手以及分包發送