TCP協(xié)議為什么握手時3次?揮手是4次?

名詞解釋

  • TCP是傳輸層協(xié)議

  • 提供端到端的可靠性傳輸:為應(yīng)用提供到應(yīng)用的能力??煽啃裕〝?shù)據(jù)保證無損傳輸)
    主機(jī)到主機(jī),Host- To- Host

  • 支持全雙工(任何時刻數(shù)據(jù)都可以雙向收發(fā))

  • 是一個連接導(dǎo)向的協(xié)議

  • 連接:Connection(是網(wǎng)絡(luò)行為狀態(tài)的記錄),是傳輸層的概念。
    數(shù)據(jù)收發(fā)雙方,在傳輸之前,需要建立一個連接收發(fā)雙方在內(nèi)存中都需要創(chuàng)建一個用于維護(hù)傳輸狀態(tài)的對象。(
    IP、端口、已發(fā)送數(shù)據(jù)量?狀態(tài)健康嗎?傳輸速度如何?)

  • 會話:Session(是應(yīng)用的行為)
    應(yīng)用層的概念,比如會話可以負(fù)責(zé)在多次連接中保存狀態(tài),比如HTTP Session在多次HTTP請求連接間保持狀態(tài)。

TCP協(xié)議的基本操作

  • 如果一個Host主動向另一個Host發(fā)起連接,成為SYN(Synchronization),請求同步
  • 如果一個Host主動斷開請求,稱為Fin(Finish),請求完成。
  • 如果一個Host給另一個Host發(fā)送數(shù)據(jù),成為PSH(Push),數(shù)據(jù)發(fā)送

接收方收到數(shù)據(jù)后,都需要給發(fā)送方一個ACK(Acknowledging)響應(yīng)。

建立連接(三次過手過程):

為了保持連接的可靠性約束,TCP協(xié)議要保證每一條發(fā)出的數(shù)據(jù)必須給返回。


image.png

三次握手

TCP 是一個雙工協(xié)議,為了讓雙方都保證,建立連接的時候,連接雙方都需要向?qū)Ψ桨l(fā)送 SYC(同步請求)和 ACK(響應(yīng))。
握手階段雙方都沒有煩瑣的工作,因此一方向另一方發(fā)起同步(SYN)之后,另一方可以將自己的 ACK 和 SYN 打包作為一條消息回復(fù),因此是 3 次握手——需要 3 次數(shù)據(jù)傳輸。

四次揮手

揮手階段,雙方都可能有未完成的工作。收到揮手請求的一方,必須馬上響應(yīng)(ACK),表示接收到了揮手請求。不能夠?qū)YN和ACK合并發(fā)送,故而需要4次連接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容