局域網限速的思路和操作
局域網已經成為企業網絡構架中必不可少的一部分了。那么,作為管理員,我們必須要進行局域網限速的調配。局域網內為何要進行限速,因為如果不加以限制的話,即使增加再多的互聯網出口帶寬也會被局域網內各種各樣的網絡應用消耗掉,而限速的目的就是限制對于網絡的濫用,從而使出口帶寬維持在一個比較合理的水平,從而達到既保證網內用戶可以正常的使用網絡,又節省單位的互聯網出口費用開支,所以說網絡限速是一個網管員必備的素質。本文從網絡限速的思路和具體實現方法入手,說明一下具體的實施辦法。
一、局域網限速思路
(一)能夠進行限速的前提
在進行局域網限速前,實際上我們先想做局域網內的流量監控,只有對局域網中各臺交換機的端口流量(甚至是各類網絡應用)有一個全面的了解,才能夠制定出限速的標準以及具體實施方案。比如我們就利用MRTG軟件針對單位中的核心交換機為CISCO3550和下掛的CISCO29系列交換機作了實時的流量監控(如圖1所示)。
圖1 通過MRTG監控CISCO交換機的端口流量
對每一個端口(相對應一個或一組用戶)的用量情況都有了一個清晰的了解,這樣通過觀察,得出哪些用戶(即哪個端口)的流量大,對帶寬的占用多,就可以著手進行限速方案的制定了。
當然,如果你想實現完全控制局域網電腦的流量而不是單純限制交換機端口的流量,則應該采用一些網絡流量控制軟件來實現,推薦一款叫做“聚生網管”(www.grablan.com)的網速限制軟件,通過在局域網一臺電腦部署之后,就會自動掃描到局域網所有電腦的上網流量,并且可以讓網管對上行流量和下行流量進行分別限制,從而可以完美地實現局域網流量控制的目的。
(二)限制,而不是拒絕
我們進行局域網限速,是限制局域網用戶對于網絡的濫用,而不是不讓用戶使用網絡,因此我們不論是從端口還是從應用層面做限速,就要遵循這個思路。
(三)目標
目標是什么,最終目標是使現有的帶寬可以滿足目前局域網的帶寬需求,具體到我們單位,我們租用了100M互聯網出口,局域網內有幾十個單位的用戶,這幾十個單位有免費用戶,也有付費用戶。在進行網絡限速時我們當然應該優先保證付費用戶的帶寬,當然免費用戶中有一部分用戶也要特殊照顧。在對某個端口(對應一個單位用戶)實際限速操作時,我們先通過MRTG生成的流量圖了解這個單位的日常帶寬使用情況,限速后削去明顯高出的波峰即可(即類似歌手大獎賽時出掉一個最高分),然后將帶寬維持在一個以前統計出的平均值上即可,這樣設置后被限速的用戶基本上沒有感覺(網速不會明顯變慢),但是我們的目的也達到了。
(四)要至上而下,制定縝密的限速規劃
最后要強調一點,局域網限速可以從網絡接入的底層實施,但是一定要從網絡的頂層規劃,這樣做一是可以保證限速的效果,二來也將可能出現的網絡故障限制在一個可控的范圍內,另外關于交換機配置存盤的時機也很有講究,我們一般是這樣做的,進行限速操作前先存一次交換機的配置(保留好當前正常工作狀態),限速操作完成,進行觀察,確認對網絡沒有影響后,等一兩天以后再執行保存交換機配置的操作(等足夠長的時間,確認沒有產生網絡故障再存盤),這一措施是非常有效的,及時的故障處理措施保證了我們進行網絡限速期間沒有引起新的網絡故障,保證了網絡的正常運行。#p#
二、具體實現方法
具體實現方法又分兩大類,一類是通過交換機限速進行端口限速,另一類是通過限制某些特定的網絡應用限速(比如專門限制BT和網絡電視等的使用)。
(一)基于交換機的限速
1、接入層交換機的限速
接入層交換機也叫做樓幢交換機或桌面型交換機,它們位于網絡的最底層,直接接入終端用戶(家庭或辦公用戶),一般來說這類交換機很廉價,也沒有什么管理功能,但是也有一些交換機可以滿足我們進行端口限速的要求(當然價格也要略高一點)。此類交換機進行端口限速往往很直接,有的甚至可以通過圖形界面,用下拉菜單的模式很直觀的設置幾十K至100M的端口速率,不過本例中還是通過CLI來實現,是一款DLINK的二層可管理交換機:DES-3026,設置方法如下:
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、匯聚層交換機
朋友們可能會問了,既然接入層的交換機的端口限速功已經做得很好了,那我們全部使用這樣的交換機進行組網行不行,答案是否定的,我們在匯聚層還是要使用更高檔次的交換機。因為在匯聚層工作的交換機,除了穩定性以外,還有一個很重要的技術指標,那就是背板帶寬,它決定了這臺交換機是否可以實現線速轉發。如果判斷交換機的背板帶寬夠不夠用呢?計算方法如下:端口數*相應端口速率*2(全雙工模式),舉例來說,一臺24口的交換機,端口均需工作在100M,那么背板帶寬至少需要:24*100*2=2.4G,而CISCO29系列交換機的背板帶寬都在8G以上,滿足線速轉發是沒有問題的。 但是目前我們還沒有找到在CISCO29系列交換機上進行端口限速的方法。
3、核心層交換機
核心層的交換機除了要支持VLAN、TRUNK、ACL等等功能外,它最核心的功能就是要保證各個端口間的快速數據轉發,因此它們上面的端口限速往往不是簡單設置一個數值就OK了,總體來說要分四個步驟:
1)建立一個訪問控制列表(ACL);
2)建立一個類(CLASS),并在這個類上引用剛建立的那個訪問控制列表(ACL);
3)建立一個策略(POLICY),在這個策略上指定相應的帶寬,并引用相應的類;
4)將這個策略應用具體的端口上。#p#
具體操作如下:
CISCO3550交換機:
1、在交換機上啟動QOS
Switch(config)#mls qos //在交換機上啟動QOS |
Switch(config)#access-list 1 permit 10.59.0.0 0.0.255.255 //針對10.59/16這個網段進行上行流量控制 Switch(config)#access-list 101 permit ip any 10.59.0.0 0.0.255.255 //針對10.59/16這個網段進行下行流量控 |
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交換機:
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網段的主機通過 [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口上發送的流量速率限制為10M=10400kbps,突發尺寸192kbytes。 |
當然我們也可以挖掘一下核心層交換機的高級應用,比如通過限制某些端口通過的方式來限制某些網絡應用(比如迅雷下載),但實際限制起來的效果并不是太好,因為迅雷此類的程序其實使用了很復雜的網絡協議,但靠限制某些端口是很難把它搞定的,所以還是要靠專業流控設備。#p#
(二)基于應用的局域網限速
基于專業流控設備的限速,本文中我們以一款測試過的流控設備說明一下實現方法,這款設備位于我們單位局中的硬件防火墻和寬帶用戶管理設備之間,可以針對某一類應用限速,比如我們要對全網中的P2P下載做一個限帶,上/下行不能超過10M,就可以這樣來做。
1、在“對象管理”中選擇“P2P下載”。從圖2可以看到P2P下載中包含了很多的應用程序,比如常用的“eDonkey”、“迅雷”等。
圖2 P2P下載中所包含的應用程序
2、在“策略管理”中新建一個通道
本例中我們新建了一個名為“p2p限制”的通道,并設置通道的帶寬為10M,如圖3所示。
圖3 在“策略管理”中新建數據通道
3、在“流量控制”-“策略組”中新建一個策略,在“數據路徑”中選擇“網橋1->雙向”,在“應用協議”中選擇“P2P下載”,在“動作/通道”中選擇“p2p限制”。這樣就在局域網中將所有應用P2P的下載所占用的帶寬限制到10M,如圖4所示。
圖4 新組一個策略組
實踐證明這種基于網絡應用的限速也是管用的,我們只在網絡中限制了P2P下載這一類應用,沒有做交換機的端口限制,也成功的將帶寬的占用減少了20M左右,從而保證了網頁瀏覽、收發郵件等應用的正常進行。