TCP三次握手和四次揮

2022-07-25 04:48:06 字數 934 閱讀 5646

一、tcp報文格式

在了解三次握手和四次揮手之前,首先要知道tcp報文內部包含了哪些東西。

報文主要段的含義:

序號[seq]:用來標記資料段的順序,確保tcp傳輸有序。

ack[確認]:確認序號標誌,ack=1表示確認號字段有效,ack=0表示確認序號無效。

syn[同步]:連線請求序號標誌,用於建立連線。

syn=1表示連線請求報文[syn=1,ack=0]或連線接受報文[syn=1,ack=1]。

syn這個標誌位只有在tcp建產連線時才會被置1,握手完成後syn標誌位被置0。

fin[終止]:結束標誌,用於釋放連線,fin=1表示傳送方的資料已經傳送完畢,並要求釋放運輸連線。

ps:ack、syn和fin這些大寫的單詞表示標誌位[暫1bit],其值要麼是1,要麼是0;ack、seq小寫的單詞表示序號。

二、「三次握手」

2.1 三次握手過程

建立tcp連線時,需要客戶端和伺服器共傳送3個包。

2.2 三次握手過程分析:

上面分析過程可以看出,握手兩次達不到讓雙方都得出自己、對方的接收、傳送能力都正常的結論的。

三、 「四次揮手」

3.1 四次揮手過程

3.2四次揮手過程分析

四、其他問題

4.1為什麼三次握手和四次揮手?

4.2為什麼客戶端最後還要等待2msl?

三次握手和四次揮手 TCP三次握手和四次揮手的理解

相比較於udp傳輸協議,tcp傳輸協議被認為是安全可靠的,這是由於tcp協議的三次握手和四次揮手保證了資料傳輸的安全性。tcp報文格式簡介 要了解tcp協議的三次握手和四次揮手,需要先了解在tcp協議中請求和響應的資料報報文格式。在報文中有幾個值得注意的字段 1 序號 seq序號,佔32位,用來標識...

結合socket詳解TCP三次握手四次揮手

tcp協議中的三次握手和四次揮手大家應該都至少聽說過了,本人一直覺得理論學習要結合 才能學習的更深刻,當知道東西是這樣,然後再知道為什麼是這樣的時候,領悟往往更加深刻,今天本人就結合socket程式設計中的api來解析一下tcp協議的三次握手和四次揮手過程。那麼tcp協議中的三次握手和四次揮手實際在...

tcp三次握手和四次握手

建立tcp需要三次握手才能建立,而斷開連線則需要四次握手。整個過程如下圖所示 先來看看如何建立連線的。首先client端傳送連線請求報文,server段接受連線後回覆ack報文,並為這次連線分配資源。client端接收到ack報文後也向server段發生ack報文,並分配資源,這樣tcp連線就建立了...