現(xiàn)在Windows服務(wù)器是眾多用戶(hù)的首先,以其使用方法、配置簡(jiǎn)單贏(yíng)得了大家一致的好評(píng)。而現(xiàn)在網(wǎng)絡(luò)上通行的協(xié)議就是TCP/IP協(xié)議,在Windows系統(tǒng)中配置TCP/IP非常簡(jiǎn)單,只要指定IP地址、掩碼、網(wǎng)關(guān)、DNS等選項(xiàng)后就能夠讓其進(jìn)行工作。而我們?cè)趯W(xué)習(xí)TCP/IP的時(shí)候,所了解的情況并不是如此簡(jiǎn)單的。之所以出現(xiàn)兩種截然相反的情況,是因?yàn)閷?duì)于TCP/IP很多參數(shù),Windows采用了默認(rèn)的設(shè)置。我們知道一般默認(rèn)的設(shè)置都 講究“不求有功,但求無(wú)過(guò)”的思想,即采用保守的配置以滿(mǎn)意大部分用戶(hù)的一般需求。對(duì)于追求性能的用戶(hù)來(lái)說(shuō),就需要手工進(jìn)行調(diào)整了。在對(duì)TCP/IP調(diào)整的過(guò)程中,最重要有效的就是調(diào)整最大傳輸單元MTU的值。下面我們就向大家介紹具體的優(yōu)化過(guò)程。
一、找出最合適的MTU值
在默認(rèn)情況下,TCP/IP在網(wǎng)絡(luò)中的最大傳輸單元為1500.這是什么意思呢?我們知道網(wǎng)絡(luò)傳輸數(shù)據(jù)是按數(shù)據(jù)包的形式來(lái)傳送的,例如默認(rèn)的MTU值為1500字節(jié),那么當(dāng)傳送的數(shù)據(jù)大于1500時(shí),則會(huì)以此為標(biāo)準(zhǔn),將其分封個(gè)若干個(gè)1500字節(jié),然后進(jìn)行封包、解包操作。由此看來(lái),MTU值的大小會(huì)影響到封包和解包操作的頻率。
那么我們是不是將MTU的值設(shè)的越大越好呢?當(dāng)然不是,首先值過(guò)小,那么會(huì)在網(wǎng)絡(luò)中進(jìn)行頻繁的封包和解包,其影響顯而易見(jiàn);而設(shè)置的值過(guò)大那么適合局域網(wǎng)內(nèi)部的高速傳輸,但是接入Internet則會(huì)影響穩(wěn)定性。因此我們需要尋找最合適的MTU值。
尋找MTU合適大小的方法是借助Ping工具來(lái)完成的。在運(yùn)行窗口中輸入“cmd”后回車(chē)打開(kāi)命令提示符窗口,輸入“ping -f -l MTU值 網(wǎng)關(guān)IP”,其中-f表示不進(jìn)行碎片整理,-l表示指定MTU的值,而最終朱則試我們一般是拿網(wǎng)關(guān)為標(biāo)準(zhǔn)。
在測(cè)試時(shí),我們可以先取一個(gè)基準(zhǔn)數(shù)據(jù),例如默認(rèn)設(shè)置1500,如果命令執(zhí)行之后返回的提示信息是“Packet needs to be fragmented but DF set.”時(shí),那則說(shuō)明我們?cè)O(shè)置的MTU值過(guò)大,不適合當(dāng)前的網(wǎng)絡(luò);當(dāng)不適合時(shí)則需要重新執(zhí)行該命令并將MTU值改小,而返回的信息變成“Reply from 192.168.1.254: bytes=1472 time=1ms TTL=64”的時(shí)候,那么則可以將MTU值再增大,一直找到在兩種狀態(tài)之間的那個(gè)MTU值,這個(gè)數(shù)值就是當(dāng)前環(huán)境下最合適的MTU值了。知道了這個(gè)數(shù)值后,我們才好進(jìn)行后面的工作。
二、修改MTU值
盡管找到了最合適的MTU值大小,但是怎么去修改呢?因?yàn)閃indows系統(tǒng)默認(rèn)都已經(jīng)設(shè)置好了,并沒(méi)有給我們提供修改的選項(xiàng)。
不要緊張,系統(tǒng)的參數(shù)設(shè)置都是保存在注冊(cè)表中的,因此我們可以通過(guò)修改注冊(cè)表的方法來(lái)實(shí)現(xiàn)修改MTU的值。打開(kāi)運(yùn)行窗口,輸入“regedit”后回車(chē)打開(kāi)注冊(cè)表編輯器,然后依次選擇“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces”,在該項(xiàng)下會(huì)看到很多接口,單擊其中的每個(gè)接口,在右側(cè)則都會(huì)有一個(gè)“IPAddress”的鍵,查看它的值,如果它的值與當(dāng)前網(wǎng)卡的IP地址相同,那么就表示這個(gè)接口為當(dāng)前使用的。
這樣只要在該接口上單擊鼠標(biāo)右鍵,選擇彈出菜單中的“新建——Dword值”,創(chuàng)建一個(gè)名為“MTU”的Dword主鍵,然后將其值設(shè)為前面獲取的MTU值即可。
最后提醒大家,在修改注冊(cè)表之前,最好做好備份之后再修改,以避免修改出錯(cuò)導(dǎo)致系統(tǒng)產(chǎn)生故障。
三、應(yīng)用實(shí)例
修改了MTU值后,只要數(shù)值大小合適,那么網(wǎng)絡(luò)性能一般都會(huì)有所提高。尤其是傳送較大容量的數(shù)據(jù)時(shí)效果會(huì)比較明顯。但是在實(shí)際的使用中,仍然有一些情況需要我們注意。下面筆者繼續(xù)向大家作一介紹。
1.啟用MTU路徑檢測(cè)
前面我們知道,MTU的值是要講究環(huán)境的,很多朋友會(huì)說(shuō),我確定最適合的MTU值時(shí)是以本地網(wǎng)關(guān)為參照的,如果出了局域網(wǎng)進(jìn)入互聯(lián)網(wǎng)該怎么辦呢?不要緊,我們只要啟用MTU路徑檢測(cè),那么TCP/IP協(xié)議就會(huì)自動(dòng)檢測(cè)到達(dá)目標(biāo)遠(yuǎn)程主機(jī)路徑中所經(jīng)過(guò)的網(wǎng)絡(luò)MTU值并自動(dòng)作出調(diào)整,從而避免沖突。
打開(kāi)注冊(cè)后,依次選擇“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\”,然后在右側(cè)創(chuàng)建一個(gè)名為“enablepmtudiscovery”的Dword值,再把它的值設(shè)為設(shè)為1表示啟用MTU路徑檢測(cè)。
2.啟用默認(rèn)路由
我們知道,Windows 2000/XP/2003在某種情況下可以充當(dāng)路由器來(lái)使用,但是默認(rèn)狀態(tài)下該功能卻是關(guān)閉的。如果啟用該功能,那則可允許內(nèi)置的路由緩沖和隊(duì)列來(lái)優(yōu)化TCP/IP網(wǎng)絡(luò)。因此我們可以打開(kāi)注冊(cè)表,定位到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\”,然后新建一個(gè)“ipenablerouter”的Dword值,并設(shè)為1即可。
經(jīng)過(guò)上面的優(yōu)化,我們既能享受到Windows系統(tǒng)帶來(lái)的操作簡(jiǎn)單
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