Windows 預設 TCP 參數偏向通用相容性,在長距離、高延遲、高丟包 (衛星、跨國、無線) 環境下效能不佳。透過調整登錄鍵值優化 TCP 滑動視窗、路徑 MTU 發現、選擇性確認、時間戳記等機制,可顯著提升實際吞吐量。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
右鍵空白處 → 新增 → **DWORD (32 位元) 值**,名稱與數值如下表 (十六進位/十進位雙標):**修改後需重開機生效**。
| 參數名稱 | 建議值 (Hex/Dec) | 功能說明 | 適用場景 |
|---|---|---|---|
DefaultTTL | 0x80 (128) | IP 封包預設 TTL (Time To Live),防止路由迴圈。預設 128 (Win) / 64 (Linux)。 | 跨國多躍點路徑,防止封包過期丟棄 |
EnablePMTUBHDetect | 0 | 停用 PMTU 黑洞偵測 (避免 ICMP 被封導致連線卡死)。 | 路徑上有封鎖 ICMP 的防火牆/路由器 |
EnablePMTUDiscovery | 1 | 啟用路徑 MTU 發現,避免 IP 分片開銷。 | 一般環境建議開啟 |
GlobalMaxTcpWindowSize | 0x918C (37260) 或更大 (如 0x5B800 = 374784) | 全域最大 TCP 接收視窗 (位元組),突破 64KB 限制 (需 RFC 1323 Window Scaling)。 | 高延遲高頻寬長肥管道 (Long Fat Networks, LFN) |
TcpMaxDupAcks | 2 | 觸發快速重傳所需重複 ACK 數 (標準 3,設 2 更激進)。 | 高丟包環境加快恢復 |
SackOpts | 1 | 啟用選擇性確認 (SACK),接收端告知具體收到區段,發送端只重傳遺失段。 | 高丟包、無序交付環境必開 |
Tcp1323Opts | 1 (或 3) | 啟用 RFC 1323 擴充:Bit 0 = Window Scaling (視窗縮放),Bit 1 = Timestamps (時間戳記)。 1=僅 Window Scaling,3=兩者皆開。 | 高頻寬高延遲必開 Window Scaling;Timestamps 助 RTT 估算與 PAWS |
TcpWindowSize | 0x918C (37260) 或 0x16C80 (93440) 或 0x2DB80 (187264) 或 0x5B800 (374784) | 單一連線預設接收視窗大小 (位元組),受限於 GlobalMaxTcpWindowSize。 | 配合 GlobalMaxTcpWindowSize 設定,視網路品質調整 |
最佳視窗 ≈ 頻寬(bps) × RTT(s) / 8 (位元組)。現代最佳實踐: Windows 10/11 / Server 2016+ 預設已啟用 RFC 1323、SACK、CTCP/CUBIC,**通常無需手動調整**。若確有特定長肥管道 (跨國專線、衛星鏈路) 需微調,請以 iPerf3 實測為準,並記錄原始值以便回滾。