2014/10/10 11:11:053415 閱讀
最近ftp的不正常,剛開始能達到幾百K,很快速度不停變小,網上找到解決辦法,分享一下:
首先懷疑的ftp軟件的問題,更換了多款ftp軟件測試后,排除了軟件問題。
其次懷疑本機、路由器的防火墻問題,關閉后,問題依舊。
最后懷疑到路由的MTU值的設定上了,因為出現問題的都是發送數據操作,而本機網絡接受數據的速度一切正常。
登陸到我的TL-Link路由器,在網絡參數-WAN口設置-高級設置 中 查到 路由器設定的MTU值為1492
打開命令行 輸入 ping -f -l 1480 www.lcbj18.com 測試是否能發送長度為1480的數據到服務器,結果顯示Packet needs to be fragmented but DF set,意味發送1480的數據包需要拆開來發送。
看來我這電信的MTU值要低于1480,逐降低MTU值繼續使用ping 命令測試,一番測試后發現只要MTU小于等于1380就能ping通服務器了。再次登陸到路由器,修改MTU為1380后重新鏈接ADSL,問題解決!
當然要測試MTU什么值最合適要在直接PPOE撥號后測試,測試最大能ping通值之后再連接路由器修改為這個值-28就行了。
MTU就是Maximum Transmission Unit,此值設定TCP/IP協議傳輸數據報時的最大傳輸單元。設置合適的MTU值可以得到更好的上網速度。 就目前來說MTU的最大值就是1500,如果是千兆設備互連時有可能將這個值增大,比如改到4096。目前常用的幾種連接里面MTU有如下的默認值:
1500. 以太網Ethernet信息包最大值,一般的設備(系統)也是默認值。
1492. pppoE 的最佳值
1472. 使用 ping 的最大值 (大于此值的信息包會先被分解)
1468. DHCP的最佳值
1430. VPN和PPTP 的最佳值
576. 撥號連接到ISP的標準值
如何檢測網關的MTU?
在本機打開dos窗口,執行: ping -f -l 1472 192.168.0.1 其中192.168.0.1是網關IP地址,1472是數據包的長度。請注意,上面的參數是“-l”(小寫的L),而不是“-1”。如果能ping通,表示數據包不需要拆包,可以通過網關發送出去。如果出現: Packet needs to be fragmented but DF set. 表示數據包需要拆開來發送。此時,減少數據包長度,再執行上面的ping命令。從1400到1472之間多試幾次,就能找到合適的數據包長度了。把數據包長度加上數據包頭28字節,就得到MTU的值。如果檢測到網關的MTU值是1500,不需要修改。如果網關有防火墻ping不通,可以試試直接把MTU設為1400。
如何修改本機的MTU?
修改方法如下:(1)、運行regedit(2)、瀏覽到: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces(3)、Interfaces下有多個子項,每個子項對應一個網卡。請按如下方法選擇網卡:(a)確定本機用來連接Internet的網卡或撥號連接的IP,如192.168.0.3;(b)用鼠標點擊Interfaces上的子項,查看鍵值列表中的IPAddress項;(c)如果IPAddress的鍵值與(a)中的IP相同,即192.168.0.3,則該子項就是要找的網卡。(4)、進入該子項,在右邊的窗口里按鼠標右鍵,選擇“新建”->“雙字節值”,輸入名稱“MTU”,按回車。再用鼠標雙擊“MTU”,彈出修改窗口,填入合適的MTU的值。填寫前請先把基數設為十進制。設置好后,需要重啟機器才能生效。
下一條:綠色版mysql 添加啟動方法
上一條:PHPCMSv9專題靜態路徑修改