傳輸層網絡協議TCP
基于連接的協議
三次握手
第一次握手:客戶端發送連接請求報文段,将SYN位置為1,并發送一個seq序列号;然後,客戶端進入SYN_SENT狀态,等待服務器的确認; 此時服務端知道自己的收發能力沒問題
第二次握手:服務器收到客戶端的SYN報文段,需要對這個SYN報文段進行确認,設置ACK為x 1(确認序号為收到序号 1);同時,自己還要發送SYN請求信息,将SYN位置為1,并發送一個新的seq序列号;服務器端将上述所有信息放到一個報文段(即SYN ACK報文段)中,一并發送給客戶端,此時服務器進入SYN_RECV狀态; 此時客戶端知道自己的收發能力沒問題,但是服務端并不知道自己發出去的消息客戶端能不能收到,即不知道服務端的發送能力和客戶端的接收能力服務端并不知道,所以需要第三次握手
第三次握手:客戶端收到服務器的SYN ACK報文段,然後将ACK設置為y 1(确認序号為收到序号 1),向服務器發送ACK報文段,這個報文段發送完畢以後,客戶端和服務器端都進入ESTABLISHED狀态,完成TCP三次握手。
完成了三次握手,客戶端和服務器端就可以開始傳送數據。
四次揮手第一次揮手:主動關閉方發送一個FIN,用來關閉主動方到被動關閉方的數據傳送,也就是主動關閉方告訴被動關閉方:我已經不會再給你發數據了,但是,此時主動關閉方還可以接受數據
第二次揮手:被動關閉方收到FIN包後,發送一個ACK給對方,确認序号為收到序号 1
第三次揮手:被動關閉方發送一個FIN,用來關閉被動關閉方到主動關閉方的數據傳送,也就是告訴主動關閉方,我的數據也發送完了,不會再給你發數據了
第四次揮手:主動關閉方收到FIN後,發送一個ACK給被動關閉方,确認序号為收到序号 1,至此,完成四次揮手
UDP基于非連接的協議
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!