Windows服務(wù)器網(wǎng)絡(luò)訪問(wèn)丟包延時(shí)高如何處理
當(dāng)網(wǎng)站訪問(wèn)很慢或無(wú)法訪問(wèn)時(shí),若排除其它顯著問(wèn)題,而檢測(cè)到 ping 有明顯丟包時(shí),建議您作鏈路測(cè)試。Windows 環(huán)境下,您可以通過(guò) WinMTR 工具(優(yōu)先使用) 或 TRACERT 命令行工具進(jìn)行鏈路測(cè)試來(lái)判斷問(wèn)題來(lái)源。
通常情況下,請(qǐng)依照下述步驟進(jìn)行處理:
利用鏈路測(cè)試工具探測(cè)網(wǎng)絡(luò)狀況和服務(wù)器狀態(tài)。
根據(jù)鏈路測(cè)試結(jié)果分析處理。
WinMTR 工具(優(yōu)先使用)
mtr(My traceroute)作為一款網(wǎng)絡(luò)測(cè)試工具,集成了 tracert 與 ping 這兩個(gè)命令的圖形界面。ping 與 tracert 通常被用來(lái)檢測(cè)網(wǎng)絡(luò)狀況和服務(wù)器狀態(tài),具體說(shuō)明如下:
命令名稱(chēng) |
具體說(shuō)明 |
ping |
送出封包到指定的服務(wù)器。如果服務(wù)器有回應(yīng)就會(huì)傳送回封包,并附帶返回封包來(lái)回的時(shí)間 |
tracert |
返回從用戶的電腦到指定的服務(wù)器中間經(jīng)過(guò)的所有節(jié)點(diǎn)(路由)以及每個(gè)節(jié)點(diǎn)的回應(yīng)速度。 |
WinMTR 是 mtr 工具在 Windows 環(huán)境下的圖形化實(shí)現(xiàn),適合 Windows 下做路由追蹤及 ping 測(cè)試。WinMTR 默認(rèn)發(fā)送 ICMP 數(shù)據(jù)包進(jìn)行探測(cè),無(wú)法切換。
相比 TRACERT 命令行工具,WinMTR 能避免節(jié)點(diǎn)波動(dòng)對(duì)測(cè)試結(jié)果的影響,測(cè)試結(jié)果更正確。Windows 環(huán)境下,建議優(yōu)先使用 WinMTR 進(jìn)行鏈路測(cè)試。(點(diǎn)擊官方網(wǎng)站下載獲取。)
操作步驟
在官網(wǎng)下載 WinMTR 后 ,直接解壓運(yùn)行。運(yùn)行程序后,在 Host 字段輸入目標(biāo)服務(wù)器域名或 IP(前面不要包含空格)。
單擊 Start 開(kāi)始測(cè)試。(開(kāi)始測(cè)試后,相應(yīng)按鈕變成了 Stop。)
運(yùn)行一段時(shí)間后,單擊 Stop 停止測(cè)試。
說(shuō)明:您可以多測(cè)試幾分鐘,測(cè)試結(jié)束后,將結(jié)果導(dǎo)出。
Copy Text to clipboard:將測(cè)試結(jié)果以文本格式復(fù)制到粘貼板。
Copy HTML to clipboard:將測(cè)試結(jié)果以 HTML 格式復(fù)制到粘貼板。
Export TEXT:將測(cè)試結(jié)果以文本格式導(dǎo)出到指定文件。
Export HTML:將測(cè)試結(jié)果以 HTML 格式導(dǎo)出到指定文件。
Options:可選參數(shù)。具體包括:
1、Interval(sec):每次探測(cè)的間隔(過(guò)期)時(shí)間,默認(rèn)為 1 秒。
2、Ping size(bytes): ping 探測(cè)所使用的數(shù)據(jù)包大小,默認(rèn)為 64 字節(jié)。
3、Max hosts in LRU list: LRU 列表支持的最大主機(jī)數(shù),默認(rèn)值為 128。
4、Resolve names:通過(guò)反查 IP 以域名顯示相關(guān)節(jié)點(diǎn)。
查看 WinMTR 運(yùn)行后的返回結(jié)果。
說(shuō)明:默認(rèn)配置下,WinMTR 測(cè)試結(jié)果說(shuō)明如下:
第一列(Hostname):到目的服務(wù)器要經(jīng)過(guò)的每個(gè)節(jié)點(diǎn)主機(jī) IP 或域名。
第二列(Nr):節(jié)點(diǎn)編號(hào)。
第三列(Loss%):節(jié)點(diǎn)丟包率。ping 數(shù)據(jù)包回復(fù)失敗的百分比,由此可判斷那個(gè)節(jié)點(diǎn)(線路)出現(xiàn)故障,是服務(wù)器所在機(jī)房還是國(guó)際路由干路。
第四列(Sent):已發(fā)送的數(shù)據(jù)包數(shù)量。
第五列(Recv):已成功接收的數(shù)據(jù)包數(shù)量。
第六、七、八、九列(Best 、Avg、Worst、Last):分別是回應(yīng)時(shí)間的最小值、平均值、最大值和最后一個(gè)數(shù)據(jù)包的回應(yīng)時(shí)間。
TRACERT 命令行工具
TRACERT (Trace Route) 是 Windows 自帶的網(wǎng)絡(luò)診斷命令行實(shí)用程序,用于跟蹤 Internet 協(xié)議 (IP) 數(shù)據(jù)包傳送到目標(biāo)地址時(shí)經(jīng)過(guò)的路徑。
TRACERT 通過(guò)向目標(biāo)地址發(fā)送 ICMP 數(shù)據(jù)包來(lái)確定到目標(biāo)地址的路由。在這些數(shù)據(jù)包中,TRACERT 使用了不同的 IP 生存期 (TTL) 值。由于要求沿途的路由器在轉(zhuǎn)發(fā)數(shù)據(jù)包前至少必須將 TTL 減少 1,因此 TTL 實(shí)際上相當(dāng)于一個(gè)躍點(diǎn)計(jì)數(shù)器 (hop counter)。當(dāng)某個(gè)數(shù)據(jù)包的 TTL 達(dá)到零 (0) 時(shí),相應(yīng)節(jié)點(diǎn)就會(huì)向源計(jì)算機(jī)發(fā)送一個(gè) ICMP 超時(shí) 的消息。
TRACERT 第一次發(fā)送 TTL 為 1 的數(shù)據(jù)包,并在每次后續(xù)傳輸時(shí)將 TTL 增加 1,直到目標(biāo)地址響應(yīng)或達(dá)到 TTL 的最大值。中間路由器發(fā)送回來(lái)的 ICMP 超時(shí) 消息中包含了相應(yīng)節(jié)點(diǎn)的信息。
操作步驟
在桌面底部單擊 開(kāi)始 菜單,選擇 運(yùn)行。
打開(kāi)運(yùn)行框后,在框中輸入 cmd 并單擊 確定。
在命令運(yùn)行界面中,輸入 tracert ,按回車(chē)鍵后,界面將顯示 tracert 的用法說(shuō)明。
根據(jù)具體用法,輸入待跟蹤的目標(biāo)地址。
示例
C:\\> tracert -d 223.5.5.5
通過(guò)最多 30 個(gè)躍點(diǎn)跟蹤到 223.5.5.5 的路由
1 * * * 請(qǐng)求超時(shí)。
2 9 ms 3 ms 12 ms 192.168.17.20
3 4 ms 9 ms 2 ms 111.1.20.41
4 9 ms 2 ms 1 ms 111.1.34.197
5 11 ms * * 211.140.0.57
6 3 ms 2 ms 2 ms 211.138.114.62
7 2 ms 2 ms 1 ms 42.120.244.190
8 32 ms 4 ms 3 ms 42.120.244.238
9 * * * 請(qǐng)求超時(shí)。
10 3 ms 2 ms 2 ms 223.5.5.5
分析鏈路測(cè)試結(jié)果
以如下鏈路測(cè)試結(jié)果示例圖為基礎(chǔ)進(jìn)行闡述:
操作步驟
判斷各區(qū)域是否存在異常,并根據(jù)各區(qū)域的情況分別處理。
區(qū)域 A:客戶端本地網(wǎng)絡(luò),即本地局域網(wǎng)和本地網(wǎng)絡(luò)提供商網(wǎng)絡(luò)。針對(duì)該區(qū)域異常,客戶端本地網(wǎng)絡(luò)相關(guān)節(jié)點(diǎn)問(wèn)題,請(qǐng)對(duì)本地網(wǎng)絡(luò)進(jìn)行排查分析;本地網(wǎng)絡(luò)提供商網(wǎng)絡(luò)相關(guān)節(jié)點(diǎn)問(wèn)題,請(qǐng)向當(dāng)?shù)剡\(yùn)營(yíng)商反饋。
區(qū)域 B:運(yùn)營(yíng)商骨干網(wǎng)絡(luò)。針對(duì)該區(qū)域異常,可根據(jù)異常節(jié)點(diǎn) IP 查詢歸屬運(yùn)營(yíng)商,并向當(dāng)?shù)鼐W(wǎng)絡(luò)運(yùn)營(yíng)商反饋問(wèn)題。
區(qū)域 C:目標(biāo)服務(wù)器本地網(wǎng)絡(luò),即目標(biāo)主機(jī)歸屬網(wǎng)絡(luò)提供商網(wǎng)絡(luò)。針對(duì)該區(qū)域異常,需要向目標(biāo)主機(jī)歸屬網(wǎng)絡(luò)提供商反饋問(wèn)題。
結(jié)合 Avg(平均值)和 StDev(標(biāo)準(zhǔn)偏差),判斷各節(jié)點(diǎn)是否存在異常。
1、若 StDev 很高,則同步觀察相應(yīng)節(jié)點(diǎn)的 Best 和 Wrst,來(lái)判斷相應(yīng)節(jié)點(diǎn)是否存在異常。
2、若 StDev 不高,則通過(guò) Avg 來(lái)判斷相應(yīng)節(jié)點(diǎn)是否存在異常。
注意:上述 StDev 高 或者 不高,并沒(méi)有具體的時(shí)間范圍標(biāo)準(zhǔn)。而需要根據(jù)同一節(jié)點(diǎn)其它列的延遲值大小來(lái)進(jìn)行相對(duì)評(píng)估。比如,如果 Avg 為 30 ms,那么,當(dāng) StDev 為 25 ms,則認(rèn)為是很高的偏差。而如果 Avg 為 325 ms,則同樣的 StDev(25 ms),反而認(rèn)為是不高的偏差。
查看節(jié)點(diǎn)丟包率,若 Loss% 不為零,則說(shuō)明這一跳網(wǎng)絡(luò)可能存在問(wèn)題。
導(dǎo)致節(jié)點(diǎn)丟包的原因通常有兩種:
1、人為限制了節(jié)點(diǎn)的 ICMP 發(fā)送速率,導(dǎo)致丟包。
2、節(jié)點(diǎn)確實(shí)存在異常,導(dǎo)致丟包。
確定當(dāng)前異常節(jié)點(diǎn)的丟包原因。
若隨后節(jié)點(diǎn)均沒(méi)有丟包,說(shuō)明當(dāng)前節(jié)點(diǎn)丟包是由于運(yùn)營(yíng)商策略限制所致,可以忽略。如前文鏈路測(cè)試結(jié)果示例圖中的第 2 跳所示。
若隨后節(jié)點(diǎn)也出現(xiàn)丟包,說(shuō)明當(dāng)前節(jié)點(diǎn)存在網(wǎng)絡(luò)異常,導(dǎo)致丟包。如前文鏈路測(cè)試結(jié)果示例圖中的第 5 跳所示。
說(shuō)明:前述兩種情況可能同時(shí)發(fā)生,即相應(yīng)節(jié)點(diǎn)既存在策略限速,又存在網(wǎng)絡(luò)異常。對(duì)于這種情況,若當(dāng)前節(jié)點(diǎn)及其后續(xù)節(jié)點(diǎn)連續(xù)出現(xiàn)丟包,而且各節(jié)點(diǎn)的丟包率不同,則通常以最后幾跳的丟包率為準(zhǔn)。如前文鏈路測(cè)試結(jié)果示例圖所示,在第 5、6、7 跳均出現(xiàn)了丟包。所以,最終丟包情況,以第 7 跳的 40% 作為參考。
通過(guò)查看是否有明顯的延遲,來(lái)確認(rèn)節(jié)點(diǎn)是否存在異常。通過(guò)如下兩個(gè)方面進(jìn)行分析:
若某一跳之后延遲明顯陡增,則通常判斷該節(jié)點(diǎn)存在網(wǎng)絡(luò)異常。如前文鏈路測(cè)試結(jié)果示例圖所示,從第 5 跳之后的后續(xù)節(jié)點(diǎn)延遲明顯陡增,則推斷是第 5 跳節(jié)點(diǎn)出現(xiàn)了網(wǎng)絡(luò)異常。
注意:高延遲并不一定完全意味著相應(yīng)節(jié)點(diǎn)存在異常,延遲大也有可能是在數(shù)據(jù)回包鏈路中引發(fā)的,建議結(jié)合反向鏈路測(cè)試一并分析。
ICMP 策略限速也可能會(huì)導(dǎo)致相應(yīng)節(jié)點(diǎn)的延遲陡增,但后續(xù)節(jié)點(diǎn)通常會(huì)恢復(fù)正常。如前文鏈路測(cè)試結(jié)果示例圖所示,第 3 跳有 100% 的丟包率,同時(shí)延遲也明顯陡增。但隨后節(jié)點(diǎn)的延遲馬上恢復(fù)了正常。所以判斷該節(jié)點(diǎn)的延遲陡增及丟包是由于策略限速所致。
其它建議
若主機(jī)掉包和延遲非常高,建議作 WinMTR 雙向測(cè)試,即本地到服務(wù)器的和服務(wù)器到本地的測(cè)試。無(wú)法遠(yuǎn)程登錄時(shí),請(qǐng)通過(guò)管理終端進(jìn)行登錄。