局域網(wǎng)限速的思路和操作
局域網(wǎng)已經(jīng)成為企業(yè)網(wǎng)絡(luò)構(gòu)架中必不可少的一部分了。那么,作為管理員,我們必須要進(jìn)行局域網(wǎng)限速的調(diào)配。局域網(wǎng)內(nèi)為何要進(jìn)行限速,因?yàn)槿绻患右韵拗频脑?,即使增加再多的互?lián)網(wǎng)出口帶寬也會(huì)被局域網(wǎng)內(nèi)各種各樣的網(wǎng)絡(luò)應(yīng)用消耗掉,而限速的目的就是限制對于網(wǎng)絡(luò)的濫用,從而使出口帶寬維持在一個(gè)比較合理的水平,從而達(dá)到既保證網(wǎng)內(nèi)用戶可以正常的使用網(wǎng)絡(luò),又節(jié)省單位的互聯(lián)網(wǎng)出口費(fèi)用開支,所以說網(wǎng)絡(luò)限速是一個(gè)網(wǎng)管員必備的素質(zhì)。本文從網(wǎng)絡(luò)限速的思路和具體實(shí)現(xiàn)方法入手,說明一下具體的實(shí)施辦法。
一、局域網(wǎng)限速思路
(一)能夠進(jìn)行限速的前提
在進(jìn)行局域網(wǎng)限速前,實(shí)際上我們先想做局域網(wǎng)內(nèi)的流量監(jiān)控,只有對局域網(wǎng)中各臺交換機(jī)的端口流量(甚至是各類網(wǎng)絡(luò)應(yīng)用)有一個(gè)全面的了解,才能夠制定出限速的標(biāo)準(zhǔn)以及具體實(shí)施方案。比如我們就利用MRTG軟件針對單位中的核心交換機(jī)為CISCO3550和下掛的CISCO29系列交換機(jī)作了實(shí)時(shí)的流量監(jiān)控(如圖1所示)。
圖1 通過MRTG監(jiān)控CISCO交換機(jī)的端口流量
對每一個(gè)端口(相對應(yīng)一個(gè)或一組用戶)的用量情況都有了一個(gè)清晰的了解,這樣通過觀察,得出哪些用戶(即哪個(gè)端口)的流量大,對帶寬的占用多,就可以著手進(jìn)行限速方案的制定了。
當(dāng)然,如果你想實(shí)現(xiàn)完全控制局域網(wǎng)電腦的流量而不是單純限制交換機(jī)端口的流量,則應(yīng)該采用一些網(wǎng)絡(luò)流量控制軟件來實(shí)現(xiàn),推薦一款叫做“聚生網(wǎng)管”(www.grablan.com)的網(wǎng)速限制軟件,通過在局域網(wǎng)一臺電腦部署之后,就會(huì)自動(dòng)掃描到局域網(wǎng)所有電腦的上網(wǎng)流量,并且可以讓網(wǎng)管對上行流量和下行流量進(jìn)行分別限制,從而可以完美地實(shí)現(xiàn)局域網(wǎng)流量控制的目的。
(二)限制,而不是拒絕
我們進(jìn)行局域網(wǎng)限速,是限制局域網(wǎng)用戶對于網(wǎng)絡(luò)的濫用,而不是不讓用戶使用網(wǎng)絡(luò),因此我們不論是從端口還是從應(yīng)用層面做限速,就要遵循這個(gè)思路。
(三)目標(biāo)
目標(biāo)是什么,最終目標(biāo)是使現(xiàn)有的帶寬可以滿足目前局域網(wǎng)的帶寬需求,具體到我們單位,我們租用了100M互聯(lián)網(wǎng)出口,局域網(wǎng)內(nèi)有幾十個(gè)單位的用戶,這幾十個(gè)單位有免費(fèi)用戶,也有付費(fèi)用戶。在進(jìn)行網(wǎng)絡(luò)限速時(shí)我們當(dāng)然應(yīng)該優(yōu)先保證付費(fèi)用戶的帶寬,當(dāng)然免費(fèi)用戶中有一部分用戶也要特殊照顧。在對某個(gè)端口(對應(yīng)一個(gè)單位用戶)實(shí)際限速操作時(shí),我們先通過MRTG生成的流量圖了解這個(gè)單位的日常帶寬使用情況,限速后削去明顯高出的波峰即可(即類似歌手大獎(jiǎng)賽時(shí)出掉一個(gè)最高分),然后將帶寬維持在一個(gè)以前統(tǒng)計(jì)出的平均值上即可,這樣設(shè)置后被限速的用戶基本上沒有感覺(網(wǎng)速不會(huì)明顯變慢),但是我們的目的也達(dá)到了。
(四)要至上而下,制定縝密的限速規(guī)劃
最后要強(qiáng)調(diào)一點(diǎn),局域網(wǎng)限速可以從網(wǎng)絡(luò)接入的底層實(shí)施,但是一定要從網(wǎng)絡(luò)的頂層規(guī)劃,這樣做一是可以保證限速的效果,二來也將可能出現(xiàn)的網(wǎng)絡(luò)故障限制在一個(gè)可控的范圍內(nèi),另外關(guān)于交換機(jī)配置存盤的時(shí)機(jī)也很有講究,我們一般是這樣做的,進(jìn)行限速操作前先存一次交換機(jī)的配置(保留好當(dāng)前正常工作狀態(tài)),限速操作完成,進(jìn)行觀察,確認(rèn)對網(wǎng)絡(luò)沒有影響后,等一兩天以后再執(zhí)行保存交換機(jī)配置的操作(等足夠長的時(shí)間,確認(rèn)沒有產(chǎn)生網(wǎng)絡(luò)故障再存盤),這一措施是非常有效的,及時(shí)的故障處理措施保證了我們進(jìn)行網(wǎng)絡(luò)限速期間沒有引起新的網(wǎng)絡(luò)故障,保證了網(wǎng)絡(luò)的正常運(yùn)行。#p#
二、具體實(shí)現(xiàn)方法
具體實(shí)現(xiàn)方法又分兩大類,一類是通過交換機(jī)限速進(jìn)行端口限速,另一類是通過限制某些特定的網(wǎng)絡(luò)應(yīng)用限速(比如專門限制BT和網(wǎng)絡(luò)電視等的使用)。
(一)基于交換機(jī)的限速
1、接入層交換機(jī)的限速
接入層交換機(jī)也叫做樓幢交換機(jī)或桌面型交換機(jī),它們位于網(wǎng)絡(luò)的最底層,直接接入終端用戶(家庭或辦公用戶),一般來說這類交換機(jī)很廉價(jià),也沒有什么管理功能,但是也有一些交換機(jī)可以滿足我們進(jìn)行端口限速的要求(當(dāng)然價(jià)格也要略高一點(diǎn))。此類交換機(jī)進(jìn)行端口限速往往很直接,有的甚至可以通過圖形界面,用下拉菜單的模式很直觀的設(shè)置幾十K至100M的端口速率,不過本例中還是通過CLI來實(shí)現(xiàn),是一款DLINK的二層可管理交換機(jī):DES-3026,設(shè)置方法如下:
DES-3026:4#config bandwidth_control 1-10 rx-rate 64 command:config bandwidth_control 1-10 rx_rate 64 Note:To perform precise bandwidth control,it is required to enable the flow control to mitigate the retransmission of TCP traffic. Success |
2、匯聚層交換機(jī)
朋友們可能會(huì)問了,既然接入層的交換機(jī)的端口限速功已經(jīng)做得很好了,那我們?nèi)渴褂眠@樣的交換機(jī)進(jìn)行組網(wǎng)行不行,答案是否定的,我們在匯聚層還是要使用更高檔次的交換機(jī)。因?yàn)樵趨R聚層工作的交換機(jī),除了穩(wěn)定性以外,還有一個(gè)很重要的技術(shù)指標(biāo),那就是背板帶寬,它決定了這臺交換機(jī)是否可以實(shí)現(xiàn)線速轉(zhuǎn)發(fā)。如果判斷交換機(jī)的背板帶寬夠不夠用呢?計(jì)算方法如下:端口數(shù)*相應(yīng)端口速率*2(全雙工模式),舉例來說,一臺24口的交換機(jī),端口均需工作在100M,那么背板帶寬至少需要:24*100*2=2.4G,而CISCO29系列交換機(jī)的背板帶寬都在8G以上,滿足線速轉(zhuǎn)發(fā)是沒有問題的。 但是目前我們還沒有找到在CISCO29系列交換機(jī)上進(jìn)行端口限速的方法。
3、核心層交換機(jī)
核心層的交換機(jī)除了要支持VLAN、TRUNK、ACL等等功能外,它最核心的功能就是要保證各個(gè)端口間的快速數(shù)據(jù)轉(zhuǎn)發(fā),因此它們上面的端口限速往往不是簡單設(shè)置一個(gè)數(shù)值就OK了,總體來說要分四個(gè)步驟:
1)建立一個(gè)訪問控制列表(ACL);
2)建立一個(gè)類(CLASS),并在這個(gè)類上引用剛建立的那個(gè)訪問控制列表(ACL);
3)建立一個(gè)策略(POLICY),在這個(gè)策略上指定相應(yīng)的帶寬,并引用相應(yīng)的類;
4)將這個(gè)策略應(yīng)用具體的端口上。#p#
具體操作如下:
CISCO3550交換機(jī):
1、在交換機(jī)上啟動(dòng)QOS
Switch(config)#mls qos //在交換機(jī)上啟動(dòng)QOS |
Switch(config)#access-list 1 permit 10.59.0.0 0.0.255.255 //針對10.59/16這個(gè)網(wǎng)段進(jìn)行上行流量控制 Switch(config)#access-list 101 permit ip any 10.59.0.0 0.0.255.255 //針對10.59/16這個(gè)網(wǎng)段進(jìn)行下行流量控 |
Switch(config)# class-map xsup //定義上行的類,并綁定訪問列表1 Switch(config-cmap)# match access-group 1 Switch(config-cmap)# exit Switch(config)# class-map xsdown Switch(config-cmap)# match access-group 101 //定義下行的類,并綁定訪問列表101 Switch(config-cmap)# exit |
Switch(config)# policy-map xsup //定義上行的速率為1M,超過的丟棄 Switch(config-pmap)# class xsup Switch(config-pmap-c)# trust dscp Switch(config-pmap-c)# police 1000000 1000000 exceed-action drop Switch(config)# policy-map xsdown //定義下行的速率為1M,超過的丟棄 Switch(config-pmap)# class xsdown Switch(config-pmap-c)# trust dscp Switch(config-pmap-c)# police 1000000 1000000 exceed-action drop Switch(config-pmap-c)# exit |
Switch(config)# interface fa0/1 Switch(config-if)# service-policy input xsup Switch(config)# interface fa0/24 Switch(config-if)# service-policy input xsdown //24口為上行接口 |
華為3552交換機(jī):
1、sys
[ZXJF_3552]acl name xs advanced //建立名為xs的高級ACL [ZXJF_3552-acl-adv-chen]rule 1 permit ip source 10.67.0.0 0.0.255.255 //允許67網(wǎng)段的主機(jī)通過 [ZXJF_3552-acl-adv-chen]q |
[ZXJF_3552]int e0/1 [ZXJF_3552-Ethernet0/1]packet-filter inbound ip-group xs//在1口上激活了ACL“xs” |
[ZXJF_3552]int e0/1 [ZXJF_3552-Ethernet0/1]traffic-limit inbound ip-group xs 10240 1280000 1280000 //對1口上接收的流量速率限制為10M=10240kbps。 [ZXJF_3552-Ethernet0/1]traffic-shape 10400 192 //對1口上發(fā)送的流量速率限制為10M=10400kbps,突發(fā)尺寸192kbytes。 |
當(dāng)然我們也可以挖掘一下核心層交換機(jī)的高級應(yīng)用,比如通過限制某些端口通過的方式來限制某些網(wǎng)絡(luò)應(yīng)用(比如迅雷下載),但實(shí)際限制起來的效果并不是太好,因?yàn)檠咐状祟惖某绦蚱鋵?shí)使用了很復(fù)雜的網(wǎng)絡(luò)協(xié)議,但靠限制某些端口是很難把它搞定的,所以還是要靠專業(yè)流控設(shè)備。#p#
(二)基于應(yīng)用的局域網(wǎng)限速
基于專業(yè)流控設(shè)備的限速,本文中我們以一款測試過的流控設(shè)備說明一下實(shí)現(xiàn)方法,這款設(shè)備位于我們單位局中的硬件防火墻和寬帶用戶管理設(shè)備之間,可以針對某一類應(yīng)用限速,比如我們要對全網(wǎng)中的P2P下載做一個(gè)限帶,上/下行不能超過10M,就可以這樣來做。
1、在“對象管理”中選擇“P2P下載”。從圖2可以看到P2P下載中包含了很多的應(yīng)用程序,比如常用的“eDonkey”、“迅雷”等。
圖2 P2P下載中所包含的應(yīng)用程序
2、在“策略管理”中新建一個(gè)通道
本例中我們新建了一個(gè)名為“p2p限制”的通道,并設(shè)置通道的帶寬為10M,如圖3所示。
圖3 在“策略管理”中新建數(shù)據(jù)通道
3、在“流量控制”-“策略組”中新建一個(gè)策略,在“數(shù)據(jù)路徑”中選擇“網(wǎng)橋1->雙向”,在“應(yīng)用協(xié)議”中選擇“P2P下載”,在“動(dòng)作/通道”中選擇“p2p限制”。這樣就在局域網(wǎng)中將所有應(yīng)用P2P的下載所占用的帶寬限制到10M,如圖4所示。
圖4 新組一個(gè)策略組
實(shí)踐證明這種基于網(wǎng)絡(luò)應(yīng)用的限速也是管用的,我們只在網(wǎng)絡(luò)中限制了P2P下載這一類應(yīng)用,沒有做交換機(jī)的端口限制,也成功的將帶寬的占用減少了20M左右,從而保證了網(wǎng)頁瀏覽、收發(fā)郵件等應(yīng)用的正常進(jìn)行。