91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TCP/IP狀態機

發布時間:2020-06-03 12:23:54 來源:網絡 閱讀:316 作者:知識邊界 欄目:系統運維

TCP/IP?狀態機

在TCP層,有個FLAGS字段,這個字段有以下幾個標識:SYN, FIN, ACK, PSH, RST, URG.

其中,對于我們日常的分析有用的就是前面的五個字段。

它們的含義是:

SYN表示建立連接,

FIN表示關閉連接,

ACK表示響應,

PSH表示有 DATA數據傳輸(有真正的TCP數據包內容被傳遞)

RST表示連接重置(是在FIN之后才會出現為1的情況)

TCP/IP狀態機

三次握手主要是要初始化Sequence Number 的初始值。也就是上圖中的 a 和 b。這個號在以后的數據通信中,在client端按發送順序遞增,在server端按遞增順序重新組織,以保證應用層接收到的數據不會因為網絡問題亂序。


建立一個穩定的雙向連接,最少需要3次通信

以張三給李四打電話為例?
打電話?
張三:喂,李四聽得到么【seq=0】??
李四: 嗯,我聽到你說話了【ack=seq+1】,你能聽到我么【seq=0】??
張三:我能聽到你【ack=seq+1】


TCP/IP狀態機

1、雙方可以同時主動關閉,也可以由一方主動關閉帶動另一方被動關閉只不過,通常以一方主動另一方被動舉例(如圖,client主動server被動),所以看上去是所謂的4次揮手。如果兩邊同時主動斷連接,那么雙方都會進入CLOSING狀態,然后到達TIME_WAIT狀態,最后超時轉到CLOSED狀態


2、為什么建立連接協議是三次握手,而關閉連接卻是四次握手呢?

TCP是全雙工的,每個方向都需要單獨關閉(即發送一個FIN),發一個FIN之后意味著一個方向沒有數據流動,但是可以收。
這是因為服務端的LISTEN狀態下的SOCKET當收到SYN報文的連接請求后,它可以把ACK和SYN(ACK起應答作用,而SYN起同步作用)放在一個報文里來發送。但關閉連接時,當收到對方的FIN報文通知時,它僅僅表示對方沒有數據發送給你了;但未必你所有的數據都全部發送給對方了,所以你可能未必會馬上會關閉SOCKET,也即你可能還需要發送一些數據給對方之后,再發送FIN報文給對方來表示你同意現在可以關閉連接了,所以它這里的ACK報文和FIN報文多數情況下都是分開發送的。


以張三給李四掛電話為例

張三:我要掛電話了【FIN。seq=x】

李四:好的【ack。seq=x+1】

李四:我也掛了【fin,seq=b,ack=X+1】?

張三:好的【ack,seq=b+1】


三次握手分析?

HTTP 協議就是建立在TCP鏈接上的

我們通過訪問一個網頁。 使用wireshark分析TCP三次握手建立連接的過程,
Wireshark的過濾規則,只顯示我們需要的數據

(ip.src==10.108.15.43 and ip.dst==10.108.16.3) or (ip.src==10.108.16.3 and ip.dst==10.108.15.43)

TCP/IP狀態機

1、seq=0(每發一次包seq的值加1)
2、ack=接收到的seq+1

TCP/IP狀態機

TCP/IP狀態機

TCP流:

TCP/IP狀態機

四次揮手:

TCP/IP狀態機

TCP/IP狀態機

1、TCP協議規定通過發送一個FIN段(FIN被置位)來發起關閉操作,同時FIN報文段還包含著對最近收到的數據進行ACK

2、接收端對FIN進行確認,發送ACK=k+1給發送端

3、接收端將連接關閉發送給上層應用程序,由應用程序發起連接關閉操作。此時接收端由被動關閉連接壯成主動,并發送FIN報文段給發送端。報文的序列號為L(這里也可看出上一步驟中發送ACK序列號一樣,因為ACK不占用序列號

所以這里的FIN的序列號也為L)。

4、發送端接收到FIN后,發送回ACK給接收端后,TCP連接終止。如果FIN丟失,發送FIN的那端需要重新發送FIN,直到接收到ACK為止。

相對于的狀態機

TCP/IP狀態機

12種狀態機:

TCP/IP狀態機

歡迎學習:TCP的狀態機與重傳機制


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仙桃市| 刚察县| 稻城县| 长泰县| 德保县| 张掖市| 平谷区| 昌平区| 白水县| 德州市| 循化| 林口县| 马公市| 从江县| 丽水市| 湟源县| 乌兰察布市| 新龙县| 军事| 修武县| 凯里市| 广灵县| 白城市| 方山县| 开封市| 百色市| 松潘县| 高要市| 丹江口市| 佛冈县| 许昌市| 阳春市| 五莲县| 北辰区| 中卫市| 自贡市| 营山县| 句容市| 南宫市| 临沂市| 太白县|