萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

一個提升網速的註冊表調優技巧:調整 TCP/IP 參數 (TTL、PMTU、Window Size、SACK、Timestamps)

TCP/IP 註冊表調優:在高延遲/高丟包鏈路上榨乾頻寬

Windows 預設 TCP 參數偏向通用相容性,在長距離、高延遲、高丟包 (衛星、跨國、無線) 環境下效能不佳。透過調整登錄鍵值優化 TCP 滑動視窗、路徑 MTU 發現、選擇性確認、時間戳記等機制,可顯著提升實際吞吐量。

🛠️ 註冊表修改位置

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

右鍵空白處 → 新增 → **DWORD (32 位元) 值**,名稱與數值如下表 (十六進位/十進位雙標):**修改後需重開機生效**。

📋 關鍵參數對照表與建議值

參數名稱建議值 (Hex/Dec)功能說明適用場景
DefaultTTL0x80 (128)IP 封包預設 TTL (Time To Live),防止路由迴圈。預設 128 (Win) / 64 (Linux)。跨國多躍點路徑,防止封包過期丟棄
EnablePMTUBHDetect0停用 PMTU 黑洞偵測 (避免 ICMP 被封導致連線卡死)。路徑上有封鎖 ICMP 的防火牆/路由器
EnablePMTUDiscovery1啟用路徑 MTU 發現,避免 IP 分片開銷。一般環境建議開啟
GlobalMaxTcpWindowSize0x918C (37260) 或更大 (如 0x5B800 = 374784)全域最大 TCP 接收視窗 (位元組),突破 64KB 限制 (需 RFC 1323 Window Scaling)。高延遲高頻寬長肥管道 (Long Fat Networks, LFN)
TcpMaxDupAcks2觸發快速重傳所需重複 ACK 數 (標準 3,設 2 更激進)。高丟包環境加快恢復
SackOpts1啟用選擇性確認 (SACK),接收端告知具體收到區段,發送端只重傳遺失段。高丟包、無序交付環境必開
Tcp1323Opts1 (或 3)啟用 RFC 1323 擴充:Bit 0 = Window Scaling (視窗縮放),Bit 1 = Timestamps (時間戳記)。
1=僅 Window Scaling,3=兩者皆開。
高頻寬高延遲必開 Window Scaling;Timestamps 助 RTT 估算與 PAWS
TcpWindowSize0x918C (37260) 或 0x16C80 (93440) 或 0x2DB80 (187264) 或 0x5B800 (374784)單一連線預設接收視窗大小 (位元組),受限於 GlobalMaxTcpWindowSize。配合 GlobalMaxTcpWindowSize 設定,視網路品質調整

⚠️ 風險與驗證

  • **錯誤參數可能導致網路完全無法連線**,修改前**務必匯出該分支備份** (右鍵「匯出」存為 `.reg`)。
  • 修改後重開機,使用 iPerf3、Speedtest CLI、Fast.com、PingPlotter 實測對比吞吐量、延遲、丟包、重傳率。
  • 參數非「越大越好」,視窗過大在高丟包下反而增加重傳開銷;需根據 **BDP (Bandwidth-Delay Product = 頻寬 × RTT)** 計算適值:
    最佳視窗 ≈ 頻寬(bps) × RTT(s) / 8 (位元組)。
  • 現代 Windows (Vista+) 內建 **CTCP (Compound TCP)**、**CUBIC** 擁塞控制演算法,**自動動態調整視窗**,手動固定視窗反而可能干擾自適應機制。建議優先確保 `Tcp1323Opts=3` (開啟 Window Scaling + Timestamps) 讓系統自動優化。
現代最佳實踐: Windows 10/11 / Server 2016+ 預設已啟用 RFC 1323、SACK、CTCP/CUBIC,**通常無需手動調整**。若確有特定長肥管道 (跨國專線、衛星鏈路) 需微調,請以 iPerf3 實測為準,並記錄原始值以便回滾。
copyright © 萬盛學電腦網 all rights reserved