CN2 GIA 路由測試:用 MTR 與 Traceroute 檢查伺服器到中國大陸的線路

8 分鐘閱讀 6 次閱讀 0
本文目錄

CN2 GIA 路由測試可以看出伺服器與中國大陸使用者之間的流量實際走哪條線路,當網站開啟變慢或晚間延遲突然升高時,這是第一個該做的檢查。本文說明如何在 Debian/Ubuntu 與 CentOS/Rocky/AlmaLinux 上執行 MTR 路由測試與 traceroute,如何從中國大陸端反向測試回程路由,如何判讀節點(59.43.x.x 為 CN2,202.97.x.x 為一般 163 骨幹),以及延遲高時應提供哪些資料給 JUSTG 技術支援。適用於約翰尼斯堡與莫斯科(中國電信 CN2 GIA)、東京(中國電信優質線路)以及首爾(亞洲最佳化線路)的雲伺服器與獨立伺服器。

步驟 1:在伺服器上安裝 MTR 與 traceroute

MTR 結合了 ping 與 traceroute,會對每一個節點持續送出探測封包,並統計每一跳的掉包率與延遲,比單次 traceroute 更有參考價值。以 root 透過 SSH 登入後安裝:

# Debian / Ubuntu
apt update && apt install -y mtr-tiny traceroute

# CentOS / Rocky Linux / AlmaLinux
dnf install -y mtr traceroute
# (CentOS 7: yum install -y mtr traceroute)

步驟 2:從伺服器對中國大陸執行 MTR 路由測試

目標請選擇能代表您使用者的大陸 IP,最理想的是您公司或住家網路的公網 IP,或與主要訪客相同電信業者(中國電信、聯通、移動)的 IP。至少送出 100 個封包,才能平均掉短暫波動。參數說明:-r 報告模式、-w 寬格式輸出、-z 顯示 AS 編號、-b 同時顯示主機名稱與 IP、-c 100 探測次數。

# replace 198.51.100.20 with a public IP inside mainland China
# (for example your office or home connection)
mtr -rwzbc 100 198.51.100.20

# TCP mode, useful when ICMP is filtered somewhere on the path
mtr -rwzbc 100 -T -P 443 198.51.100.20

若只想快速看一下路徑,也可以使用傳統的 traceroute:

traceroute -n 198.51.100.20
# TCP traceroute to port 443
traceroute -T -p 443 -n 198.51.100.20

步驟 3:從中國大陸端測試回程路由

網路路由經常是不對稱的:伺服器到大陸的去程,與大陸回到伺服器的回程可能走不同線路。使用者下載的資料大多從伺服器流向使用者,因此兩個方向都要測。請在中國大陸境內的電腦上,對您的 JUSTG 伺服器 IP 執行相同測試:

# Linux machine in mainland China -> your JUSTG server
mtr -rwzbc 100 203.0.113.10

# Windows PC in mainland China (Command Prompt)
tracert -d 203.0.113.10
pathping -n 203.0.113.10

如果手邊沒有大陸的機器,可以利用公開的線上工具。ITDOG 能同時從大陸各省份、各電信業者的節點進行 ping 與路由追蹤;ping.pe 則能從全球多個節點執行 ping 與 MTR。可藉此判斷問題是否只發生在特定業者或地區,並保留結果頁面或複製文字輸出。

步驟 4:判讀節點:59.43.x.x(CN2)與 202.97.x.x(163)

以下是 CN2 GIA 伺服器的 MTR 報告示意,實際跳數與延遲會依您的網路而不同。

HOST: justg-vps                    Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS???    203.0.113.1           0.0%   100    0.5   0.6   0.3   2.1   0.2
  2. AS???    203.0.113.254         0.0%   100    1.1   1.3   0.9   3.0   0.3
  3. AS4809   59.43.x.x             0.0%   100   12.4  12.6  12.1  14.0   0.4
  4. AS4809   59.43.x.x            40.0%   100  148.2 148.9 147.6 153.1   1.0
  5. AS4809   59.43.x.x             0.0%   100  150.3 150.8 149.9 156.2   1.1
  6. AS4134   202.97.x.x            0.0%   100  152.0 152.6 151.4 158.9   1.3
  7. ???      198.51.100.20         0.0%   100  155.7 156.1 155.0 161.4   1.2

透過骨幹網段可以判斷流量由哪個網路承載:

節點 IP網路說明
59.43.x.x中國電信 CN2(AS4809)CN2 高品質骨幹。進入大陸的路段若維持在 59.43.x.x,代表走的是 CN2。
202.97.x.x中國電信 163(AS4134)一般骨幹。在最後接近家用網路的幾跳出現屬於正常;若國際出入口一段都是 202.97.x.x,代表該段沒有走 CN2。
219.158.x.x中國聯通骨幹(AS4837)流量已交給聯通網路。
223.120.x.x中國移動國際(CMI)流量已交給移動網路。

判讀時注意三點:第一,最大的延遲跳升通常出現在國際段,這是距離造成的,並非故障。第二,中間某一跳有掉包、但後續節點沒有延續(如上例第 4 跳),只是路由器限制 ICMP 回應,可以忽略;只有一路延續到最後一跳的掉包才會影響連線。第三,比較離峰時段與北京時間 20:00 至 23:00 晚高峰的結果,國際出口在這段時間最繁忙。

聯通與移動使用者是透過與中國電信的互聯連到 CN2 伺服器,路由與延遲可能和電信使用者不同。三家業者都測過,才能掌握完整狀況。

步驟 5:檢查端到端延遲與掉包

MTR 顯示路徑,長時間 ping 則能簡潔呈現最終結果。請與 MTR 測試同時進行:

ping -c 100 198.51.100.20 | tail -n 3

延遲穩定、抖動小且幾乎沒有掉包,即為正常。若最後一跳持續掉包,或晚高峰延遲明顯高於深夜,就值得回報。

步驟 6:延遲過高時要提供給 JUSTG 技術支援的資料

完整的資料能讓網路團隊更快定位問題,請附上:

  • 伺服器 IP 與機房(約翰尼斯堡、莫斯科、東京或首爾)。
  • 您在大陸的公網 IP、電信業者及所在省市。
  • 雙向 MTR 文字輸出(伺服器到大陸、大陸到伺服器),請貼文字而非截圖。
  • 每次測試的時間與時區,最好包含高峰與離峰各一次。
  • ping 統計結果,以及問題現象的簡短描述(網站慢、遊戲延遲、SSH 卡頓等)。

常見問題

CN2 GIA 伺服器為什麼還會看到 202.97.x.x?

許多家用寬頻使用者位於 163 接入網路,因此在目的地附近出現幾跳 202.97.x.x 是正常的。重點是國際段是否由 59.43.x.x 承載。

MTR 顯示某一跳掉包 30%,線路有問題嗎?

不一定。如果後續節點與最終目的地都是 0% 掉包,那只是該路由器限制 ICMP 回應。只有延續到最後一跳的掉包才會影響實際流量。

JUSTG 哪個機房到大陸延遲最低?

距離影響很大,東京與首爾地理位置最近;約翰尼斯堡與莫斯科則使用中國電信 CN2 GIA。建議依照本文方法,從使用者所在的電信業者實際測試比較。

如仍無法解決,請提交工單並附上上述測試結果,聯絡 JUSTG 技術支援。

这篇文章有帮助吗?