網(wǎng)絡(luò)優(yōu)化——注冊(cè)表語(yǔ)句分析
下面是網(wǎng)絡(luò)優(yōu)化——注冊(cè)表語(yǔ)句分析
"SackOpts"=dword:00000001
這行可以說(shuō)什么也沒做。系統(tǒng)默認(rèn)大概就這么設(shè)置的,他只不過(guò)是確認(rèn)拉下。
"TcpWindowSize"=dword:0003e640 #這個(gè)好像是推薦pppoe鏈接使用的,設(shè)置tcp協(xié)議的發(fā)送框口大小為255552,傳輸單元緩沖區(qū),在設(shè)置全局緩沖區(qū)大小前這個(gè)設(shè)置是多余的,這個(gè)是配合 glbalmaxtcpwindowsize起作用的。
"Tcp1323Opts"=dword:00000001
這個(gè)控制框口(不理解的參考上下文)縮放,如果帶窗口縮放,則在 RTT 為 100 毫秒的路徑上能達(dá)到 1 千兆字節(jié) (GB)/秒 (Mbps) 的吞吐量,可惜我們只是嘆惜的份!
"DefaultTTL"=dword:00000040
TCP/IP的分組壽命,這主要是防止TCP/IP分組在Internet中被無(wú)限復(fù)制。加大該值,可以使TCP/IP分組通過(guò)Internet傳輸?shù)礁h(yuǎn)的目的地。
2003的默認(rèn)值是64,或許想讓別人當(dāng)你是一個(gè)服務(wù)器吧?。ò踩紤]?)"EnablePMTUBHDetect"=dword:00000000
這行默認(rèn)的,感覺也沒什么作用!,就是關(guān)閉
啟用(設(shè)為1)可以增加為特定(傳輸分段)段執(zhí)行重新傳輸?shù)淖畲蟠螖?shù)"EnablePMTUDiscovery"=dword:00000001
如果不設(shè)置這個(gè),windows將使用一個(gè)特定的(通常很小)mtu(最大傳輸單元),這可能是你看到網(wǎng)速變快的原因所在。
"GlobalMaxTcpWindowSize"=dword:0003e640
這個(gè)設(shè)置系統(tǒng)全局的最大的不帶ack確認(rèn)的tcp框口。
通常,windows默認(rèn)的設(shè)置可以滿足大多數(shù)網(wǎng)絡(luò)環(huán)境。
這些設(shè)置在特定的網(wǎng)絡(luò)環(huán)境中可能有不錯(cuò)的效果。但是可能在存在很高的延遲機(jī)會(huì)。
------------
Windows Registry Editor Version 5.00
[HKEY_USERS.DEFAULTSoftwareMicrosoftWindowsCurrentVersionInternet Settings]
"MaxConnectionsPerServer"=dword:00000020
"MaxConnectionsPer1_0Server"=dword:00000020[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings]
"MaxConnectionsPerServer"=dword:00000020
IE每個(gè)站最多32個(gè)連接,HTTP 1.1規(guī)范規(guī)定,一個(gè)客戶機(jī)同一時(shí)刻最多只能建立兩個(gè)到同一服務(wù)器的連接。
當(dāng)我們打開一個(gè)頁(yè)面時(shí),瀏覽器會(huì)建立一個(gè)連接下載HTML文件,建立第二個(gè)連接下載圖片。如果頁(yè)面包含了大量的圖片,瀏覽器會(huì)每次一個(gè)順序下載這些圖片,即使網(wǎng)絡(luò)連接的速度很快也不一定能夠充分利用。增加MaxConnectionsPerServer值也就增加了允許打開的連接數(shù)量,增加了允許同時(shí)下載的圖片數(shù)量,提高了裝入整個(gè)頁(yè)面的效率(當(dāng)然,這有一個(gè)前提,也就是服務(wù)器能夠接受來(lái)自同一客戶機(jī)的二個(gè)以上的連接)。如果沒有什么特別的原因,這個(gè)選項(xiàng)值得一改,對(duì)于速度較快的連接來(lái)說(shuō)尤其如此。
網(wǎng)絡(luò)優(yōu)化~ 運(yùn)行“regedit”,以打開“注冊(cè)表管理器”;然后,按以下路徑找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters。
右擊“Parameters”子鍵右邊相對(duì)應(yīng)的空白處,選擇“新建”→“DWORD值”,將其命名為“DefaultTTL”,然后,右擊鼠標(biāo)選擇“修改”,在彈出的窗口中修改其值為“80”(十六進(jìn)制)或128(十進(jìn)制),如圖1。
再依次新建以下“DWORD值”,并且修改其數(shù)值(如有兩值,則前者為十六進(jìn)制,后者為十進(jìn)制):
“EnablePMTUBHDetect”=“0”
“EnablePMTUDiscovery”=“1”
“GlobalMaxTcpWindowSize”=“7FFF”或“32767”
“TcpMaxDupAcks”=“2”
“SackOpts”=“1”
“Tcp1323Opts”=“1”
“TcpWindowSize”=“7FFF”或“32767”(93440或186880或372300,視網(wǎng)絡(luò)情況而定)保存退出重啟OK!
解釋:
一、EnablePMTUBHDetect→黑洞路由器探測(cè)(優(yōu)化大師的優(yōu)化其值為1,默認(rèn)為0)說(shuō)明:將此參數(shù)設(shè)置為 1 (True) 會(huì)使 TCP 在執(zhí)行路徑 MTU 發(fā)現(xiàn)時(shí),嘗試檢測(cè)“黑洞”路由器。當(dāng)“黑洞”路由器需要用 Don't Fragment 位設(shè)置來(lái)碎片化 IP 數(shù)據(jù)報(bào)時(shí),它不返回“無(wú)法到達(dá) ICMP 目標(biāo)”消息。TCP 依靠接收這些消息來(lái)執(zhí)行路徑 MTU 發(fā)現(xiàn)。啟用此功能后,如果幾次重新發(fā)送片段都沒有收到響應(yīng),TCP 將嘗試在不設(shè)置 Don't Fragment 位的情況下發(fā)送片段。如果收到片段響應(yīng),MSS 將降低并且以后在連接上傳輸?shù)臄?shù)據(jù)包中都會(huì)設(shè)置 Don't Fragment 位。啟用黑洞路由器檢測(cè)可以增加為特定的片段執(zhí)行重新發(fā)送的最大次數(shù)。
二、EnablePMTUDiscovery→最大傳輸單元大小自動(dòng)探測(cè)(默認(rèn)為1)說(shuō)明:將此參數(shù)設(shè)置為 1 (True) 會(huì)使 TCP 嘗試發(fā)現(xiàn)到達(dá)一個(gè)遠(yuǎn)程主機(jī)的路徑上的“最大傳輸單元”(MTU 或最大數(shù)據(jù)包大小)。通過(guò)發(fā)現(xiàn)路徑 MTU 并將 TCP 片段限制為此大小,TCP 可以消除此路徑上使用不同的 MTU 連接網(wǎng)絡(luò)的路由器上的碎片。碎片會(huì)對(duì) TCP 吞吐量產(chǎn)生不利影響并造成網(wǎng)絡(luò)擁塞。如果將此參數(shù)設(shè)置為 0,則對(duì)于不是指向本地子網(wǎng)上的計(jì)算機(jī)的所有連接,都使用 576 字節(jié)的 MTU。
注:MTU就是最大傳輸單元。
三、GlobalMaxTcpWindowSize→
說(shuō)明: 該參數(shù)確定所提供的最大 TCP 接收窗口大小。接收窗口是指一個(gè)發(fā)送者在未收到確認(rèn)的情況下可以發(fā)送的字節(jié)數(shù)??偟膩?lái)說(shuō),大的窗口可以改進(jìn)高延緩和高帶寬網(wǎng)絡(luò)上的性能。要獲得最大效率,接收窗口應(yīng)是 TCP 最大段大小 (MSS) 的偶數(shù)倍。根據(jù)注冊(cè)表項(xiàng)的位置,該參數(shù)可以是基于接口的參數(shù),也可以是全局參數(shù)。
如果給定接口已有一個(gè)數(shù)值,該數(shù)值就會(huì)覆蓋系統(tǒng)范圍的數(shù)值。
四、TcpMaxDupAcks(默認(rèn)值為2)
說(shuō)明:該參數(shù)確定在啟動(dòng)快速重傳那些在傳輸途中丟失的數(shù)據(jù)段之前,必須收到相同序號(hào)發(fā)送數(shù)據(jù)段的重復(fù)應(yīng)答次數(shù)。
五、SackOpts(默認(rèn)值為1)
說(shuō)明: 該參數(shù)控制選擇性確認(rèn)(SACK,在 RFC 2018 中定義)支持是否啟用。
六、Tcp1323Opts
說(shuō)明:該參數(shù)控制 RFC 1323 時(shí)間戳與窗口縮放選項(xiàng)。默認(rèn)情況下,啟用時(shí)間戳與窗口縮放,但是可以使用標(biāo)志位進(jìn)行控制。0 位控制窗口縮放,1 位控制時(shí)間戳。
值為0(禁用 RFC 1323 選項(xiàng))
值為1(僅啟用窗口縮放)
值為2(僅啟用時(shí)間戳)
值為3(兩個(gè)選項(xiàng)均啟用)
七、TcpWindowSize
傳輸單元緩沖區(qū)(這個(gè)值根據(jù)網(wǎng)絡(luò)環(huán)境不同而定,并非固定值;如局域網(wǎng)或?qū)拵У氖M(jìn)制值為8192;ADSL虛擬撥號(hào)用戶為255552等等)說(shuō)明:當(dāng)多臺(tái)服務(wù)器同時(shí)訪問部署服務(wù)器,尤其是如果客戶端使用基于 DOS 的 Microsoft 客戶端 TCP/IP 協(xié)議驅(qū)動(dòng)程序時(shí),可能會(huì)出現(xiàn)網(wǎng)絡(luò)瓶頸。為網(wǎng)絡(luò)接口設(shè)置 TCPWindowSize 將會(huì)改善部署服務(wù)器的整體網(wǎng)絡(luò)和 CPU 性能。
修改前請(qǐng)備份注冊(cè)表
下邊是微軟官方的中文資料:
--------------------------
網(wǎng)絡(luò)優(yōu)化~ 運(yùn)行“regedit”,以打開“注冊(cè)表管理器”;然后,按以下路徑找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters。
右擊“Parameters”子鍵右邊相對(duì)應(yīng)的空白處,選擇“新建”→“DWORD值”,將其命名為“DefaultTTL”,然后,右擊鼠標(biāo)選擇“修改”,在彈出的窗口中修改其值為“80”(十六進(jìn)制)或128(十進(jìn)制),如圖1。
再依次新建以下“DWORD值”,并且修改其數(shù)值(如有兩值,則前者為十六進(jìn)制,后者為十進(jìn)制):
“EnablePMTUBHDetect”=“0”
“EnablePMTUDiscovery”=“1”
“GlobalMaxTcpWindowSize”=“7FFF”或“32767”
“TcpMaxDupAcks”=“2”
“SackOpts”=“1”
“Tcp1323Opts”=“1”
“TcpWindowSize”=“7FFF”或“32767”(93440或186880或372300,視網(wǎng)絡(luò)情況而定)保存退出重啟OK!
解釋:
一、EnablePMTUBHDetect→黑洞路由器探測(cè)(優(yōu)化大師的優(yōu)化其值為1,默認(rèn)為0)說(shuō)明:將此參數(shù)設(shè)置為 1 (True) 會(huì)使 TCP 在執(zhí)行路徑 MTU 發(fā)現(xiàn)時(shí),嘗試檢測(cè)“黑洞”路由器。當(dāng)“黑洞”路由器需要用 Don't Fragment 位設(shè)置來(lái)碎片化 IP 數(shù)據(jù)報(bào)時(shí),它不返回“無(wú)法到達(dá) ICMP 目標(biāo)”消息。TCP 依靠接收這些消息來(lái)執(zhí)行路徑 MTU 發(fā)現(xiàn)。啟用此功能后,如果幾次重新發(fā)送片段都沒有收到響應(yīng),TCP 將嘗試在不設(shè)置 Don't Fragment 位的情況下發(fā)送片段。如果收到片段響應(yīng),MSS 將降低并且以后在連接上傳輸?shù)臄?shù)據(jù)包中都會(huì)設(shè)置 Don't Fragment 位。啟用黑洞路由器檢測(cè)可以增加為特定的片段執(zhí)行重新發(fā)送的最大次數(shù)。
二、EnablePMTUDiscovery→最大傳輸單元大小自動(dòng)探測(cè)(默認(rèn)為1)說(shuō)明:將此參數(shù)設(shè)置為 1 (True) 會(huì)使 TCP 嘗試發(fā)現(xiàn)到達(dá)一個(gè)遠(yuǎn)程主機(jī)的路徑上的“最大傳輸單元”(MTU 或最大數(shù)據(jù)包大小)。通過(guò)發(fā)現(xiàn)路徑 MTU 并將 TCP 片段限制為此大小,TCP 可以消除此路徑上使用不同的 MTU 連接網(wǎng)絡(luò)的路由器上的碎片。碎片會(huì)對(duì) TCP 吞吐量產(chǎn)生不利影響并造成網(wǎng)絡(luò)擁塞。如果將此參數(shù)設(shè)置為 0,則對(duì)于不是指向本地子網(wǎng)上的計(jì)算機(jī)的所有連接,都使用 576 字節(jié)的 MTU。
注:MTU就是最大傳輸單元。
三、GlobalMaxTcpWindowSize→傳輸單元緩沖區(qū)(這個(gè)值根據(jù)網(wǎng)絡(luò)環(huán)境不同而定,并非固定值;如局域網(wǎng)或?qū)拵У氖M(jìn)制值為8192;ADSL虛擬撥號(hào)用戶為255552等等)說(shuō)明:當(dāng)多臺(tái)服務(wù)器同時(shí)訪問部署服務(wù)器,尤其是如果客戶端使用基于 DOS 的 Microsoft 客戶端 TCP/IP 協(xié)議驅(qū)動(dòng)程序時(shí),可能會(huì)出現(xiàn)網(wǎng)絡(luò)瓶頸。為網(wǎng)絡(luò)接口設(shè)置 TCPWindowSize 將會(huì)改善部署服務(wù)器的整體網(wǎng)絡(luò)和 CPU 性能。
四、TcpMaxDupAcks(默認(rèn)值為2)
說(shuō)明:該參數(shù)確定在啟動(dòng)快速重傳那些在傳輸途中丟失的數(shù)據(jù)段之前,必須收到相同序號(hào)發(fā)送數(shù)據(jù)段的重復(fù)應(yīng)答次數(shù)。
五、SackOpts(默認(rèn)值為1)
說(shuō)明: 該參數(shù)控制選擇性確認(rèn)(SACK,在 RFC 2018 中定義)支持是否啟用。
六、Tcp1323Opts
說(shuō)明:該參數(shù)控制 RFC 1323 時(shí)間戳與窗口縮放選項(xiàng)。默認(rèn)情況下,啟用時(shí)間戳與窗口縮放,但是可以使用標(biāo)志位進(jìn)行控制。0 位控制窗口縮放,1 位控制時(shí)間戳。
值為0(禁用 RFC 1323 選項(xiàng))
值為1(僅啟用窗口縮放)
值為2(僅啟用時(shí)間戳)
值為3(兩個(gè)選項(xiàng)均啟用)
七、TcpWindowSize
說(shuō)明: 該參數(shù)確定所提供的最大 TCP 接收窗口大小。接收窗口是指一個(gè)發(fā)送者在未收到確認(rèn)的情況下可以發(fā)送的字節(jié)數(shù)??偟膩?lái)說(shuō),大的窗口可以改進(jìn)高延緩和高帶寬網(wǎng)絡(luò)上的性能。要獲得最大效率,接收窗口應(yīng)是 TCP 最大段大小 (MSS) 的偶數(shù)倍。根據(jù)注冊(cè)表項(xiàng)的位置,該參數(shù)可以是基于接口的參數(shù),也可以是全局參數(shù)。
如果給定接口已有一個(gè)數(shù)值,該數(shù)值就會(huì)覆蓋系統(tǒng)范圍的數(shù)值。
修改前請(qǐng)備份注冊(cè)表
-----
接收窗口自動(dòng)調(diào)節(jié)
TCP 接收窗口大小是指接收主機(jī)(用于存儲(chǔ) TCP 連接的傳入數(shù)據(jù))的存儲(chǔ)緩沖區(qū)的字節(jié)數(shù)。建立連接后,在各 TCP 段中通告接收窗口大小。通告接收存儲(chǔ)緩沖區(qū)中的剩余空間是一種接收端流控制機(jī)制,可防止發(fā)送端發(fā)送接收端無(wú)法存儲(chǔ)的數(shù)據(jù)。在等待確認(rèn)和接收窗口大小更新之前,發(fā)送主機(jī)最多只能發(fā)送接收方通告的數(shù)據(jù)量。
Windows Server 2003 和 Windows XP 中的接收窗口對(duì)于 Windows Server 2003 和 Windows XP 中的 TCP/IP 堆棧,最大接收窗口大小:
有一個(gè)基于發(fā)送界面鏈接速度的默認(rèn)值實(shí)際值自動(dòng)調(diào)整為 TCP 連接建立過(guò)程中協(xié)商的最大段大小 (MSS) 的偶數(shù)增量。
可以手動(dòng)配置可將注冊(cè)表值 HKEY_LOCAL_MACHINESystem CurrentControlSetServicesTcpipParametersTCPWindowSize 和 HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersInterfaceTCPWindowSize 設(shè)置為最大 65,535 字節(jié)(帶窗口縮放)或 1,073,741,823(不帶窗口縮放)。如果不帶窗口縮放,則在 RTT 為 100 毫秒的路徑上只能達(dá)到大約 5 兆位/秒 (Mbps) 的吞吐量,而無(wú)論路徑帶寬是多少。
如果帶窗口縮放,可放大到 1 千兆字節(jié) (GB)RFC 1323 中定義的窗口縮放允許 TCP 在建立連接的過(guò)程中協(xié)商窗口大小的縮放系數(shù)。可通過(guò)將注冊(cè)表項(xiàng) HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersTcp1323Opts 的值設(shè)置為 1 或 3 來(lái)啟用窗口縮放。默認(rèn)情況下,僅當(dāng)接收的同步 (SYN) 段包含 Window Scale 選項(xiàng)時(shí),才在連接上使用窗口縮放。
可由應(yīng)用程序指定啟動(dòng)連接時(shí),應(yīng)用程序可使用 SO_RCVBUF Windows Sockets 選項(xiàng),指定連接的最大接收窗口大小。對(duì)于窗口縮放,應(yīng)用程序必須指定大于 65535 字節(jié)的窗口大小。
通常很難確定接收窗口的正確值。為了填充發(fā)送端和接收端之間的網(wǎng)絡(luò)容量,應(yīng)將窗口大小設(shè)置為連接的帶寬延遲乘積(帶寬乘以往返時(shí)間)。即使正確確定了帶寬延遲乘積,您也不知道接收應(yīng)用程序從傳入數(shù)據(jù)緩沖器檢索數(shù)據(jù)的速度(應(yīng)用程序檢索速率)有多快。
盡管支持可縮放窗口,Windows Server 2003 和 Windows XP 中的最大接收窗口大小仍可以限制吞吐量,因?yàn)樗轻槍?duì)所有 TCP 連接(除非由應(yīng)用程序指定)的一個(gè)固定的最大大小,它可能增加某些連接的吞吐量,同時(shí)減少另一些連接的吞吐量。另外,TCP 連接的固定最大接收窗口大小不隨網(wǎng)絡(luò)狀況的變化而變化。
下一代 TCP/IP 堆棧中的接收窗口
為了解決根據(jù)當(dāng)前網(wǎng)絡(luò)狀況正確確定連接的最大接收窗口大小的值的問題,下一代 TCP/IP 堆棧對(duì)“接收窗口自動(dòng)調(diào)節(jié)”提供了支持。“接收窗口自動(dòng)調(diào)節(jié)”根據(jù)不斷變化的網(wǎng)絡(luò)狀況,通過(guò)測(cè)量帶寬延遲乘積和應(yīng)用程序檢索速率不斷地確定最合適的接收窗口大小,并調(diào)整最大接收窗口大小。
“接收窗口自動(dòng)調(diào)節(jié)”默認(rèn)情況下啟用 TCP 窗口縮放,允許最大 16 MB 窗口大小。數(shù)據(jù)流通過(guò)連接時(shí),下一代 TCP/IP 堆棧監(jiān)控連接,測(cè)量連接的當(dāng)前帶寬延遲乘積和應(yīng)用程序接收速率,并調(diào)整接收窗口大小以優(yōu)化吞吐量。下一代 TCP/IP 堆棧不再使用 TCPWindowSize 注冊(cè)表值。
隨著 TCP 對(duì)等方之間吞吐量的優(yōu)化,數(shù)據(jù)傳送過(guò)程中網(wǎng)絡(luò)帶寬的利用率也會(huì)得到提高。如果優(yōu)化所有應(yīng)用程序以接收 TCP 數(shù)據(jù),則可以顯著提高網(wǎng)絡(luò)的整體利用率,從而使得在已達(dá)到或接近容量運(yùn)行的網(wǎng)絡(luò)上運(yùn)用“服務(wù)質(zhì)量”(QoS) 更加重要。