什麼是丟包?
Ping 使用 ICMP Echo Request/Reply。發送 100 個封包,回覆 < 100 個即為丟包。丟包率 = (1 - 回覆數/發送數) × 100%。
正常閾值:區域網 < 0.1%,廣域網 < 1%,視訊/VoIP/遊戲要求 < 0.5%。
四大核心成因與診斷流程
1. 實體線路故障
- 光纖:端面汙染、彎曲半徑過小、熔接損耗超標、OTDR 測試定位斷點。
- 銅纜:水晶頭接觸不良、線序錯誤、超距(>100m)、靠近強電/變頻器干擾、線材未達 Cat.5e 標準。
- 測試法:
# 路由器端擴展 Ping(Cisco)
ping ip 192.168.2.1 repeat 1000 size 1500 df-bit
# 三層交換機/無路由器環境:兩端各接一筆電腦,設同網段 IP
ping 192.168.2.2 -t -l 1500
若測試無丟包 → 線路商線路正常,問題在用戶端設備/設定;若有丟包 → 開立故障單要求線路商處理。
2. 設備硬體故障
- 網卡故障:更換網卡/插槽測試。
- Switch Port 壞軌:換 Port、換 Patch Cord、換 Switch 排查。
- 光模組/收發器:單工/雙工模式不匹配、DDM 光功率異常(Tx/Rx 功率超出廠商規格)。
- 案例:交換機光模組 CRC 錯誤封包未被丟棄、堆積緩衝區導致 Switch 死機。更換光模組即解決。
3. 網路擁塞與 QoS 調優
徵兆:延遲抖動大、丟包率隨流量上升。路由器/交換機 CPU/記憶體飆高。
排查指令:
show processes cpu sorted
show processes memory
show interfaces | include output queue|drops|CRC
show interfaces switching
對策:
- 啟用 CEF/Fast Switching:
ip cef、ip route-cache same-interface(同介面多網段大流量)。
- 識別攻擊流量:
ip accounting、access-list 暫時封鎖源 IP,最終在攻擊源頭清理。
- UDP/組播/廣播風暴:啟用 Storm Control、IGMP Snooping、限制 DNS 放大攻擊。
4. 路由錯誤與非對稱路徑
- 預設閘由設錯、靜態路由遺漏、動態路由協定(OSPF/BGP)收斂異常。
- 非對稱路徑:去程 A→B 走 Link1,回程 B→A 走 Link2,防火牆狀態檢查失敗導致丟包。對策:PBR 強制對稱路徑、啟用 TCP State Bypass。
進階排查工具與方法論
| 工具 | 用途 | 關鍵參數 |
| PingPlotter / MTR | 逐躍點丟包/延遲視覺化 | 持續 30 分鐘以上、間隔 1 秒 |
| Wireshark | 封包級分析:重傳、亂序、零窗口、RST | 顯示過濾器 tcp.analysis.retransmission |
| iPerf3 | 頻寬/抖動/丟包壓力測試 | iperf3 -c server -t 60 -P 4 -u -b 100M |
| Smokeping | 長期監控丟包趨勢圖 | RRDTool 繪圖、多目標並行 |
解決策略優先順序
- 確認實體層(線纜、模組、Patch Panel)— 成本最低、解決率最高。
- 檢查設備資源(CPU、Memory、Buffer、TCAM)— 升級韌體、調整 QoS、擴充硬體。
- 優化路由與流量工程— 消除非對稱、引導流量避開擁塞鏈路。
- 安全層面— 封鎖攻擊源、啟用 uRPF/ACL/防火牆 IPS。
- 應用層容錯— 啟用 TCP Keepalive、應用層心跳、重試機制、熔斷器模式。
給網管的檢核清單
- [ ] 丟包是持續性還是間歇性?何時段最高峰?
- [ ] 影響單一主機、單一 VLAN、還是全網?
- [ ] 是否伴隨 CRC/輸入輸出錯誤計數器遞增?
- [ ] 最近有無變更(佈線、設備、配置、軟體部署)?
- [ ] 是否有備份配置與回滾方案?