TCP在創建鏈接的時候,須要經歷三次握手的過程
第一次握手是由客戶端向服務器端發起的,這是用來去發一個創建的請求,那麼這個報文中SYN位被標記爲:1,因此咱們把它常叫作一個SYN包
第二次握手是由服務器向客戶端發起的,是來確認服務器的一個請求鏈接的,這個報文中咱們的ACK位還有SYN位都被標記爲:1,因此咱們也把它叫作一個SYN-ACK報文
第三次握手一樣是客戶端發給服務器的,這是對服務器的上一個報文的一個確認報文,那麼這個報文中的ACK被標記爲:1,因此咱們也把它叫作ACK包面試
當TCP協議完成了數據的發送以後就會嘗試去斷開鏈接,此時它就會經歷四次揮手的過程
第一次揮手是客戶端向服務器發起的,這個時候客戶端已經完成了數據發送,會發起一個包進行一個鏈接端口的請求,那麼這個報文中,他的一個FIN位被標記爲:1,因此咱們把它叫作一個FIN包
第二次揮手是服務器發給客戶端的,這個報文是用來確認上一個客戶端用來斷開鏈接請求的一個報文,因此它是一個ACK報文
第三次揮手一樣是服務器發給客戶端的,那麼這個時候服務器的數據也發送完畢的話,它也向客戶端發起有一個斷開鏈接的申請,那麼在這個報文中一個FIN一樣也被標記爲:1,因此它也是一個FIN包
第四次揮手是客戶端發給服務器的,是用來確認服務器的上一個斷開鏈接的一個請求報文,因此此次揮手也是一個ACK報文,服務器