問題帶入 --- 個人閱讀別人的筆記自己的理解 -- 具體底層有待以后提升后補充完成
1.HTTP請求 為什么是三次握手四次揮手厂置?
2.為什么是三次握手不是兩次握手陷虎?
TCP 報文格式:
TPC報文格式
標(biāo)志位含義: 1.ACK : 確認序號有效 2.SYN:發(fā)送一個新的鏈接 3.FIN:釋放一個鏈接
三次握手過程
**注意:**三次握手的主要目的是確保連接是雙工的到踏,可靠的通過更多的重傳機制來保證連接
三次握手,建立TCP連接需要客戶端和服務(wù)端總共至少發(fā)送三個包確認連接尚猿。
TCP三次握手流程圖
第一次握手:
-客戶端發(fā)送一個TCP的SYN標(biāo)志位置1的包指明發(fā)送的服務(wù)器端口窝稿,以及初始化序號 X
第二次握手:
-服務(wù)器返回確認包ACK應(yīng)答,及SYN標(biāo)志位和ACK標(biāo)志位均為1凿掂,同時將確認序號設(shè)置為 X+1
第三次握手:
-客戶端再次發(fā)送確認(ACK) SYN標(biāo)志為0伴榔,ACK標(biāo)志為1,并把服務(wù)器發(fā)送過來的ACK序號字段+1
第一次握手: 客戶端什么都不確定庄萎。服務(wù)端確認對方發(fā)送正常踪少。
第二次握手: 客戶端發(fā)送/接受正常,對方發(fā)送接收正常糠涛。服務(wù)端確認自己發(fā)送正常援奢,客戶端發(fā)送正常。
第三次握手: 客戶端發(fā)送/接受正常忍捡,服務(wù)端發(fā)送接受正常集漾。服務(wù)端確認自己發(fā)送/接受正常,客戶端發(fā)送接受正常砸脊。
tcp為什么三次握手
阻塞后會發(fā)生
當(dāng)網(wǎng)絡(luò)原因服務(wù)端沒有收到客戶端的請求具篇,且沒有給客戶端反饋。超時后客戶端會再次向服務(wù)端發(fā)送請求凌埂。當(dāng)網(wǎng)絡(luò)暢通后服務(wù)器段收到最開始的請求并反饋給客戶端栽连。導(dǎo)致客戶端認為自己未發(fā)送這個請求,服務(wù)端認為自己發(fā)送了一個新的請求侨舆,導(dǎo)致服務(wù)端性能浪費秒紧。