TCP三次握手过程
TCP四次揮手過程點這里
第一次握手: 客戶端將標志位SYN置為1,隨機產生一個值序列號seq=x,并將該數據包發送給服務端,客戶端 進入SYN_SEND狀態,等待服務端確認。
第二次握手: 服務端收到數據包后由標志位SYN=1知道客戶端請求建立連接,服務端將標志位SYN和 ACK都置為1,然后ack=x+1,隨機產生一個值seq=y,并將該數據包發送給客戶端以確認連接請求,即SYN+ACK包,此時服務器進入SYN_RECV狀態。
第三次握手: 客戶端收到確認后檢查,如果正確則將標志位ACK為1,ack=y+1,并將該數據包發送給服務端,此包發送完畢,服務端進行檢查如果正確則連接建立成功,客戶端和服務器進入ESTABLISHED狀態,完成三次握手,隨后客戶端和服務端之間可以開始傳輸 數據了。
下圖助于理解:
握手過程中傳送的包里不包含數據,三次握手完畢后,客戶端與服務器才正式開始傳送數據,理想狀態下,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前,TCP 連接都將被一直保持下去。
TCP四次揮手過程點這里
總結
- 上一篇: Java开发主流框架是什么?
- 下一篇: TCP四次挥手过程