三次握手
三次握手發生在請求建立連接的階段,
-
第一次握手:客戶端的應用行程主動打開,并客戶端發送請求到服務器,表明想要建立連接(SYN)
目的:
使服務器知道:客戶端發送資訊的能力,和服務器接收資訊的能力,二者都沒有問題
-
第二次握手:服務器應用行程被動打開,如果服務器同意客戶端的請求,服務器則給客戶端回應確認報文,表明收到了客戶端的請求(SYN+ACK)
目的:
使客戶端知道:客戶端發送資訊的能力,和服務器接收資訊的能力,二者都沒有問題
但是,如果我沒有發送確認報文去服務器端的話,服務器不會知道服務器的發送資訊的能力有沒有問題 -
第三次握手:客戶端收到確認報文之后,通知上層應用行程,連接已建立,客戶端并再次向服務器發送確認報文,同時服務器在收到客戶端的確認報文之后,也會通知上層應用行程連接已經建立(ACK)
目的:
使服務器知道:我們二者的發送和收信的能力都沒有問題

四次揮手
四次揮手發生在請求釋放資源的階段,目的就是斷開連接
-
第一次揮手:客戶端向服務器發送斷開連接請求(FIN)
表明:我要關閉連接了
-
第二次揮手:服務器收到請求后,向客戶端回應報文(ACK)
表明:服務器已收到請求,并且通知客戶端自己可能還有一些資料需要處理
-
第三次揮手:服務器發送完所有報文后,向客戶端發送斷開連接請求報文(FIN)
表明:服務器要關閉連接了
-
第四次揮手:客戶端收到服務器要斷開連接的請求報文后,想服務器發送確認報文(ACK)
表明:客戶端發送該報文時,也就將客戶端的應用行程關閉了(CLOSED);當服務器收到確認報文后,服務器應用行程也關閉了(CLOSED)

為什么要進行三次握手和四次揮手?
三次握手:為了防止無效的連接請求報文到達服務器而引起錯誤,
TCP發起建立連接的一方不會一直等待對方的回復,如果超時,他再次發起這個請求,上一個作廢,
四次揮手:確保資料能夠完整傳輸,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/308712.html
標籤:其他
上一篇:十一,微服務監控
