用雙網(wǎng)卡合并帶寬提高網(wǎng)速
一,雙接入線路帶寬合并是不小的難題
最近筆者也在為這個問題而頭疼,不過最終本人發(fā)現(xiàn)了一個不錯的辦法,今天就請各位IT168網(wǎng)絡(luò)頻道的讀者跟隨筆者一起通過圍魏救趙的方法突破雙網(wǎng)卡速度極限。
筆者所在企業(yè)對外申請了兩條線路,一條是網(wǎng)通ADSL線路,帶寬是1M;另外一條是電信通的線路,帶寬是2M。企業(yè)內(nèi)部是通過代理服務(wù)器的方法將內(nèi)部數(shù)據(jù)包轉(zhuǎn)發(fā)出去。代理服務(wù)器上有雙網(wǎng)卡;但是一直以來都沒有找到完美的合并帶寬的工具和手段,平時網(wǎng)通ADSL線路作為備份線路使用,一般情況只通過電信通線路訪問外網(wǎng)。
筆者要實現(xiàn)的目的則是將代理服務(wù)器上的兩塊網(wǎng)卡分別連接兩條外網(wǎng)出口線路,然后將他們合并到一起,從而提高網(wǎng)絡(luò)通訊整體速度。要求測試后能夠看到下載速度達到兩條線路之和就非常完美了。前者網(wǎng)通ADSL線路,帶寬是1M,對應(yīng)的下載速度是130KB/s,后者電信通的線路,帶寬是2M,對應(yīng)的下載速度為260KB/s;合并后總帶寬極限應(yīng)該能夠到達400KB/s。
二,從本地路由下手:實現(xiàn)雙網(wǎng)卡帶寬有效合并
網(wǎng)上有一些工具是將多個網(wǎng)卡合并到一起使用,不過筆者之前也嘗試過效果都不太好,因為任何的軟件合并都不夠智能,經(jīng)常造成兩個網(wǎng)卡傳輸沖突,從而適得其反影響實際傳輸速度。今天筆者要介紹的辦法則是通過從本地路由下手來突破網(wǎng)絡(luò)速度極限。
眾所周知對于多網(wǎng)卡的計算機來說我們可以把他看成是一臺路由器,代理服務(wù)器就是利用這種路由數(shù)據(jù)原理工作的。路由器中都存在著名為路由表的數(shù)據(jù)條目,通過路由表中的信息來轉(zhuǎn)發(fā)數(shù)據(jù)。當(dāng)計算機有多個網(wǎng)卡時我們是否可以通過設(shè)置路由表來轉(zhuǎn)發(fā)數(shù)據(jù)呢?將一部分?jǐn)?shù)據(jù)發(fā)送到網(wǎng)卡1而另外一部分?jǐn)?shù)據(jù)轉(zhuǎn)發(fā)到網(wǎng)絡(luò)2傳輸出去呢?答案是肯定的,我們可以像設(shè)置路由那樣針對計算機操作系統(tǒng)添加路由條目。
在Windows系統(tǒng)中我們通過route print命令來查看路由表,這個路由表是本地系統(tǒng)的;通過route add命令添加一條路由表條目,通過route delete刪除路由條目。
既然我們可以通過命令來添加路由表和條目信息,那么如何來填寫路由條目呢?在route add命令中我們需要知道轉(zhuǎn)發(fā)網(wǎng)絡(luò)IP段以及對應(yīng)的子網(wǎng)掩碼,同時還需要知道路由下一跳地址。筆者以企業(yè)實際應(yīng)用為例進行介紹。
當(dāng)企業(yè)計算機上有多個網(wǎng)卡時我們可以通過ipconfig來查看各個網(wǎng)卡的地址信息,例如網(wǎng)卡1是192.168.1.120,網(wǎng)卡1的網(wǎng)關(guān)是192.168.1.1;網(wǎng)卡2是116.245.96.246,由于是PPPOE撥號所以網(wǎng)關(guān)也是116.245.96.246。(如圖1)
接下來我們就要確定數(shù)據(jù)缺省從哪個網(wǎng)卡走,這里假設(shè)缺省數(shù)據(jù)從網(wǎng)卡2走,那么當(dāng)我們在命令提示窗口中輸入route print時將能夠在最下面看到default gateway的字樣,這個就是缺省網(wǎng)關(guān),從圖中可以看到當(dāng)前系統(tǒng)的缺省網(wǎng)關(guān)是網(wǎng)卡2的地址116.245.96.246,而不是網(wǎng)卡1的網(wǎng)關(guān)192.168.1.1。(如圖2)
如果發(fā)現(xiàn)在route print里顯示的default gateway默認(rèn)網(wǎng)關(guān)地址不是我們所希望的缺省網(wǎng)卡該如何更改呢?例如上例中默認(rèn)網(wǎng)關(guān)是網(wǎng)卡1的網(wǎng)關(guān)192.168.1.1。那么我們可以通過兩個方法解決,首先禁用網(wǎng)卡1,然后重新啟動計算機,再通過route print查看缺省網(wǎng)卡,由于系統(tǒng)只有網(wǎng)卡2處于啟用狀態(tài),所以缺省網(wǎng)卡也自然變成了網(wǎng)卡2的網(wǎng)卡,最后再啟用網(wǎng)卡1即可。如果這個方法不管用我們就需要編輯注冊表中與本地連接有關(guān)的鍵值了,通過修改鍵值將網(wǎng)卡2的鍵值更改排列到網(wǎng)卡1的前面,從而解決了缺省網(wǎng)卡的問題。具體鍵值為[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\,由于篇幅關(guān)系這里就不詳細(xì)說明了,一般來說大部分情況按照第一個辦法可以解決。
確保默認(rèn)網(wǎng)卡是自己認(rèn)同的數(shù)據(jù)默認(rèn)通訊地址后我們就要根據(jù)實際來添加路由表了,這里假設(shè)我們要訪問58.129.0.0這個地址段,不過為了提高速度讓他們不從默認(rèn)網(wǎng)關(guān)(網(wǎng)卡2)通訊而是從網(wǎng)卡1走,那么我們就需要添加一條這樣的指令)route add 58.129.0.0 mask 255.255.0.0 192.168.1.1。(如圖3)
首先route add后面跟的是網(wǎng)段,包括網(wǎng)絡(luò)號和子網(wǎng)掩碼,另外最后還需要寫上下一跳地址,一般就是網(wǎng)卡1的網(wǎng)關(guān)地址,例如本例中的192.168.1.1。
添加完路由表條目后我們通過route print命令可以看到58.129.0.0對應(yīng)的路由信息出現(xiàn)在路由表中,下一跳地址是192.168.1.1。(如圖4)
小提示:
下一跳地址是數(shù)據(jù)轉(zhuǎn)發(fā)到的地址,必須填寫網(wǎng)卡1的網(wǎng)關(guān)地址,不是網(wǎng)卡1的IP地址,否則路由條目將無法正常工作,網(wǎng)絡(luò)訪問58.129.0.0這個網(wǎng)段將出現(xiàn)死循環(huán),通訊數(shù)據(jù)連接超時。
當(dāng)然除了route add命令是添加路由條目外,如果我們書寫錯誤的話還可以通過route delete命令刪除條目,記得書寫時要寫全才能讓刪除命令生效,當(dāng)然route命令還有很多額外參數(shù),例如metric這類跳躍數(shù)設(shè)置等,在本例中用的不多,因為我們的路由都只是一跳而已,所以可以不填寫,當(dāng)然感興趣的讀者想知道具體命令可以通過/?來查詢。
三,測試效果:雙網(wǎng)卡的速度極限達400KB/s
通過一條簡單的路由條目添加命令我們實現(xiàn)了有數(shù)據(jù)要訪問58.129.0.0 255.255.0.0網(wǎng)段時通過網(wǎng)卡1傳輸出去,而其他所有數(shù)據(jù)都從網(wǎng)卡2傳輸出去,從而有效的擴大了帶寬,將兩條線路的速度都極大的發(fā)揮出來。
設(shè)置完畢后筆者通過兩個FTP服務(wù)器下載資源,一個FTP服務(wù)器位于58.129.0.0 255.255.0.0網(wǎng)段,另外一個FTP服務(wù)器在外網(wǎng)其他地址。正常情況下不設(shè)置路由條目的話,我們只能夠通過一個網(wǎng)卡來完成下載任務(wù),最多也就250KB/s,而通過設(shè)置路由轉(zhuǎn)發(fā)條目后訪問58.129.0.0 255.255.0.0網(wǎng)段的數(shù)據(jù)從網(wǎng)卡1傳輸出去,而訪問另外一個FTP服務(wù)器的數(shù)據(jù)則依然走網(wǎng)卡2。從圖中我們可以看到網(wǎng)卡2下載速度達到了250KB/s,而與此同時網(wǎng)卡1下載速度并沒有受網(wǎng)卡2線路的最大帶寬限制依然保持在157KB/s的極速。要知道這樣的下載并不是峰值而是穩(wěn)定傳輸,通過巧妙設(shè)置我們發(fā)揮了雙網(wǎng)卡的速度極限,兩者之和可以達到400KB/s并且這種傳輸是穩(wěn)定的。(如圖5)
當(dāng)然在實際使用過程中我們可以通過tracert 58.129.*.*(*號用實際IP替代)的命令來判斷設(shè)置的路由條目是否生效,如果第一跳轉(zhuǎn)發(fā)到192.168.1.1則表明設(shè)置正確,如果還是走網(wǎng)卡2的缺省網(wǎng)關(guān)116.245.96.246的話就要再次執(zhí)行route print查詢故障了。例如筆者查詢58段第一跳被成功轉(zhuǎn)發(fā)到了192.168.1.1,這表明設(shè)置完全正確沒有任何問題。(如圖6)
小提示:
我們通過手工添加的路由條目在系統(tǒng)重新啟動后會自動消失,因此如果想長期使用和管理維護的話我們可以通過建立一個批處理文件并加入到啟動項中自動運行的辦法來解決,這樣每次重新啟動系統(tǒng)后該路由條目依然會被自動添加。
四,如何實現(xiàn)數(shù)據(jù)分流?下載走網(wǎng)卡1,瀏覽走網(wǎng)卡2?
之前我們介紹的是基于網(wǎng)段的分流,通過添加多個網(wǎng)段我們可以實現(xiàn)更加詳細(xì)的地址分段,發(fā)往不同地址的數(shù)據(jù)包通過不同網(wǎng)卡傳輸出去。不過在實際使用中筆者也遇到了這樣的問題,有沒有辦法讓所有的下載走網(wǎng)卡1,瀏覽頁面走網(wǎng)卡2通訊呢?筆者想來想去也沒有找到能夠高效解決的辦法,希望有經(jīng)驗的讀者可以和我們聯(lián)系一起探討。
筆者解決的辦法是利用代理為軟件分流,我們可以在網(wǎng)上找一個速度比較快有保障的代理服務(wù)器,知道了代理服務(wù)器地址后我們可以將這個代理服務(wù)器地址通過route add命令指定訪問該代理服務(wù)器走哪塊網(wǎng)卡。接下來指定某軟件使用代理服務(wù)器通訊即可。例如我們指定了迅雷下載使用代理服務(wù)器1.1.1.1,然后再利用route add將訪問1.1.1.1的數(shù)據(jù)轉(zhuǎn)發(fā)給網(wǎng)卡1的網(wǎng)關(guān),其他數(shù)據(jù)依然從網(wǎng)卡2傳輸,這樣就解決了軟件分流的問題。不過這個方法存在一個問題,那就是對代理服務(wù)器的穩(wěn)定性和速度要求比較高,如果代理服務(wù)器隔三差五的無法使用,我們也不得不為頻繁找代理頻繁加路由條目而頭疼。(如圖7)
小提示:
對于不具備代理設(shè)置功能的軟件來說我們可以利用第三方代理工具winsocks來實現(xiàn)指定該軟件使用代理的功能。
五,總結(jié):
通過本文介紹的圍魏救趙曲線救國的方法,我們可以輕松將兩塊網(wǎng)卡合并到一起,發(fā)揮他們的速度極限,從而以最佳速度為企業(yè)應(yīng)用服務(wù),大大提高了企業(yè)應(yīng)用的效率,讓企業(yè)業(yè)務(wù)開展事半功倍。
關(guān)鍵詞:雙網(wǎng)卡
閱讀本文后您有什么感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0