您現在的位置是:首頁 > 美食首頁美食

一個tcp快發滿收的塊資料流

由 紫金大課堂 發表于 美食2023-01-25
簡介這一節分析另外一個數據流,這個資料流是傳送方速度快,接收方速度慢時間序列如圖報文1、2、3是建鏈流程,建鏈資訊中,可以獲得資訊客戶端和伺服器的視窗windows size都是4096伺服器的mss是1024客戶端的mss是1460客戶端傳送

4096兆位元組什麼意思

這一節分析另外一個數據流,這個資料流是傳送方速度快,接收方速度慢

時間序列如圖

一個tcp快發滿收的塊資料流

報文1、2、3是建鏈流程,建鏈資訊中,可以獲得資訊

客戶端和伺服器的視窗windows size都是4096

伺服器的mss是1024

客戶端的mss是1460

一個tcp快發滿收的塊資料流

客戶端傳送報文4、報文5、報文6、報文7,四個報文傳送了4096個位元組,對方windows size(rcv buf)已經放滿了。

伺服器傳送報文8,ack了這4096個位元組的資料,但是windows=0,這4096個位元組還沒有被應用程序讀取,仍然停留在tcp的rcv buf裡

伺服器傳送第9個報文,重新整理視窗windows=4096,tcp rcv buf裡的資料已經被應用程序讀取,rcv buf空餘出來。

客戶端繼續傳送報文10、報文11、報文12、報文13,四個報文傳送了4096個位元組。

注意報文13同時是一個FIN報文,這個FIN標誌需要佔用1個位元組的序列號。

報文14響應了4096個數據,同時也對FIN報文做FIN ack(比資料多一個位元組),但是伺服器應用程序仍然沒有取走rcv buf裡的資料,所以windows=0

報文15重新整理windows=4096

報文16和報文17伺服器的FIN流程