<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這款網(wǎng)絡(luò)排查工具,堪稱神器!

          共 3897字,需瀏覽 8分鐘

           ·

          2020-08-26 07:40


          作者:蘇欣
          鏈接:https://cloud.tencent.com/developer/article/1491610

          常用的 ping,tracert,nslookup 一般用來判斷主機(jī)的網(wǎng)絡(luò)連通性,其實(shí) Linux 下有一個(gè)更好用的網(wǎng)絡(luò)聯(lián)通性判斷工具,它可以結(jié)合 ping nslookup tracert 來判斷網(wǎng)絡(luò)的相關(guān)特性,這個(gè)命令就是 mtr。mtr 全稱 my traceroute,是一個(gè)把 ping 和 traceroute 合并到一個(gè)程序的網(wǎng)絡(luò)診斷工具。
          traceroute 默認(rèn)使用 UDP 數(shù)據(jù)包探測,而 mtr 默認(rèn)使用 ICMP 報(bào)文探測,ICMP 在某些路由節(jié)點(diǎn)的優(yōu)先級要比其他數(shù)據(jù)包低,所以測試得到的數(shù)據(jù)可能低于實(shí)際情況。

          安裝方法

          1.Windows 系統(tǒng)可以直接在 https://cdn.ipip.net/17mon/besttrace.exe 下載 BestTrace 工具并安裝。也可以在 https://github.com/oott123/WinMTR/releases GitHub 上下載 MTR 專用工具,該工具為免安裝,下載后可以直接使用。
          2.Linux 可以直接運(yùn)行命令進(jìn)行安裝。
          #?Debian/Ubuntu?系統(tǒng)
          apt?install?mtr

          #?RedHat/CentOS?系統(tǒng)
          yum?install?mtr
          3.Apple 客戶端可以在 App store 搜索 Best NetTools 下載安裝
          4.Android 客戶端:可以在 Google Play 上下載 TracePing,但是由于國內(nèi) Google Play 無法訪問,筆者自行下載下來,可以直接訪問 https://dwz.cn/KCdNPH4c 下載 TracePing。

          使用

          MTR 使用非常簡單,查看本機(jī)到 qq.com 的路由以及連接情況直接運(yùn)行如下命令:
          mtr?qq.com
          具體輸出的參數(shù)含義為:
          • 第一列是 IP 地址

          • 丟包率:Loss

          • 已發(fā)送的包數(shù):Snt

          • 最后一個(gè)包的延時(shí):Last

          • 平均延時(shí):Avg

          • 最低延時(shí):Best

          • 最差延時(shí):Wrst

          • 方差(穩(wěn)定性):StDev

          參數(shù)說明


          • -r or --report

          使用 mtr -r qq.com 來打印報(bào)告,如果不使用 -r or --report 參數(shù) mtr 會不斷動態(tài)運(yùn)行。使用 report 選項(xiàng), mtr 會向 qq.com 主機(jī)發(fā)送 10 個(gè) ICMP 包,然后直接輸出結(jié)果。通常情況下 mtr 需要幾秒鐘時(shí)間來輸出報(bào)告。mtr 報(bào)告由一系列跳數(shù)組成,每一跳意味著數(shù)據(jù)包通過節(jié)點(diǎn)或者路由器來達(dá)到目的主機(jī)。
          一般情況下 mtr 前幾跳都是本地 ISP,后幾跳屬于服務(wù)商比如 騰訊數(shù)據(jù)中心,中間跳數(shù)則是中間節(jié)點(diǎn),如果發(fā)現(xiàn)前幾跳異常,需要聯(lián)系本地 ISP 服務(wù)提供上,相反如果后幾跳出現(xiàn)問題,則需要聯(lián)系服務(wù)提供商,中間幾跳出現(xiàn)問題,則需要聯(lián)系運(yùn)營商進(jìn)行處理
          默認(rèn)使用 -r 參數(shù)來生成報(bào)告,只會發(fā)送 10 個(gè)數(shù)據(jù)包,如果想要自定義數(shù)據(jù)包數(shù)量,可以使用 -c 參數(shù)
          • -s or --packetsize

          使用 -s 來指定 ping 數(shù)據(jù)包的大小
          mtr?-s?100?qq.com
          100 bytes 數(shù)據(jù)包會用來發(fā)送,測試,如果設(shè)置為負(fù)數(shù),則每一次發(fā)送的數(shù)據(jù)包的大小都會是一個(gè)隨機(jī)數(shù)。
          • -c

          指定發(fā)送數(shù)量
          mtr?-c?100?qq.com

          • -n

          不進(jìn)行主機(jī)解釋
          使用 -n 選項(xiàng)來讓 mtr 只輸出 IP,而不對主機(jī) host name 進(jìn)行解釋
          mtr?-n?qq.com

          MTR 結(jié)果分析

          當(dāng)我們分析 MTR 報(bào)告時(shí)候,最好找出每一跳的任何問題。除了可以查看兩個(gè)服務(wù)器之間的路徑之外,MTR 在它的七列數(shù)據(jù)中提供了很多有價(jià)值的數(shù)據(jù)統(tǒng)計(jì)報(bào)告。
          Loss% 列展示了數(shù)據(jù)包在每一跳的丟失率。Snt 列記錄的多少個(gè)數(shù)據(jù)包被送出。
          使用 –report 參數(shù)默認(rèn)會送出 10 個(gè)數(shù)據(jù)包。如果使用 –report-cycles=[number-of-packets] 選項(xiàng),MTR 就會按照 [number-of-packets] 指定的數(shù)量發(fā)出 ICMP 數(shù)據(jù)包。
          Last, Avg, Best 和 Wrst 列都標(biāo)識數(shù)據(jù)包往返的時(shí)間,使用的是毫秒( ms )單位表示。Last 表示最后一個(gè)數(shù)據(jù)包所用的時(shí)間, Avg 表示評價(jià)時(shí)間, Best 和 Wrst 表示最小和最大時(shí)間。在大多數(shù)情況下,平均時(shí)間( Avg)列需要我們特別注意。
          最后一列 StDev 提供了數(shù)據(jù)包在每個(gè)主機(jī)的標(biāo)準(zhǔn)偏差。如果標(biāo)準(zhǔn)偏差越高,說明數(shù)據(jù)包在這個(gè)節(jié)點(diǎn)的延時(shí)越不相同。標(biāo)準(zhǔn)偏差會讓您了解到平均延時(shí)是否是真的延時(shí)時(shí)間的中心點(diǎn),或者測量數(shù)據(jù)受到某些問題的干擾。
          例如,如果標(biāo)準(zhǔn)偏差很大,說明數(shù)據(jù)包的延遲是不確定的。一些數(shù)據(jù)包延遲很小(例如:25ms),另一些數(shù)據(jù)包延遲很大(例如:350ms)。當(dāng) 10 個(gè)數(shù)據(jù)包全部發(fā)出后,得到的平均延遲可能是正常的,但是平均延遲是不能很好的反應(yīng)實(shí)際情況的。如果標(biāo)準(zhǔn)偏差很高,使用最好和最壞的延遲來確定平均延遲是一個(gè)較好的方案。
          在大多數(shù)情況下,您可以把 MTR 的輸出分成三大塊。根據(jù)配置,第二或第三跳一般都是您的本地 ISP,倒數(shù)第二或第三跳一般為您目的主機(jī)的 ISP。中間的節(jié)點(diǎn)是數(shù)據(jù)包經(jīng)過的路由器。
          當(dāng)分析 MTR 的輸出時(shí),您需要注意兩點(diǎn):loss 和 latency。

          網(wǎng)絡(luò)丟包

          如果在任何一跳上看到 loss 的百分比,這就說明這一跳上可能有問題了。當(dāng)然,很多服務(wù)提供商人為限制 ICMP 發(fā)送的速率,這也會導(dǎo)致此問題。那么如何才能指定是人為的限制 ICMP 傳輸 還是確定有丟包的現(xiàn)象?此時(shí)需要查看下一跳。如果下一跳沒有丟包現(xiàn)象,說明上一條是人為限制的。如下示例:

          人為限制 MTR 丟包
          在此例中,第 4 跳發(fā)生了丟包現(xiàn)象,但是接下來幾條都沒任何丟包現(xiàn)象,說明第二跳的丟包是人為限制的。如果在接下來的幾條中都有丟包,那就可能是第二跳有問題了。請記住,ICMP 包的速率限制和丟失可能會同時(shí)發(fā)生。

          MTR 丟包截圖
          從上面的圖中,您可以看從第 13 跳和第 17 跳都有 10% 的丟包率,從接下來的幾跳都有丟包現(xiàn)象,但是最后 15,16 跳都是 100% 的丟包率,我們可以猜測到 100% 的丟包率除了網(wǎng)絡(luò)糟糕的原因之前還有人為限制 ICMP。所以,當(dāng)我們看到不同的丟包率時(shí),通常要以最后幾跳為準(zhǔn)。
          還有很多時(shí)候問題是在數(shù)據(jù)包返回途中發(fā)生的。數(shù)據(jù)包可以成功的到達(dá)目的主機(jī),但是返回過程中遇到 “困難” 了。所以,當(dāng)問題發(fā)生后,我們通常需要收集反方向的 MTR 報(bào)告。
          此外,互聯(lián)網(wǎng)設(shè)施的維護(hù)或短暫的網(wǎng)絡(luò)擁擠可能會帶來短暫的丟包率,當(dāng)出現(xiàn)短暫的 10% 丟包率時(shí)候,不必?fù)?dān)心,應(yīng)用層的程序會彌補(bǔ)這點(diǎn)損失。

          網(wǎng)絡(luò)延遲

          除了可以通過 MTR 報(bào)告查看丟包率,我們也還可以看到本地到目的之間的時(shí)延。因?yàn)槭遣煌ǖ奈恢茫舆t通常會隨著條數(shù)的增加而增加。所以,延遲通常取決于節(jié)點(diǎn)之間的物理距離和線路質(zhì)量。

          MTR 查看網(wǎng)絡(luò)延遲
          從上面的 MTR 報(bào)告截圖中,我們可以看到從第 11 跳到 12 跳的延遲猛增,直接導(dǎo)致了后面的延遲也很大,一般有可能是 11 跳到 12 跳屬于不通地域,物理距離導(dǎo)致時(shí)延猛增,也有可能是第 12 條的路由器配置不當(dāng),或者是線路擁塞。需要具體問題進(jìn)行具體的分析。
          然而,高延遲并不一定意味著當(dāng)前路由器有問題。延遲很大的原因也有可能是在返回過程中引發(fā)的。從這份報(bào)告的截圖看不到返回的路徑,返回的路徑可能是完全不同的線路,所以一般需要進(jìn)行雙向 MTR 測試。
          注:ICMP 速率限制也可能會增加延遲,但是一般可以查看最后一條的時(shí)間延遲來判斷是否是上述情況。

          根據(jù) MTR 結(jié)果解決網(wǎng)絡(luò)問題

          MTR 報(bào)告顯示的路由問題大都是暫時(shí)性的。很多問題在 24 小時(shí)內(nèi)都被解決了。大多數(shù)情況下,如果您發(fā)現(xiàn)了路由問題,ISP 提供商已經(jīng)監(jiān)視到并且正在解決中了。當(dāng)您經(jīng)歷網(wǎng)絡(luò)問題后,可以選擇提醒您的 ISP 提供商。當(dāng)聯(lián)系您的提供商時(shí),需要發(fā)送一下 MTR 報(bào)告和相關(guān)的數(shù)據(jù)。沒有有用的數(shù)據(jù),提供商是沒有辦法去解決問題的。
          然而大多數(shù)情況下,路由問題是比較少見的。比較常見的是因?yàn)槲锢砭嚯x太長,或者上網(wǎng)高峰,導(dǎo)致網(wǎng)絡(luò)變的很慢。尤其是跨越大西洋和太平洋的時(shí)候,網(wǎng)絡(luò)有時(shí)候會變的很慢。這種情況下,建議就近接入客戶的節(jié)點(diǎn)。
          讀者福利
          《程序員內(nèi)功修煉》第二版強(qiáng)勢來襲,匯總了高質(zhì)量的算法、計(jì)算機(jī)基礎(chǔ)文章并且每一篇文章,要嘛是漫畫講解,要嘛是對話講解,一步步引導(dǎo),要嘛是圖形并茂,如果你想學(xué)習(xí)算法,學(xué)習(xí)計(jì)算機(jī)基礎(chǔ),那么我決定這份 PDF,一定會讓你有所幫助。當(dāng)然,如果一是一位有那么點(diǎn)迷茫的在校生,相信我的個(gè)人經(jīng)歷,可以給你打一份雞血,讓你更好著去尋找自己的目標(biāo)。

          文章整體目錄

          如何獲取

          很簡單,在我的微信公眾號?帥地玩編程?回復(fù)?程序員內(nèi)功修煉?即可獲取《程序員內(nèi)功修煉》第一版和第二版的 PDF。

          推薦,推薦一個(gè) GitHub,這個(gè) GitHub 整理了幾百本常用技術(shù)PDF,絕大部分核心地技術(shù)書籍都可以在這里找到,GitHub地址:https://github.com/iamshuaidi/CS-Book(電腦打開體驗(yàn)更好),地址閱讀原文直達(dá)

          瀏覽 44
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  豆花AV网站在线观看 | 亚洲色图欧美色图在线视频 | 国产成人精品一区二区三区四区 | 日韩成人无码一区二区视频 | 欧美成人激情 |