黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 如何使用Wireshark分析TCP吞吐瓶頸

如何使用Wireshark分析TCP吞吐瓶頸

來源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-09-15 09:44:19 1663206259

  Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候,我們一般會(huì)關(guān)注兩個(gè)因素:延遲和吞吐量(帶寬)。延遲比較好驗(yàn)證,Ping 一下或者 mtr[1] 一下就能看出來。這篇文章分享一個(gè) debug 吞吐量的辦法。

使用Wireshark分析TCP

  看重吞吐量的場景一般是所謂的長肥管道(Long Fat Networks, LFN, rfc7323[2]). 比如下載大文件。吞吐量沒有達(dá)到網(wǎng)絡(luò)的上限,主要可能受 3 個(gè)方面的影響:發(fā)送端出現(xiàn)了瓶頸、接收端出現(xiàn)了瓶頸、中間的網(wǎng)絡(luò)層出現(xiàn)了瓶頸。

  發(fā)送端出現(xiàn)瓶頸一般的情況是 buffer 不夠大,因?yàn)榘l(fā)送的過程是,應(yīng)用調(diào)用 syscall,將要發(fā)送的數(shù)據(jù)放到 buffer 里面,然后由系統(tǒng)負(fù)責(zé)發(fā)送出去。如果 buffer 滿了,那么應(yīng)用會(huì)阻塞住(如果使用 block 的 API 的話),直到 buffer 可用了再繼續(xù) write,生產(chǎn)者和消費(fèi)者模式。

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候372

  發(fā)送端出現(xiàn)瓶頸一般都比較好排查,甚至通過應(yīng)用的日志看何時(shí)阻塞住了即可。大部分情況都是第 2,3 種情況,比較難以排查。這種情況發(fā)生在,發(fā)送端的應(yīng)用已經(jīng)將內(nèi)容寫入到了系統(tǒng)的 buffer 中,但是系統(tǒng)并沒有很快的發(fā)送出去。

  TCP 為了優(yōu)化傳輸效率(注意這里的傳輸效率,并不是單純某一個(gè) TCP 連接的傳輸效率,而是整體網(wǎng)絡(luò)的效率),會(huì)保護(hù)接收端,發(fā)送的數(shù)據(jù)不會(huì)超過接收端的 buffer 大小 (Flow control)。數(shù)據(jù)發(fā)送到接受端,也是和上面介紹的過程類似,kernel 先負(fù)責(zé)收好包放到 buffer 中,然后上層應(yīng)用程序處理這個(gè) buffer 中的內(nèi)容,如果接收端的 buffer 過小,那么很容易出現(xiàn)瓶頸,即應(yīng)用程序還沒來得及處理就被填滿了。那么如果數(shù)據(jù)繼續(xù)發(fā)過來,buffer 存不下,接收端只能丟棄。

  保護(hù)網(wǎng)絡(luò),發(fā)送的數(shù)據(jù)不會(huì) overwhelming 網(wǎng)絡(luò) (Congestion Control, 擁塞控制), 如果中間的網(wǎng)絡(luò)出現(xiàn)瓶頸,會(huì)導(dǎo)致長肥管道的吞吐不理想;

  對(duì)于接收端的保護(hù),在兩邊連接建立的時(shí)候,會(huì)協(xié)商好接收端的 buffer 大小 (receiver window size, rwnd), 并且在后續(xù)的發(fā)送中,接收端也會(huì)在每一個(gè) ack 回包中報(bào)告自己剩余和接受的 window 大小。這樣,發(fā)送端在發(fā)送的時(shí)候會(huì)保證不會(huì)發(fā)送超過接收端 buffer 大小的數(shù)據(jù)。(意思是,發(fā)送端需要負(fù)責(zé),receiver 沒有 ack 的總數(shù),不會(huì)超過 receiver 的 buffer.)

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候1034

  對(duì)于網(wǎng)絡(luò)的保護(hù),原理也是維護(hù)一個(gè) Window,叫做 Congestion window,擁塞窗口,cwnd, 這個(gè)窗口就是當(dāng)前網(wǎng)絡(luò)的限制,發(fā)送端不會(huì)發(fā)送超過這個(gè)窗口的容量(沒有 ack 的總數(shù)不會(huì)超過 cwnd)。

  怎么找到這個(gè) cwnd 的值呢?

  這個(gè)就是關(guān)鍵了,默認(rèn)的算法是 cubic, 也有其他算法可以使用,比如 Google 的 BBR

  主要的邏輯是,慢啟動(dòng)(Slow start), 發(fā)送數(shù)據(jù)來測試,如果能正確收到 receiver 那邊的 ack,說明當(dāng)前網(wǎng)絡(luò)能容納這個(gè)吞吐,將 cwnd x 2,然后繼續(xù)測試。直到下面一種情況發(fā)生:

  發(fā)送的包沒有收到 ACK

  cwnd 已經(jīng)等于 rwnd 了

  第 2 點(diǎn)很好理解,說明網(wǎng)絡(luò)吞吐并不是一個(gè)瓶頸,瓶頸是在接收端的 buffer 不夠大。cwnd 不能超過 rwnd,不然會(huì) overload 接收端。

  對(duì)于第 1 點(diǎn),本質(zhì)上,發(fā)送端是用丟包來檢測網(wǎng)絡(luò)狀況的,如果沒有發(fā)生丟包,表示一切正常,如果發(fā)生丟包,說明網(wǎng)絡(luò)處理不了這個(gè)發(fā)送速度,這時(shí)候發(fā)送端會(huì)直接將 cwnd 減半。

  但實(shí)際造成第 1 點(diǎn)的情況并不一定是網(wǎng)絡(luò)吞吐瓶頸,而可能是以下幾種情況:

  網(wǎng)絡(luò)達(dá)到了瓶頸

  網(wǎng)絡(luò)質(zhì)量問題丟包

  中間網(wǎng)絡(luò)設(shè)備延遲了包的送達(dá),導(dǎo)致發(fā)送端沒有在預(yù)期時(shí)間內(nèi)收到 ACK

  2 和 3 原因都會(huì)造成 cwnd 下降,無法充分利用網(wǎng)絡(luò)吞吐。

  以上就是基本的原理,下面介紹如何定位這種問題。

  rwnd 查看方式

  這個(gè) window size 直接就在 TCP header 里面,抓下來就能看這個(gè)字段。

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候1706

  但是真正的 window size 需要乘以 factor, factor 是在 TCP 握手節(jié)點(diǎn)通過 TCP Options 協(xié)商的。所以如果分析一條 TCP 連接的 window size,必須抓到握手階段的包,不然就不可以知道協(xié)商的 factor 是多少。

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候1840

  cwnd 查看方式

  Congestion control 是發(fā)送端通過算法得到的一個(gè)動(dòng)態(tài)變量,會(huì)試試調(diào)整,并不會(huì)體現(xiàn)在協(xié)議的傳輸數(shù)據(jù)中。所以要看這個(gè),必須在發(fā)送端的機(jī)器上看。

  在 Linux 中可以使用 ss -i 選項(xiàng)將 TCP 連接的參數(shù)都打印出來。

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候1970

  這里展示的單位是 TCP MSS.即實(shí)際大小是 1460bytes * 10.

  Wireshark 分析

  Wireshark 提供了非常使用的統(tǒng)計(jì)功能,可以讓你一眼就能看出當(dāng)前的瓶頸是發(fā)生在了哪里。但是第一次打開這個(gè)圖我不會(huì)看,一臉懵逼,也沒查到資料要怎么看。好在我同事會(huì),他把我教會(huì)了,我在這里記錄一下,把你也教會(huì)。

  首先,打開的方式如下:

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2144

  然后你會(huì)看到如下的圖。

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2158

  首先需要明確,tcptrace 的圖表示的是單方向的數(shù)據(jù)發(fā)送,因?yàn)?tcp 是雙工協(xié)議,兩邊都能發(fā)送數(shù)據(jù)。其中最上面寫了你當(dāng)前在看的圖數(shù)據(jù)是從 10.0.0.1 發(fā)送到 192.168.0.1 的,然后按右下角的按鈕可以切換看的方向。

  X 軸表示的是時(shí)間,很好理解。

  然后理解一下 Y 軸表示的 Sequence Number, 就是 TCP 包中的 Sequence Number,這個(gè)很關(guān)鍵。圖中所有的數(shù)據(jù),都是以 Sequence Number 為準(zhǔn)的。

  所以,你如果看到如上圖所示,那么說明你看反了,因?yàn)閿?shù)據(jù)的 Sequence Number 并沒有增加過,說明幾乎沒有發(fā)送過數(shù)據(jù),需要點(diǎn)擊 Switch Direction。

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2478

  這就對(duì)了,可以看到我們傳輸?shù)?Sequence Number 在隨著時(shí)間增加而增加。

  這里面有 3 條線,含義如下:

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2539

  除此之外,另外還有兩種線:

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2555

  需要始終記住的是 Y 軸是 Sequence Number,紅色的線表示 SACK 的線表示這一段 Sequence Number 我已經(jīng)收到了,然后配合黃色線表示 ACK 過的 Sequence Number,那么發(fā)送端就會(huì)知道,在中間這段空擋,包丟了,紅色線和黃色線縱向的空白,是沒有被 ACK 的包。所以,需要重新傳輸。而藍(lán)色的線就是表示又重新傳輸了一遍。

  學(xué)會(huì)了看這些圖,我們可以認(rèn)識(shí)幾種常見的 pattern:

  丟包

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2771

  很多紅色 SACK,說明接收端那邊重復(fù)在說:中間有一個(gè)包我沒有收到,中間有一個(gè)包我沒有收到。

  吞吐受到接收 window size 限制

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2842

  從這個(gè)圖可以看出,黃色的線(接收端一 ACK)一上升,藍(lán)色就跟著上升(發(fā)送端就開始發(fā)),直到填滿綠色的線(window size)。說明網(wǎng)絡(luò)并不是瓶頸,可以調(diào)大接收端的 buffer size.

  吞吐受到網(wǎng)絡(luò)質(zhì)量限制

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2953

  從這張圖中可以看出,接收端的 window size 遠(yuǎn)遠(yuǎn)不是瓶頸,還有很多空閑。

