8.10上網(wǎng)速度慢,本來以為就這速度,可是同樣環(huán)境下,和別人的XP一比,明顯慢很多。
究其原因:ubuntu 8.10
自動(dòng)連接時(shí)將網(wǎng)卡的mtu值自動(dòng)設(shè)置成了576,而在多數(shù)據(jù)網(wǎng)關(guān),比如一些路由的mtu值是
1492或其它的。這樣網(wǎng)關(guān)在轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)就重新封裝。
MTU是Maximum Transmission
Unit的縮寫。意思是網(wǎng)絡(luò)上傳送的最大數(shù)據(jù)包。MTU的單位是字節(jié)。
大部分網(wǎng)絡(luò)設(shè)備的MTU都是1500。如果本機(jī)的MTU比網(wǎng)關(guān)的MTU大,大的數(shù)據(jù)包就會(huì)被拆開來傳送,這樣會(huì)產(chǎn)生很多數(shù)據(jù)包碎片,增加丟包率,降低網(wǎng)絡(luò)速度。把本機(jī)的MTU設(shè)成比網(wǎng)關(guān)的MTU小或相同,就可以減少丟包。
測試網(wǎng)關(guān)的MTU大小:
在本機(jī)打開dos窗口,執(zhí)行:ping -f -l 1472 192.168.0.1
其中192.168.0.1是網(wǎng)關(guān)IP地址,1472是數(shù)據(jù)包的長度。請注意,上面的參數(shù)是"-l"(小寫的L),而不是"-1"。
如果能ping通,表示數(shù)據(jù)包不需要拆包,可以通過網(wǎng)關(guān)發(fā)送出去。
如果出現(xiàn):Packet needs to be fragmented but DF set.
表示數(shù)據(jù)包需要拆開來發(fā)送。此時(shí),減少數(shù)據(jù)包長度,再執(zhí)行上面的ping命令。從1400到1472之間多試幾次,就能找到合適的數(shù)據(jù)包長度了。把數(shù)據(jù)包長度加上數(shù)據(jù)包頭28字節(jié),就得到MTU的值。
如果檢測到網(wǎng)關(guān)的MTU值是1500,不需要修改。
如果網(wǎng)關(guān)有防火墻ping不通,可以試試直接把MTU設(shè)為1400。
解決辦法:設(shè)置網(wǎng)卡的mtu值為 網(wǎng)關(guān)一磁的就可以了。一般為 1492 。
1:手動(dòng)設(shè)置
$ sudo ifconfig eth0 mtu 1492
其中eth0 是網(wǎng)卡名稱,如果你的不是這個(gè)可以做相應(yīng)的更改,
不過這樣每次重新連接時(shí)雙要設(shè)置一下,比較麻煩。下面我提供的一個(gè)勞永逸的辦法:
2:網(wǎng)絡(luò)連接(網(wǎng)卡被激活時(shí))自動(dòng)設(shè)置 mtu 值
在/etc/network/if-up.d目錄下新建一個(gè)腳本文件,比如 setmtu
$ sudo vi /etc/network/if-up.d/setmtu
將下面的代碼加入setmtu 腳 本中
#!/bin/sh
ifconfig "$IFACE" mtu 1492
保存退出,然后給這個(gè)腳本中可執(zhí)行權(quán)限
$ sudo chmod a+x /etc/network/if-up.d/setmtu
其中 "$IFACE" 是一個(gè)變量,返回的是當(dāng)前激活的網(wǎng)卡名稱 比如 eth0 eth1 。
這樣即使你有多張網(wǎng)卡,有網(wǎng)卡被激活時(shí)就自動(dòng)運(yùn)行這個(gè)個(gè)腳本 設(shè)置mtu值為1492了
如果本地的DNS服務(wù)器不是很穩(wěn)定(癥狀:打開firefox網(wǎng)頁總是"頁面被重置",每頁都要刷新無數(shù)次,opera呢?是反應(yīng)慢):
sudo apt-get install dnsmasq
1.編輯/etc/dnsmasq.conf,搜索"listen-address"把注釋號(hào)去掉,并修改為:
listen-address=127.0.0.1
2.編輯/etc/dhcp3/dhclient.conf,修改為:
#supersede domain-name "
fugue.com
home.vix.com
";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
3.編輯/etc/resolv.conf,在第一行添加 :
nameserver 127.0.0.1
sudo /etc/init.d/dnsmasq restart
網(wǎng)友回復(fù):
我也有這種問題,改了mtu,還是不行,最后自己添加了一個(gè)網(wǎng)絡(luò)連接,設(shè)置跟原來的一樣,問題沒了,很詭異。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
