1/10/2012

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


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

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

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



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

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

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

這部份可能有人會找不到…我是沒遇上
找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters

在右邊視窗點右鍵,添加新的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_MACHINE\SOFTWARE\Microsoft\MSMQ]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters]
"TCPNoDelay"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\OCMsetup]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security]
"SecureDSCommunication"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\setup]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Setup]
#######################################################################

開始→regedit
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters \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"打開"命令提示字元"
→(我的有改過權限,不能改的話到
→:\Windows\System32\cmd.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吧

9 則留言:

  1. 修改MTU的時候打完按enter之後會顯示
    "要求的作業須提高的權限 。
    請問這樣有修改到嗎?

    回覆刪除
  2. 這樣的話你試試在 按開始後輸入"cmd"打開"命令提示字元"
    這個部份,用右鍵點命令提示字元,然後以系統管理員身份打開,再接著之後的步驟試試

    回覆刪除
  3. 您好,我想直接引用您此篇文章的連結至巴哈姆特哈啦區 新瑪奇討論版
    於我的文章中使用超連結,希望可以徵求你的同意
    因為這兩個Ping值修改手段我相信會對於該遊戲的部分玩家來說非常受用
    假若有任何不妥煩情告知,晚些我會補上在該文章引用處的連結
    謝謝您!

    回覆刪除
    回覆
    1. 好的^^
      當初我也是為了玩瑪奇改的呢(公測玩到影世界出沒多久…)
      現在在工作有時間只玩些單機遊戲 / w \

      刪除
    2. 非常感謝您的同意!
      以下是我引用您網誌的頁面:

      http://forum.gamer.com.tw/Co.php?bsn=07422&sn=1692264&subbsn=0

      假若有興趣也可以點開整串看看影片,當然現今瑪奇的改變不少就是(苦笑)
      由於我對於修改Ping這方面真的是門外漢,有了你的文章引用的話,我就放下怕誤導別人的擔憂了
      相信你的文章會使許多玩家受益,再次感謝!

      刪除
  4. 遇上了一些問題QQ
    [控制台=> 程式與功能 => 開啟或關閉windows 功能 => MSMQ 伺服器 => 安裝
    存一個 1.reg 檔...]
    這邊 我把MSMQ 伺服器那格打勾 按確定 就不知道該怎麼做了QQ
    另外
    (不知道的開執行打"cmd"後enter,在黑黑的畫面上打ipconfig可以看到對外ip(192開頭的是區網。不要用)
    這邊 對外ip是指"子網路遮罩"嗎?還是是哪一個項目後面的值呢...
    我看到的有"連結-本機 ipv6位址" "ipv4位址" "子網路遮罩" "預設閘道" "通道介面卡"...其中"ipv4位址" "預設閘道"是192開頭的
    最後就是
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters
    我的MSMQ裡沒有任何資料夾...無法更動到這個會有影響嗎?

    不好意思提了這麼多問題...因為本身對電腦完全不懂Q_Q"
    勞煩您花時間回覆了...非常感謝><!!!!

    回覆刪除
    回覆
    1. 1.reg
      用附屬應用程式裡的記事本存#####內的內容, 然後另存新檔 檔名叫1.reg
      這邊最把 「 控制台」中「資料夾選項」「檢視」裡的 隱藏副檔名 的選項勾勾取消
      確定他是1.reg 不是 1.reg.txt 再對他點兩下

      用ipv4位址 如果"只有"192開頭的就用它吧 -- 因為網路設備的種種原因可能只有一組(要另外開課來講的

      reg檔做成功後 MSMQ裡就會有東西了

      有空我再做個附圖的好了

      刪除
  5. 如果我想恢復效果,這個應該怎麼關?
    存一個 1.reg 檔 內容如下(不含######
    #######################################################################
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters]
    "TCPNoDelay"=dword:00000001

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\OCMsetup]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security]
    "SecureDSCommunication"=dword:00000000

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\setup]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Setup]
    #######################################################################

    回覆刪除
    回覆
    1. 存一個 還原.reg 檔 內容如下(不含###### 然後點他兩下執行~
      #######################################################################
      Windows Registry Editor Version 5.00

      [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters]

      [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\OCMsetup]

      [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security]

      [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\setup]

      [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Setup]
      #######################################################################

      刪除