Debug 網(wǎng)絡(luò)質(zhì)量的時(shí)候2997

  放大可以看出,中間有很多丟包和重傳,并且每次只發(fā)送一點(diǎn)點(diǎn)數(shù)據(jù),這說明很有可能是 cwnd 太小了,受到了擁塞控制算法的限制。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖店入駐收費(fèi)多少?開抖店費(fèi)用是多少?

如果要開通抖音小店,需要先把抖音賬號(hào)開通商品櫥窗功能。入駐之后,可以選擇頭條賬號(hào)、抖音賬號(hào)、火山賬號(hào)任一類型注冊(cè)或登錄。那開個(gè)抖店要多...詳情>>

2023-09-19 07:50:26
想做直播帶貨的貨源哪里來?怎么找貨源?

現(xiàn)如今直播推廣的方式是非常火的,有著非常多的賣家都是利用直播推廣店鋪產(chǎn)品,效果也是非常不錯(cuò)。但很多賣家想要了解現(xiàn)在直播帶貨的話什么產(chǎn)品...詳情>>

2023-09-19 07:47:16
適合三農(nóng)領(lǐng)域的名字?有何技巧?

現(xiàn)在在抖音上很多博主會(huì)選擇直播來賺取更多的流量以及利潤,直播間的東西也有很多讓消費(fèi)者信任并且喜歡的,而且隨著越來越多人直播,很多農(nóng)產(chǎn)品...詳情>>

