企業內網常見現象:理論 100Mbps 頻寬,傳小檔卻異常慢、大檔才跑滿速。主因在於 10/100M 自動協商 (Auto-Negotiation) 反覆握手 耗費相對時間,尤其小檔傳輸佔比高時顯著拖累整體體感。將網卡鎖定 100Mbps Full Duplex 可繞過協商、直接傳輸,大幅降低延遲。
根因分析:自動協商的隱形成本
- 雙端自適應網卡連線時,需交換 Fast Link Pulses (FLP) 協商速度/雙工,往往需多次重試確認穩定。
- 協商過程佔用 數十至數百毫秒,對 < 1MB 小檔佔比極高 (如 100KB 檔傳 0.008s,協商 0.1s 佔 92%)。
- 網路封包多為 < 1KB (ACK、RPC、DNS、AD 查詢),累積協商延遲嚴重影響互動應用回應。
解決方案:強制固定速度與雙工模式
- 桌面「網路鄰居/網路」右鍵 → 「內容」。
- 右鍵「區域連線/乙太網路」→ 「內容」 → 「設定/配置」按鈕。
- 「進階/Advanced」標籤 → 屬性選 「Connection Type」/「Link Speed & Duplex」/「Speed & Duplex」/「媒體類型」 (視驅動廠商而異)。
- 預設 Auto Negotiation → 改為 100 Mbps Full Duplex / 100BaseTx Full Duplex。
- 確定 → 介面卡短暫重置 → 生效。
模式選擇決策樹
- 全網皆為 10/100/1000 自適應或千兆 → 鎖定 1000 Mbps Full Duplex (或 100 Mbps Full 視骨幹)。
- 仍有 10Mbps 老舊節點、或線纜品質差/長度超標 → 降級鎖定 10 Mbps Full Duplex 保穩定。
- 嚴禁「速度鎖定、雙工自動」或「速度自動、雙工鎖定」:極易造成雙工不匹配 (一端 Full、一端 Half) → 大量碰撞/CRC 錯誤/重傳,效能遠比雙雙自動更差。
驗證與監控
ethtool eth0 (Linux) / 驅動屬性頁 (Windows) 確認 Speed: 100Mbps, Duplex: Full。
netstat -e / 交換器 show interface counters errors 監控 CRC/Alignment/Collision 計數器,應長期為 0 或極低。
- 小檔傳輸實測:
copy /b smallfile.txt \\target\share\ 對比鎖定前後耗時。
現代環境補充
- 千兆/萬兆網路 強制要求自動協商 (IEEE 802.3ab/ae),不建議手動鎖定;若必須鎖定,雙端必須完全一致且纜線達標 (Cat6a/7)。
- 資料中心採用 DCB (Data Center Bridging)、PFC、ETS 由交換器統一協商,主機端保持 Auto。
- 虛擬化環境:vSwitch/vNIC 通常不暴露速度/雙工設定,由實體 NIC 決定;確保實體 NIC 鎖定策略與上聯交換器一致。
一鍵鎖定 100M Full Duplex,消除自動協商抖動,讓區網小檔傳輸「零等待」,舊環境提速立竿見影;新環境則信任標準協商與 DCB,各取所需。