有時(shí),本地訪問云服務(wù)器,或者在云服務(wù)器上訪問其他網(wǎng)絡(luò)資源時(shí),發(fā)現(xiàn)網(wǎng)絡(luò)卡頓。使用 ping 命令,發(fā)現(xiàn)網(wǎng)絡(luò)存在丟包或時(shí)延較高的情況。丟包或時(shí)延較高可能是骨干鏈路擁塞、鏈路節(jié)點(diǎn)故障、服務(wù)器負(fù)載高、系統(tǒng)設(shè)置問題等原因引起。
本文檔以 Linux 和 Windows 云服務(wù)器為例,介紹如何使用 MTR 以及如何對(duì) MTR 的報(bào)告結(jié)果進(jìn)行分析。
解決方案
在排除云服務(wù)器自身原因后,使用 Tracert 工具對(duì)網(wǎng)絡(luò)鏈路進(jìn)行測試(請(qǐng)參閱:網(wǎng)絡(luò)延遲丟包/使用Tracert測試鏈路),然后使用 MTR 進(jìn)行進(jìn)一步診斷。MTR 是一款網(wǎng)絡(luò)診斷工具,其工具診斷出的報(bào)告可以幫助您確認(rèn)網(wǎng)絡(luò)問題的癥結(jié)所在。
Windows :WinMTR 的介紹及使用方法
WinMTR:適用于 Windows 系統(tǒng)的免費(fèi)網(wǎng)絡(luò)診斷工具,集成 Ping 和 tracert 功能,具有圖形界面,可以直觀地看到各個(gè)節(jié)點(diǎn)的響應(yīng)時(shí)間和丟包情況。
安裝 WinMTR
1. 登錄 Windows 云服務(wù)器。
2. 在操作系統(tǒng)界面,通過瀏覽器訪問官方網(wǎng)站(或合法渠道)下載對(duì)應(yīng)操作系統(tǒng)類型的 WinMTR 包。
3. 解壓縮 WinMTR 包。
使用 WinMTR
1. 雙擊 WinMTR.exe,打開 WinMTR 工具。
2. 在 WinMTR 窗口的 Host 處,輸入目的服務(wù)器 IP 或者域名,單擊【Start】。根據(jù)實(shí)際情況,等待 WinMTR 運(yùn)行一段時(shí)間,單擊【Stop】,結(jié)束測試。如下圖所示:
測試結(jié)果的主要信息如下:
● Hostname:到目的服務(wù)器要經(jīng)過的每個(gè)主機(jī) IP 或名稱。
● Nr:經(jīng)過節(jié)點(diǎn)的數(shù)量。
● Loss%:對(duì)應(yīng)節(jié)點(diǎn)的丟包率。
● Sent:發(fā)送的數(shù)據(jù)包數(shù)量。
● Recv:接收到響應(yīng)的數(shù)量。
● Best:最短的響應(yīng)時(shí)間。
● Avrg:平均響應(yīng)時(shí)間。
● Worst:最長的響應(yīng)時(shí)間。
Linux:MTR 的介紹及使用方法
MTR:Linux 平臺(tái)上診斷網(wǎng)絡(luò)狀態(tài)的工具,繼承 Ping、traceroute、nslookup 功能,默認(rèn)使用 ICMP 包測試兩個(gè)節(jié)點(diǎn)之前的網(wǎng)絡(luò)連接情況。
安裝 MTR
執(zhí)行以下命令在 Linux 云服務(wù)器中安裝 MTR:
● CentOS 操作系統(tǒng):
yum install mtr
● Ubuntu 操作系統(tǒng):
sudo apt-get install mtr
MTR 命令用法:mtr [參數(shù)] hostname
MTR 相關(guān)參數(shù)說明
● -h/--help:顯示幫助菜單
● -v/--version:顯示 MTR 版本信息
● -r/--report:結(jié)果以報(bào)告形式輸出
● -p/--split:與 --report 相對(duì),分別列出每次追蹤的結(jié)果
● -c/--report-cycles:設(shè)置每秒發(fā)送的數(shù)據(jù)包數(shù)量,默認(rèn)是10
● -s/--psize:設(shè)置數(shù)據(jù)包的大小
● -n/--no-dns:不對(duì) IP 地址做域名解析
● -a/--address:用戶設(shè)置發(fā)送數(shù)據(jù)包的 IP 地址,主要用戶單一主機(jī)多個(gè) IP 地址的場景
● -4:IPv4
● -6:IPv6
使用示例
以本機(jī)到 IP 156.247.12.45 的服務(wù)器為例。執(zhí)行以下命令,以報(bào)告形式輸出 MTR 的診斷報(bào)告。
mtr 156.247.12.45 -- report
返回類似如下信息:
主要輸出的信息如下:
● HOST:節(jié)點(diǎn)的 IP 地址或域名。
● Loss%:丟包率。
● Snt:每秒發(fā)送的數(shù)量包的數(shù)量。
● Last:最近一次的響應(yīng)時(shí)間。
● Avg:平均響應(yīng)時(shí)間。
● Best:最短的響應(yīng)時(shí)間。
● Wrst:最長的響應(yīng)時(shí)間。
● StDev:標(biāo)準(zhǔn)偏差,偏差值越高,說明各個(gè)數(shù)據(jù)包在該節(jié)點(diǎn)的響應(yīng)時(shí)間相差越大。
報(bào)告結(jié)果分析及處理
以下圖為例分析 WinMTR 和 MTR 的報(bào)告。
● 服務(wù)器本地網(wǎng)絡(luò):即圖中A區(qū)域,代表本地局域網(wǎng)和本地網(wǎng)絡(luò)提供商網(wǎng)絡(luò)。
○ 如果客戶端本地網(wǎng)絡(luò)中的節(jié)點(diǎn)出現(xiàn)異常,則需要對(duì)本地網(wǎng)絡(luò)進(jìn)行相應(yīng)的排查分析。
○ 如果本地網(wǎng)絡(luò)提供商網(wǎng)絡(luò)出現(xiàn)異常,則需要向當(dāng)?shù)剡\(yùn)營商反饋問題。
● 運(yùn)營商骨干網(wǎng)絡(luò):即圖中B區(qū)域,如果該區(qū)域出現(xiàn)異常,可以根據(jù)異常節(jié)點(diǎn)的IP查詢其所屬的運(yùn)營商,向?qū)?yīng)運(yùn)營商進(jìn)行反饋。
● 目標(biāo)端本地網(wǎng)絡(luò):即圖中C區(qū)域,即目標(biāo)服務(wù)器所屬提供商的網(wǎng)絡(luò)。
○ 如果丟包發(fā)生在目的服務(wù)器,則可能是目的服務(wù)器的網(wǎng)絡(luò)配置原因,請(qǐng)檢查目的服務(wù)器的防火墻配置。
○ 如果丟包發(fā)生在接近目的服務(wù)器的幾跳,則可能是目標(biāo)服務(wù)器所屬提供商的網(wǎng)絡(luò)問題。
說明:
由于網(wǎng)絡(luò)狀況的非對(duì)稱性,遇到本地到服務(wù)器的網(wǎng)絡(luò)問題時(shí),建議您收集雙向的 MTR 數(shù)據(jù)(從本地到云服務(wù)器以及云服務(wù)器到本地)。
● 如果丟包發(fā)生在目的服務(wù)器,則可能是目的服務(wù)器的網(wǎng)絡(luò)配置不當(dāng)引起,請(qǐng)檢查目的服務(wù)器的防火墻配置。
● 如果丟包開始于前三跳,一般為本地運(yùn)營商網(wǎng)絡(luò)問題,建議檢查訪問其他網(wǎng)址是否存在相同情況。如果存在相同情況,請(qǐng)反饋給您的運(yùn)營商進(jìn)行處理。
● 如果丟包發(fā)生在接近目的服務(wù)器的幾跳,則可能為服務(wù)器運(yùn)營商的網(wǎng)絡(luò)問題,請(qǐng) 提交工單 進(jìn)行反饋處理。提交工單時(shí),請(qǐng)附上本地到目的服務(wù)器,以及目的服務(wù)器到本地的 MTR 測試截圖,以便工程師進(jìn)行定位。
常見的鏈路異常案例
● 目標(biāo)主機(jī)配置不當(dāng)如下示例所示,數(shù)據(jù)包在目標(biāo)地址出現(xiàn)了100%的丟包。從數(shù)據(jù)上看是數(shù)據(jù)包沒有到達(dá),其實(shí)很有可能是目標(biāo)服務(wù)器網(wǎng)絡(luò)配置原因,需檢查目的服務(wù)器的防火墻配置。
Host Loss% Snt Last Avg Best Wrst StDev 1. ???2. ???3. 1XX.X.X.X 0.0% 10 521.3 90.1 2.7 521.3 211.34. 11X.X.X.X 0.0% 10 2.9 4.7 1.6 10.6 3.95. 2X.X.X.X 80.0% 10 3.0 3.0 3.0 3.0 0.06. 2X.XX.XX.XX 0.0% 10 1.7 7.2 1.6 34.9 13.67. 1XX.1XX.XX.X 0.0% 10 5.2 5.2 5.1 5.2 0.08. 2XX.XX.XX.XX 0.0% 10 5.3 5.2 5.1 5.3 0.19. 1XX.1XX.XX.X 100.0% 10 0.0 0.0 0.0 0.0 0.0
● ICMP 限速如下所示,在第 5 跳出現(xiàn)丟包,但后續(xù)節(jié)點(diǎn)均未見異常。所以推斷是該節(jié)點(diǎn) ICMP 限速所致。該場景對(duì)最終客戶端到目標(biāo)服務(wù)器的數(shù)據(jù)傳輸不會(huì)有影響,分析時(shí)可以忽略此種場景。
Host Loss% Snt Last Avg Best Wrst StDev 1. 1XX.XX.XX.XX 0.0% 10 0.3 0.6 0.3 1.2 0.32. 1XX.XX.XX.XX 0.0% 10 0.4 1.0 0.4 6.1 1.83. 1XX.XX.XX.XX 0.0% 10 0.8 2.7 0.8 19.0 5.74. 1XX.XX.XX.XX 0.0% 10 6.7 6.8 6.7 6.9 0.15. 1XX.XX.XX.XX 0.0% 10 27.2 25.3 23.1 26.4 2.96. 1XX.XX.XX.XX 0.0% 10 39.1 39.4 39.1 39.7 0.27. 1XX.XX.XX.XX 0.0% 10 39.6 40.4 39.4 46.9 2.38. 1XX.XX.XX.XX 0.0% 10 39.6 40.5 39.5 46.7 2.2
● 環(huán)路如下所示,數(shù)據(jù)包在第 5 跳之后出現(xiàn)了循環(huán)跳轉(zhuǎn),導(dǎo)致最終無法到達(dá)目標(biāo)服務(wù)器。出現(xiàn)此場景是由于運(yùn)營商相關(guān)節(jié)點(diǎn)路由配置異常所致,需聯(lián)系相應(yīng)節(jié)點(diǎn)歸屬運(yùn)營商處理。
Host Loss% Snt Last Avg Best Wrst StDev 1. 1XX.XX.XX.XX 0.0% 10 0.3 0.6 0.3 1.2 0.32. 1XX.XX.XX.XX 0.0% 10 0.4 1.0 0.4 6.1 1.83. 1XX.XX.XX.XX 0.0% 10 0.8 2.7 0.8 19.0 5.74. 1XX.XX.XX.XX 0.0% 10 6.7 6.8 6.7 6.9 0.15. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.06. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.07. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.08. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.09. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0
● 鏈路中斷如下示例所示,數(shù)據(jù)包在第 4 跳之后就無法收到任何反饋。這通常是由于相應(yīng)節(jié)點(diǎn)中斷所致。建議結(jié)合反向鏈路測試做進(jìn)一步確認(rèn)。該場景需要聯(lián)系相應(yīng)節(jié)點(diǎn)歸屬運(yùn)營商處理。
Host Loss% Snt Last Avg Best Wrst StDev 1. 1XX.XX.XX.XX 0.0% 10 0.3 0.6 0.3 1.2 0.32. 1XX.XX.XX.XX 0.0% 10 0.4 1.0 0.4 6.1 1.83. 1XX.XX.XX.XX 0.0% 10 0.8 2.7 0.8 19.0 5.74. 1XX.XX.XX.XX 0.0% 10 6.7 6.8 6.7 6.9 0.15. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.06. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.07. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.08. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.09 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.0