2023-09-19 07:06:05
抖店商品發(fā)布違規(guī)怎么申訴?有何規(guī)則?

抖店服務(wù)市場服務(wù)商發(fā)布違禁信息如何處理?情節(jié)嚴(yán)重程度判定原則:違規(guī)嚴(yán)重等級(jí)主要通過服務(wù)商違規(guī)次數(shù)、造成后果的嚴(yán)重程度、獲利或?qū)е聯(lián)p失的...詳情>>

2023-09-19 06:59:55
“泛垂直起號(hào)”可能是2023年最高效的起號(hào)方式

這可能是明年最好用的旗號(hào)方式了,今天教大家一個(gè)很野,但是可以讓你三天漲1000粉的偏方。去年前年啊,每個(gè)人都教你,誰知七號(hào)對(duì)著自己的產(chǎn)品拍...詳情>>

2023-09-19 06:37:38
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)
一级毛片看真人在线视频| 国产一区二区精品| 韩国毛片基地| 欧美1区| 色综合久久天天综合绕观看| 精品视频免费在线| 久久国产精品自由自在| 欧美日本二区| 亚洲天堂在线播放| 欧美一区二区三区在线观看| 黄色免费三级| 日韩男人天堂| 久久成人综合网| 国产原创视频在线| 国产欧美精品午夜在线播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 99色播| 二级片在线观看| 台湾毛片| 午夜精品国产自在现线拍| 精品国产亚洲一区二区三区| 国产成人啪精品| 99久久网站| 一本伊大人香蕉高清在线观看| 国产韩国精品一区二区三区| 欧美1区| 欧美另类videosbestsex久久| 国产一区二区精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 午夜在线亚洲男人午在线| 欧美另类videosbestsex久久| 日本免费乱理伦片在线观看2018| 91麻豆国产| 可以免费看污视频的网站| 韩国三级香港三级日本三级| 国产网站在线| 97视频免费在线观看| 欧美国产日韩在线| 午夜家庭影院| 97视频免费在线观看| 一级片片| 欧美另类videosbestsex久久| 日韩中文字幕在线观看视频| 深夜做爰性大片中文| 99久久精品费精品国产一区二区| 精品久久久久久免费影院| 国产美女在线观看| 久久精品免视看国产明星| 国产亚洲精品aaa大片| 一级毛片视频免费| 精品国产一区二区三区免费 | 你懂的国产精品| 青青久久精品| 日韩中文字幕在线播放| 可以免费在线看黄的网站| 国产原创中文字幕| 国产91精品一区| 国产麻豆精品高清在线播放| 国产91精品系列在线观看| 久久国产精品自线拍免费| 九九九国产| 欧美一级视频免费观看| 欧美a级v片不卡在线观看| 欧美激情一区二区三区视频 | 成人高清免费| 日韩在线观看视频黄| 99色视频在线| 久久精品人人做人人爽97| 黄视频网站在线观看| 国产麻豆精品hdvideoss| 国产精品1024在线永久免费| 欧美国产日韩久久久| 亚欧乱色一区二区三区| 国产一区二区精品久久| 国产不卡高清| 国产网站免费在线观看| 日韩在线观看网站| 欧美α片无限看在线观看免费| 高清一级片| 午夜在线影院| 久久精品欧美一区二区| 亚洲精品中文字幕久久久久久| 成人免费观看男女羞羞视频| 九九精品在线| 精品久久久久久免费影院| 精品视频在线观看免费| 精品视频免费看| 美国一区二区三区| 九九精品久久久久久久久| 久久国产影院| 一级毛片看真人在线视频| 尤物视频网站在线| 免费一级片网站| 可以免费看污视频的网站| 午夜家庭影院| 天天做日日爱夜夜爽| 四虎影视精品永久免费网站| 国产韩国精品一区二区三区| 九九免费精品视频| 亚洲女人国产香蕉久久精品| 精品国产一区二区三区久久久狼| 国产欧美精品午夜在线播放| 精品视频免费看| 欧美一级视频高清片| 欧美电影免费看大全| 日韩一级黄色| 一级片片| 亚洲天堂免费| 91麻豆精品国产高清在线| 久久国产影院| 99久久视频| 欧美1区2区3区| 国产不卡高清| 免费一级片网站| 亚欧成人乱码一区二区 | 亚洲精品久久久中文字| 久久国产精品自线拍免费| 黄视频网站免费看| 国产一区二区精品久| 韩国三级一区| 99热精品在线| 国产视频久久久| 久久精品道一区二区三区| 成人免费观看男女羞羞视频| 四虎影视库| 91麻豆精品国产高清在线| 精品国产一区二区三区免费 | 尤物视频网站在线| 欧美另类videosbestsex久久| 91麻豆精品国产自产在线 | 国产成人欧美一区二区三区的| 久久99中文字幕久久| 精品国产一区二区三区久久久蜜臀 | 久久99青青久久99久久| 欧美另类videosbestsex久久| 久久国产精品只做精品| 亚欧成人乱码一区二区 | 精品国产一区二区三区久| 亚洲女初尝黑人巨高清在线观看| 日韩女人做爰大片| 国产一区二区精品久久| 午夜激情视频在线观看| 美国一区二区三区| 欧美1区2区3区| 精品国产一区二区三区免费| 国产国语在线播放视频| 欧美大片a一级毛片视频| 国产一区二区精品尤物| 久久国产影院| 久久99中文字幕| 欧美爱色| 欧美1区| 久久福利影视| 日日爽天天| 亚洲 欧美 成人日韩| 欧美国产日韩一区二区三区| 亚洲精品影院| 日韩男人天堂| 91麻豆tv| 中文字幕一区二区三区精彩视频| 日本免费区| 国产国产人免费视频成69堂| 亚飞与亚基在线观看| 国产亚洲精品成人a在线| 黄视频网站在线看| 欧美日本免费| 精品国产一区二区三区久久久狼| 国产不卡高清| 天天做人人爱夜夜爽2020| 午夜精品国产自在现线拍| 国产成人啪精品视频免费软件| 日本在线不卡视频| 麻豆系列 在线视频| 欧美另类videosbestsex视频| 欧美另类videosbestsex久久| 999久久久免费精品国产牛牛| 国产成人精品综合久久久| 日韩中文字幕在线观看视频| 韩国毛片| 九九干| 成人在免费观看视频国产| 九九久久国产精品大片| 日日夜夜婷婷| 在线观看成人网| 成人av在线播放| 美国一区二区三区| 欧美a级片免费看| 精品在线观看国产| 国产高清在线精品一区二区| 黄色免费三级| 天天色色网| 亚洲精品久久玖玖玖玖| 精品视频免费观看| 尤物视频网站在线观看| 国产成人精品一区二区视频| 亚洲精品久久久中文字| 四虎影视精品永久免费网站| 黄色福利片| 97视频免费在线观看| 欧美一级视|