1. 程式人生 > >2018年9月25日TCP三次握手和四次揮手

2018年9月25日TCP三次握手和四次揮手

 

TCP三次握手和四次揮手:

SYN: 表示建立連線

FIN: 表示關閉連線

ACK: 表示響應

PSH: 表示有 DATA資料傳輸

RST: 表示連線重置。

seq: 資料包本身的序列號

ack:是對收到資料包的確認以及期望對方繼續傳送的下一個資料包的序列號。


其中,ACK是可能與SYN,FIN等同時使用的,比如SYN和ACK可能同時為1,它表示的就是建立連線之後的響應,如果只是單個的一個SYN,它表示的只是建立連線。TCP的幾次握手就是通過這樣的ACK表現出來的。但SYN與FIN是不會同時為1的,因為前者表示的是建立連線,而後者表示的是斷開連線。RST一般是在FIN之後才會出現為1的情況,表示的是連線重置。一般地,當出現FIN包或RST包時,我們便認為客戶端與伺服器端斷開了連線;而當出現SYN和SYN+ACK包時,我們認為客戶端與伺服器建立了一個連線。

 

 

TCP連線的斷開(四次揮手)