WINDOWS(7、XP) 降Ping手冊(改TcpAckFrequency和MTU)

測試環境: XP SP2 / 7旗鑑版

如果改完網路出問題的話把所有東西調回預設…我改那麼多次是沒遇到啦…

==============================

第一部份 - 改TcpAckFrequency

原理:TcpAckFrequency是指封包要堆積幾個才會丟到伺服器,預設是2,我們把他改成1個就丟: D

方法1 (Windows Vista/7無效):
在”開始”下打開“執行”,輸入regedit,開啟註冊表。

找到
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces
裡面會有很多網路介面,找到有你對外網路IP的介面上
(不知道的開執行打”cmd”後enter,在黑黑的畫面上打ipconfig可以看到對外ip(192開頭的是區網。不要用))

在右邊的視窗點滑鼠右鍵,添加一個新的DWORD值,命名為TcpAckFrequency,然後右鍵點擊這個字串,選擇“改變”,把數值設為1。

這部份可能有人會找不到…我是沒遇上
找到
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQParameters

在右邊視窗點右鍵,添加新的DWORD值,命名為TCPNoDelay,然後右鍵點擊它,選擇“改變”,把值設為1。

————XP用——————————————————-

1. 下載:tuneapp-1.3.2.zip 並解開執行
http://factory.sakura.ne.jp/tuneapp/

2. 點左邊TCP/IP,右上的選你的網卡名稱,不知道的在”連線”→”顯示所有連線”在”區域網路”上右鍵,最上面的”連線使用”裡就是。

3. TCP遲延ACK 改1 ,最後點”設定反應”後重開機生效(不過後面還有東西要改…晚點重開)

————WIN7用——————————————————-

控制台=> 程式與功能 => 開啟或關閉windows 功能 => MSMQ 伺服器 => 安裝

存一個 1.reg 檔 內容如下(不含######

#######################################################################
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQ]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQParameters]
“TCPNoDelay”=dword:00000001

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQParametersOCMsetup]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQParametersSecurity]
“SecureDSCommunication”=dword:00000000

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQParameterssetup]

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSMQSetup]

#######################################################################

開始→regedit
找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters Interfaces

下面會列出許多NIC介面(名字類似{7DBA6DCA-FFE8-4002-A28F-4D2B57AE8383}),
找到有你對外網路IP的介面上
(不知道的開執行打”cmd”後enter,在黑黑的畫面上打ipconfig可以看到對外ip(192開頭的是區網。不要用))

在右邊視窗點右鍵,添加新的DWORD值,
命名TcpAckFrequency,右鍵,修改,數值資料下面填1
最後重開機OK。

(可能要裝方法3的修正檔…因為不像MTU能用網頁測數值所以沒實際的數字測出有沒有用)

==============================

第二部份 - 改MTU

原理:
MTU是指資料要累積多少才會構成一個封包,預設是1500,也就是要1500資料量才會傳指令給伺服器,這邊我們改成576,576是IPv6的最小容忍值,另外有64的,那個是IPv4的。之前有設過忘記結果…PING值自已覺得不夠猛的可以試試…

注意:
有經過路由器的可能會失效,因為封包設定可能會被路由器改過…有路由器的也別憺心,連到路由器上(如在IE打192.168.2.1之類…詳細請找出你可愛的說明書,裡面應該有調MTU的值,但電腦和路由都要設哦)

————XP用——————————————————-
下載DRTCP021並執行
http://www.dslreports.com/drtcp
1. 左下角Adapter Settings選好你的網路卡
2. Dial Up (RAS) MTU 和 Adapter Settings裡的MTU都輸入576
3. Save並重開機

————VISTA/7用——————————————————-

1. 按開始後輸入”cmd”打開”命令提示字元”
→(我的有改過權限,不能改的話到
→:WindowsSystem32cmd.exe右鍵以管理員執行)

2. 輸入”netsh interface ipv4 show subinterfaces” 看一下你的網路介面和MTU值

#####################################################
MTU MediaSenseState 接收的位元組 傳送的位元組 介面


4294967295 1 0 10244243 Loopback Pseudo-Interface 1
1500 1 621315590 44876968 寬頻連線
1500 1 2638134 12003126 區域連線

#####################################################

之後打 netsh interface ipv4 set subinterface “連結名” mtu=576 store=persistent
EX: netsh interface ipv4 set subinterface “寬頻連線” mtu=576 store=persistent

不用重開機就有反應
網路怪怪的話弄回576/1500吧

Next: [eclipse] SVN for Eclipse Prev: [php]各種類Google Analytics網頁流量分析、站長工具套件