三次握手,四次斷開
tcp是一種面向連線的單播協議,在傳送資料前,通訊雙方必須在彼此間建立一條連線。所謂的「連線」,其實是客戶端和伺服器的記憶體裡儲存的乙份關於對方的資訊,如ip位址、埠號等。
ack —— 確認,使得確認號有效。
syn —— 用於初如化乙個連線的序列號。
fin —— 該報文段的傳送方已經結束向對方傳送資料。
客戶端和服務端通訊前要進行連線,「3次握手」的作用就是雙方都能明確自己和對方的收、發能力是正常的。
第一次握手:客戶端傳送網路包,服務端收到了。這樣服務端就能得出結論:客戶端的傳送能力、服務端的接收能力是正常的。
第二次握手:服務端發包,客戶端收到了。這樣客戶端就能得出結論:服務端的接收、傳送能力,客戶端的接收、傳送能力是正常的。
第三次握手:客戶端發包,服務端收到了。這樣服務端就能得出結論:客戶端的接收、傳送能力,服務端的傳送、接收能力是正常的。
經歷了上面的三次握手過程,客戶端和服務端都確認了自己的接收、傳送能力是正常的。之後就可以正常通訊了。
tcp連線是雙向傳輸的對等的模式,就是說雙方都可以同時向對方傳送或接收資料。當有一方要關閉連線時,會傳送指令告知對方,我要關閉連線了。這時對方會回乙個ack,此時乙個方向的連線關閉。但是另乙個方向仍然可以繼續傳輸資料,等到傳送完了所有的資料後,會傳送乙個fin段來關閉此方向上的連線。接收方傳送ack確認關閉連線。
補充:為什麼建立連線是三次握手,而關閉連線卻是四次揮手呢?
這是因為服務端在listen狀態下,收到建立連線請求的syn報文後,把ack和syn放在乙個報文裡傳送給客戶端。而關閉連線時,當收到對方的fin報文時,僅僅表示對方不再傳送資料了但是還能接收資料,己方是否現在關閉傳送資料通道,需要上層應用來決定,因此,己方ack和fin一般都會分開傳送。
tcp 三次握手連線,四次握手斷開
tcp握手協議 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線.第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認 syn 同步序列編號 synchronize sequence numbers 第二次握手 伺服...
三次握手《 》四次握手
1 第一次握手 客戶端給伺服器傳送乙個 syn 報文。2 第二次握手 伺服器收到 syn 報文之後,會應答乙個 syn ack 報文。3 第三次握手 客戶端收到 syn ack 報文之後,會回應乙個 ack 報文。4 伺服器收到 ack 報文之後,三次握手建立完成 作用是為了確認雙方的接收與傳送能力...
TCP連線 三次握手和四次斷開
1.面向連線 tcp是乙個面向連線的協議,面向連線是指任何一方向對方傳送資料前必須先建立通道,比如像打 一樣 必須要等到對方的手機響鈴,並且對方接聽 時,才能與對方通訊。而udp 則不是面向連線的協議,基於udp 協議的通訊雙方不需要事先與對方協商建立連線,也不管對方的ip 位址與埠號是否存在,就傳...