「丟包」是網路診斷中最高頻關鍵字。本文從資料封包傳輸原理切入,通俗解釋丟包定義、丟包率計算、Ping 實測判讀,並歸納常見成因與對策。
網路傳輸以「封包」為單位(非連續串流)。發送端發出封包 → 經多跳路由 → 接收端回覆 ACK。若封包在傳輸中遺失(隊列溢位、位元錯誤、ACL 丟棄、路由震盪),發送端超時重傳,即為「丟包」。有去無回 = 丟包。
丟包率 = (1 - 接收封包數 / 發送封包總數) × 100%
例:發送 100 個 Ping 封包,收到 97 個回覆 → 丟包率 3%。
0% = 完美;<1% = 優;1-3% = 可接受;>5% = 嚴重影響體驗(遊戲卡頓、視訊凍結、網頁超時)。
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=1.2 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.1 ms
Request timeout for icmp_seq=2 ← 丟包
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.3 ms
--- 192.168.1.1 ping statistics ---
4 packets transmitted, 3 packets received, 25% packet loss
time=1.2 ms:往返延遲 (RTT),< 30ms 為優,> 100ms 明顯延遲。ttl=64:生存時間,推算經過躍點數(初始 64/128/255 - 當前值)。Request timeout:該序號封包無回覆 = 丟包。| 層面 | 典型成因 | 對策 |
|---|---|---|
| 物理/連結 | 網線水晶頭氧化/鬆動、光纖衰減、無線干擾/訊號弱 | 重壓水晶頭、換線、調整天線/換頻道、有線優先 |
| 設備效能 | 路由器/交換機 CPU/記憶體滿載、NAT 表滿、QoS 錯配 | 重啟設備、升級韌體、啟用硬體加速、調整 QoS |
| 佇列/擁塞 | 大流量下載/上傳佔滿上行、緩衝區溢位 | 限制單裝置頻寬、啟用 SQM/FQ_CoDel、避開高峰 |
| 協定/軟體 | MTU 過大導致分片丟包、防火牆/殺毒軟體攔截、驅動 Bug | 優化 MTU (1472/1492)、白名單/暫停安全軟體、更新驅動 |
| 運營商/骨幹 | 跨網互聯擁塞、海纜斷裂、BGP 路由波動 | 聯繫運營商、使用加速器/VPN 繞路、更換 DNS |
pathping / mtr:逐跳顯示丟包率與延遲,定位故障節點。