探究 wireshark 的 tcptrace 時(shí)序圖

wireshark 時(shí)序圖顯示了一段時(shí)間內(nèi)的數(shù)據(jù)流情況。根據(jù)定義,數(shù)據(jù)流是單向流動(dòng)的。所以如果抓包是客戶端從 FTP 服務(wù)器上下載文件,你必須單機(jī)一個(gè)從服務(wù)器發(fā)來(lái)的包,然后僅顯示一個(gè)方向的數(shù)據(jù)流。這是一個(gè)帶有些注釋的縮放的截圖:


tcptrace 截圖

x 軸是時(shí)間,比如上圖顯示了 2.35 s。y 軸是 tcp 序號(hào),序號(hào)表示發(fā)送的字節(jié)數(shù)。每發(fā)送一個(gè)字節(jié),序號(hào) +1。理想情況下,希望看到一條向右上角增長(zhǎng)的平滑直線。直線斜率是管道理論上的帶寬。直線越陡,管道吞吐越大。
黑色的 I 型線表示 tcp 數(shù)據(jù)段。更長(zhǎng) I 型線,代表這個(gè)包的數(shù)據(jù)越多。最下面的灰線是接受者已經(jīng)確認(rèn)過(guò)的字節(jié)。對(duì)于圖上一個(gè)時(shí)間點(diǎn),ack 確認(rèn)線和 I 型 tcp 已發(fā)的數(shù)據(jù)線之間的距離為在途字節(jié)數(shù)(已發(fā)送但還在路上未確認(rèn)的字節(jié)數(shù))。所以在2.35s,服務(wù)器發(fā)送了 40,400,000 字節(jié),ack 確認(rèn)的是 40,000,000 字節(jié),那么有 400,000 字節(jié)還沒(méi)有被確認(rèn),正在中間網(wǎng)絡(luò)上。(藍(lán)線和紅線是后加上的標(biāo)記,不是圖表的一部分)。
最上面的線是計(jì)算出來(lái)的接受方窗口的大小。為 ack 確認(rèn)的序號(hào)加上當(dāng)前通道的接受窗口。如果當(dāng)前 ack 確認(rèn) 40,000,000 ,同時(shí)通告窗口是 1,200,000,那么計(jì)算出來(lái)的接受窗口是 41,200,000。當(dāng)前發(fā)送 tcp 數(shù)據(jù)序號(hào)(40,400,000)與計(jì)算出來(lái)的接收方窗口(41,200,000)之間的距離表示接收方 buffer 還有多少可用(800,000)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容