tcp三握四揮

第一次握手:客戶端發送syn包給服務器,SYN=1,序列號seq=x,客戶端進入syn-sent狀態

第二次握手:服務器收到syn包以後返回報文,ack=x+1,ACK=1,SYN=1,同時生成序列號seq=y,進入syn-rcvd狀態

第三次握手:客戶端收到服務器的報文以後,返回給服務器ack=y+1,ACK=1,自己的序列號seq=x+1,進入established狀態,服務器收到也進入established狀態

爲什麼要三次握手,兩次不行嗎?

因爲如果第一次握手在網絡中滯留時間過長,那客戶端會默認服務器沒有收到鏈接請求,就會關閉連接,然而服務器卻收到了請求,然後又打開了鏈接,這樣就會造成資源的浪費

四次揮手

第一次揮手:客戶端發送連接釋放報文(FIN=1,序列號seq=u)並停止發送數據,關閉鏈接,進入FIN-WAIT-1狀態

第二次揮手:服務器收到釋放連接發送確認報文(ACK=1,ack=u+1,序列號seq=p),服務器進入CLOSE-WAIT狀態,客戶端收到報文,進入FIN-WAIT-2狀態

第三次揮手:服務器發送連接釋放報文(FIN=1,ACK=1,ack=u+1,序列號seq=w),服務器進入LAST-ACK狀態

第四次揮手:客戶端收到服務器連接釋放報文,發出確認報文(ACK=1,ack=w+1,seq=u+1),進入TIME-WAIT狀態,等待2MSL後,進入CLOSE狀態

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章