計算機網絡:圖文解析TCP的三次握手、四次揮手 前言 1. TCP建立連接:三次握手 2. TCP釋放連接:四次揮手 3. 總結 請點贊!因爲你的鼓勵是我寫作的最大動力!

前言

  • 計算機網絡基礎中,TCP協議建立連接 & 釋放連接時的三次握手、四次揮手十分重要
  • 今天carson將圖文解析TCP鏈接的三次握手 & 四次揮手,包學包會包易懂!

1. TCP建立連接:三次握手

1.1 示意圖

1.2 流程解析

成功進行TCP的三次握手後,就建立起一條TCP連接,即可傳送應用層數據。需要注意的是:

  1. TCP提供的是全雙工通信,故通信雙方的應用進程在任何時候都能發送數據
  2. 三次握手期間,任何1次未收到對面的回覆,則都會重發

1.3 特別說明:爲什麼TCP建立連接需三次握手?

  • 結論
    防止服務器端因接收了早已失效的連接請求報文,從而一直等待客戶端請求,最終導致形成死鎖、浪費資源

  • 具體描述

SYN洪泛攻擊:

  • 從上可看出:服務端的TCP資源分配時刻 = 完成第二次握手時;而客戶端的TCP資源分配時刻 = 完成第三次握手時
  • 這就使得服務器易於受到SYN洪泛攻擊,即同時多個客戶端發起連接請求,從而需進行多個請求的TCP連接資源分配

2. TCP釋放連接:四次揮手

2.1 示意圖

2.2 流程解析

2.3 特別說明

說明1:爲什麼TCP釋放連接需四次揮手?

  • 結論
    爲了保證通信雙方都能通知對方 需釋放 & 斷開連接

即釋放連接後,都無法接收 / 發送消息給對方

  • 具體描述

(延伸疑問)說明2:爲什麼客戶端關閉連接前要等待2MSL時間?

  1. TIME - WAIT 狀態的作用是什麼;
  2. MSL = 最長報文段壽命(Maximum Segment Lifetime
  • 原因1:爲了保證客戶端發送的最後1個連接釋放確認報文 能到達服務器,從而使得服務器能正常釋放連接
  • 原因2:防止 上文提到的早已失效的連接請求報文 出現在本連接中
    客戶端發送了最後1個連接釋放請求確認報文後,再經過2MSL時間,則可使本連接持續時間內所產生的所有報文段都從網絡中消失。

即 在下1個新的連接中就不會出現早已失效的連接請求報文

3. 總結

  • 本文全面講解了 計算機網絡中TCP協議最重要的三次握手 & 四次揮手
  • 下面我將繼續講解 計算機網絡的基礎知識,感興趣的同學可以繼續關注本人簡書:Carson_Ho的簡書

請點贊!因爲你的鼓勵是我寫作的最大動力!

相關文章閱讀
Android開發:最全面、最易懂的Android屏幕適配解決方案
Android事件分發機制詳解:史上最全面、最易懂
Android開發:史上最全的Android消息推送解決方案
Android開發:最全面、最易懂的Webview詳解
Android開發:JSON簡介及最全面解析方法!
Android四大組件:Service服務史上最全面解析
Android四大組件:BroadcastReceiver史上最全面解析


歡迎關注Carson_Ho的簡書!

不定期分享關於安卓開發的乾貨,追求短、平、快,但卻不缺深度

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