什麼是 Ping?它是如何運作的

Ping 是網路診斷的基礎工具,透過 ICMP 協定測量延遲與連通性。本文說明其運作原理、常見指令與實務應用。

Dig Trace 團隊Dig Trace 團隊· 網路工程團隊3 分鐘閱讀
什麼是 Ping?它是如何運作的

Ping 是一種基礎網路診斷工具,用來測試兩台設備之間是否能互通,以及封包往返需要多少時間。如果你曾經想知道你的 Ping 值是多少,可以使用 digtrace 的線上 Ping 工具 快速測試連線延遲。Ping 的名字來自 Packet Internet Groper,透過發送 ICMP 封包確認目標主機狀態,並以毫秒回報延遲。

Ping 幾乎是所有作業系統的標準配備。

Ping 是什麼?

Ping 的核心功能很單純:確認「這條路通不通」。當你懷疑家裡網路連不上某個網站,第一個直覺往往是打開命令列執行 Ping。它不傳輸檔案,只負責送出極小的測試封包並等待回音。

測量結果以 RTT(Round Trip Time,往返時間)呈現,也就是封包從出發到回家的全程耗時。Ping 也會統計丟包率,告訴你有多少封包消失在網路中。這兩項數據比頻寬更能反映即時應用的體驗,例如線上遊戲或視訊會議。

Ping 如何運作?

Ping 依賴 ICMP(Internet Control Message Protocol),這是網路層的輔助協定。當你在終端機輸入指令,作業系統會組裝一個 ICMP Echo Request 封包送往目標 IP。若對方正常運作且沒被防火牆擋下,就會回傳 ICMP Echo Reply。

每個封包都帶有 TTL(Time To Live)值,防止封包在路由器之間無限迴圈。每經過一台路由器,TTL 就會遞減。當數值歸零,路由器便會丟棄封包並回報逾時。這個機制也成為 Traceroute 追蹤路由的基礎。

在 IPv4 與 IPv6 環境中,Ping 的邏輯相同,但後者使用 ICMPv6。對一般使用者來說指令介面幾乎沒有差別,不過企業防火牆的設定規則可能需要分開處理。

如何執行與解讀 Ping?

無論你使用 Windows、macOS 或 Linux,Ping 都已內建於系統中。以下是幾個常見的測試情境。

測試本地網路閘道與外部 DNS:

# 測試中華電信 DNS
ping 168.95.1.1

# 測試 Google 公共 DNS
ping 8.8.8.8

# 測試本機 TCP/IP 堆疊
ping 127.0.0.1

在 Windows 上,預設會發送四次封包;在 Linux 與 macOS 上則會持續 Ping,直到你按下 Ctrl+C 停止。

以下是典型的輸出範例:

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=5.234 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=5.189 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=5.412 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=5.301 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 5.189/5.284/5.412/0.087 ms

欄位說明如下:

  • icmp_seq:封包序號,若數字不連續可能代表丟包。

    ttl:剩餘存活時間,可粗略推估經過了幾台路由器。

    time:單次 RTT,數字越小代表延遲越低。

    packet loss:丟包率,0% 最理想。

如果看到 Request timed out,代表在預設時間內沒收到回覆。這可能是目標關機、網路斷線,也可能是對方防火牆刻意丟棄 ICMP 封包。

Ping 與其他概念的區別

很多人把「網路很快」等同於「頻寬很大」,但 Ping 測的是延遲。一條 1Gbps 光纖如果路由繞了半個地球,Ping 值照樣偏高;反之,10Mbps 固定制線路若離機房近,玩遊戲可能更順暢。

Ping 和 Traceroute 也常被混淆。Ping 只告訴你終點通不通;Traceroute 則會列出沿途每一跳路由器,幫你定位瓶頸在哪一段。

有線與無線環境對 Ping 的影響也很明顯。在台灣家庭網路中,電腦直接接 LAN 通常延遲最穩定;若使用 2.4GHz Wi-Fi,容易受到鄰居網路或微波爐干擾。5GHz 延遲較低,但穿牆能力較弱。

實務應用與常見狀況

對一般使用者來說,最實用的技巧是「分段測試」。先 Ping 路由器(如 192.168.1.1)確認區網正常;再 Ping ISP 的 DNS(如中華電信 168.95.1.1)判斷對外連線;最後 Ping 遊戲伺服器,找出問題所在。台灣家用寬頻以中華電信、台灣大哥大、遠傳電信和中嘉寬頻為主,不同 ISP 的路由品質會直接影響 Ping 值。

線上遊戲玩家特別在意 Ping 值。延遲超過 100ms 操作就容易 lag;超過 200ms 體驗通常嚴重打折。這也是為什麼許多人選擇固定制光纖並盡量使用有線連線。若想了解遊戲延遲的成因與排除方法,可參考 遊戲輸入延遲的完整指南。雲端遊戲對低 Ping 要求更高,相關技術可參閱 雲端遊戲運作原理。

重要提醒:許多伺服器會基於安全理由封鎖 ICMP Echo Request。Ping 不通不代表服務中斷,僅表示對方未回應探測封包。

不過,Ping 並非萬能。企業防火牆與雲端主機常預設阻擋 ICMP,這時 Ping 不通不代表主機當機。網管人員需搭配 MTR 等工具才能準確判斷。關於 ICMP 的詳細運作,可參考 NetAdmin 的技術說明;Ping 底層細節則可參閱 iThome 的深入解析

常見問題

什麼是 Ping?

Ping 是一種網路診斷工具,透過發送 ICMP Echo Request 封包測試目標主機是否可達,並測量封包往返時間(RTT)。它是排查連線問題的第一步。

Ping 值多少算正常?

30 ms 以下極佳(同縣市連線),30-60 ms 良好,60-100 ms 可接受,超過 150 ms 就會明顯影響遊戲和視訊通話體驗。

Ping 不通代表網路斷線嗎?

不一定。許多伺服器和防火牆會主動封鎖 ICMP 封包,Ping 不通不代表服務中斷,可能只是對方拒絕回應探測請求。

如何測試我的 Ping 值?

在 Windows 上開啟命令提示字元輸入 ping 8.8.8.8,在 macOS 或 Linux 上開啟終端機輸入相同指令。也可以使用 digtrace 的線上 Ping 工具直接測試。

如何降低 Ping 值?

使用有線網路取代 Wi-Fi,關閉背景下載與串流,選擇路由節點較少的 ISP,或更換為固定制光纖方案。

Ping 和 Traceroute 有什麼不同?

Ping 只測試終點是否可達並回報延遲;Traceroute 會列出沿途每一台路由器,幫你定位瓶頸發生在哪一段路徑上。