你好,這裡是網絡技術聯盟站。
天天都在談的TCP三次握手,大家還知道它的原理嗎?今天瑞哥就帶著大家了解一下,對這塊不熟悉的童鞋,可以花費你寶貴的三分鐘看一下本文留個印象。
讓我們直接開始!
一、什麼是TCP?
- 英文全稱:Transmission Control Protocol
- 中文名稱:傳輸控制協議
- 是 IP 網絡中用於錯誤控制的協議
- 運行在OSI參考模型第4層:傳輸層
嵌入式物聯網需要學的東西真的非常多,千萬不要學錯了路線和內容,導致工資要不上去!
無償分享大家一個資料包,差不多150多G。裡面學習內容、面經、項目都比較新也比較全!某魚上買估計至少要好幾十。
點擊這裡找小助理0元領取:點擊文中文領取
二、TCP 特點
2.1 面向連接
上面提到TCP是英文「Transmission Control Protocol」的縮寫,「Transmission」翻譯為傳輸或傳送,所以TCP意為控制傳輸的協議,這裡的傳輸是連接,與通信的對方建立虛擬的通信路徑,這裡稱為「面向連接」,TCP具有面向連接的特性,通過控制連接來實現安全、高可靠的通信。
2.2 可靠
TCP通過控制連接來實現高可靠的通信,數據通信的可靠性意味著數據不會丟失或亂序,TCP在通信前進行了充分的準備,保證了可靠的通信,因此,在使用TCP時,應用端不需要有保證可靠性的機制。
2.3 全雙工通信
傳輸數據時,如果有兩條路由,則可以同時向不同方向發送和接收數據,但如果只有一條路由,則不能同時發送數據,存在兩條路徑的狀態稱為全雙工通信,只有一條路徑的狀態稱為半雙工通信。
由於TCP能夠進行全雙工通信,兩個信號可以同時順利傳輸,不會像半雙工通信那樣在中間發生碰撞。
2.4 同步序列號SYN和ACK號
在 TCP 中,數據以小塊的形式發送,出於這個原因,我們有一個「序列號」和一個「ACK 號」作為管理細碎數據恢復順序的機制,在通信的時候,SYN位是發送給連接請求目的地的,接收方也返回SYN來同步這兩個數,然後返回ACK。
三、TCP三次握手
在正式講三次握手前,我們用生活的例子預熱一下「三次握手」的概念。
比如小劉是個剛畢業的應屆生,每周要定時向他的上級匯報工作。
在一個夜黑風高的夜晚,小劉潛入他領導辦公室準備匯報工作。
小劉:領導,我要向你匯報最近的工作情況,你能聽到我說的話嗎?
領導:可以聽到,小劉,我說話你聽見嗎?
小劉:聽見!聽見!那我開始了。
小劉:xxxxxx。
上面就是生活中三次確認的過程,那麼在TCP中,三次握手也很類似。
在實際傳輸數據之前,TCP會在開始通信之前確認「是否與對方正常連接?」。
TCP 頭信息有 SYN 和 ACK 等標誌,通過打開/關閉這些標誌,它們被用作相互確認信息。
上面的圖就是TCP三次握手的簡易過程,可以解釋為:
- SYN:是否開始通信的確認;
- SYN+ACK:同意開始通信的信號;
- ACK:開始通信的信號;
- ESTABLISHED:建立TCP連接。
這就是TCP三次握手,總體來說還是很簡單的,主要是要記住上面這張圖,那麼對於三次握手的原理,你就很容易掌握。這裡推薦大家關注公眾號:網絡技術聯盟站,每天推送高質量網絡技術文章。
四、總結
本文主要給大家介紹了:
- 什麼是TCP?
- TCP 特點
- 面向連接
- 可靠
- 全雙工通信
- 同步序列號SYN和ACK號
- TCP三次握手
最後感謝您的閱讀,如果本文對您有所幫助,可以收藏並轉發給您的朋友,有任何問題歡迎在下方評論區與我討論!
轉載自:網絡技術聯盟展
文章來源於TCP三次握手原理容易忘記?3分鐘看完本文,這輩子忘不了!
原文連結:https://mp.weixin.qq.com/s/UZZP7lUFDUw5_UhA6Vmu8g