陳品華 盧周成
摘要:本文介紹中小企業(yè)如何利用Cisco 2600系列路由器實(shí)現(xiàn)QoS(Quality of Service,服務(wù)質(zhì)量),解釋具體實(shí)現(xiàn)中的一些關(guān)鍵技術(shù),并給出了一個配置實(shí)例。
關(guān)鍵詞:網(wǎng)絡(luò)阻塞; QoS; 服務(wù)模型; WRED; CBWFQ;CAR
1QoS與網(wǎng)絡(luò)阻塞
目前,視頻會議、辦公室自動化、數(shù)據(jù)庫、ERP、CRM等關(guān)鍵業(yè)務(wù)應(yīng)用與日俱增。與此同時,這些花費(fèi)IT預(yù)算一大部分的信息流應(yīng)用卻要與其它相對無關(guān)緊要的應(yīng)用如電子郵件和網(wǎng)上瀏覽等爭奪有限的廣域網(wǎng)資源,網(wǎng)絡(luò)阻塞已經(jīng)成為我們?nèi)粘6家鎸Φ姆浅n^痛問題。網(wǎng)絡(luò)阻塞主要由以下幾個原因引起:
1.1局域網(wǎng)與廣域網(wǎng)接合部吞吐容量的巨大落差。
今天局域網(wǎng)所普遍采用的局域以太網(wǎng)技術(shù)有100兆、千兆等,而廣域網(wǎng)采用DDN、幀中繼、ISDN、MPLS或衛(wèi)星等傳輸技術(shù),傳輸管道帶寬通常在10兆以下。在局域網(wǎng)與廣域網(wǎng)接合部上吞吐量的如此巨大差異,通信瓶頸自然形成。
1.2信息源發(fā)送數(shù)據(jù)的隨機(jī)性。
另一個令阻塞產(chǎn)生的主因就是信息發(fā)送的時間也不受控制。信息源,無論是服務(wù)器或客戶機(jī),在收到對方信息發(fā)送請求后就會向網(wǎng)絡(luò)發(fā)送對方所需的數(shù)據(jù)。信息源在這時是不會關(guān)心或顧及網(wǎng)絡(luò)是否有資源去處理正在被發(fā)送的數(shù)據(jù)量,而是先發(fā)了再說。
1.3 TCP的慢啟。
為了使每一項(xiàng)傳輸任務(wù)能盡早完成,TCP協(xié)議具有一種與生俱來的流量控制特性叫“慢啟”(Slow Start)?!奥龁ⅰ币竺繉CP會話中接收一方在確認(rèn)封包(Acknowledgement Packet)中向發(fā)送方廣播一個比上次交易(Transaction)更大尺寸的窗口(Window),使發(fā)送方在下一輪的發(fā)送中不需等待確認(rèn)便發(fā)送更大量的信息。這種機(jī)制的原意是要提高傳輸效率好讓任務(wù)盡早完成。但是,在帶寬供求失衡時,這種機(jī)制讓發(fā)送一方不顧后果地向?qū)Ψ桨l(fā)送越來越大量的數(shù)據(jù)直至數(shù)據(jù)被堵塞或干脆丟棄為止,又從頭再來。當(dāng)網(wǎng)絡(luò)中每一對TCP會話都以同樣的貪婪方式作傳輸時,將給網(wǎng)絡(luò)瓶頸帶來極大的壓力,會有很多信息包會被路由器無情地扔掉,引起數(shù)據(jù)包的大量重發(fā)。
1.4信息包在路由器上漫長的等待和迷失。
路由器是數(shù)據(jù)轉(zhuǎn)發(fā)樞紐,當(dāng)從局域網(wǎng)轉(zhuǎn)發(fā)向廣域網(wǎng)的信息流總量超過廣域網(wǎng)傳輸管道容量時,路由器只能讓來不及轉(zhuǎn)發(fā)的信息包排隊(duì)。當(dāng)路由器里隊(duì)列過長,路由器上不同的信息包丟棄機(jī)制就會起動,大量的信息包就會被拋棄,導(dǎo)致嚴(yán)重的TCP重發(fā)。
綜上所述,在今天的多業(yè)務(wù)企業(yè)網(wǎng)中,需要一種行之有效的QoS技術(shù)以解決網(wǎng)絡(luò)阻塞問題,盡量保障企業(yè)關(guān)鍵應(yīng)用的暢通無阻,控制廣域網(wǎng)資源的巨大開銷。
2QoS與Cisco 2600系列路由器
QoS含義很簡單,就是在有限的廣域資源的前提下,為應(yīng)用提供優(yōu)質(zhì)服務(wù)質(zhì)量,讓關(guān)鍵應(yīng)用以最低的響應(yīng)時延通過網(wǎng)絡(luò)而不受時間、用戶數(shù)變化和網(wǎng)絡(luò)突發(fā)事件因素的影響。通俗地講,在帶寬還不充裕的情況下可以緩解一下各種服務(wù)流量占用的矛盾,如果帶寬足夠的話,QoS是沒有任何使用價值的。[2]
Cisco 2600模塊化路由器系列是Cisco公司低端路由器的經(jīng)典產(chǎn)品,以其通用性、集成性和強(qiáng)大功能在眾多企業(yè)中得以廣泛應(yīng)用。
Cisco 2600模塊化路由器系列的IOS軟件支持關(guān)鍵的QoS功能,包括加權(quán)隨機(jī)早期檢測(WRED)、CBWFQ隊(duì)列技術(shù)、承諾訪問速率(CAR)等。
因此,對于眾多擁有Cisco2600系列路由器的中小企業(yè)來說,可以直接在Cisco路由器上實(shí)施QoS,以保證關(guān)鍵業(yè)務(wù)的基本QoS需求。
3幾個關(guān)鍵技術(shù)
3.1服務(wù)模型
QoS的服務(wù)模型的概念就是采用通過什么模式全局實(shí)現(xiàn)服務(wù)質(zhì)量保證,一共分成三種[3]。
(1)Best-Effort service盡力而為服務(wù)模型
(2)Integrated service 綜合服務(wù)模型 簡稱IntServ
(3)Differentiated service區(qū)分服務(wù)模型 簡稱 DiffServ
3.1.1 Best-Effort服務(wù)模型
Best-Effort 是一個單一的服務(wù)模型,也是最簡單的服務(wù)模型。應(yīng)用程序可以在任何時候發(fā)出任意數(shù)量的報文,而且不需要事先獲得批準(zhǔn),也不需要通知網(wǎng)絡(luò)。對 Best-Effort 服務(wù),網(wǎng)絡(luò)盡最大的可能性來發(fā)送報文,但對時延、可靠性等性能不提供任何保證。Best-Effort 服務(wù)是現(xiàn)在 Internet 的缺省服務(wù)模型,它適用于絕大多數(shù)網(wǎng)絡(luò)應(yīng)用,如 FTP、E-Mail 等。其實(shí) best-effort 并非是什么QoS,而是互聯(lián)網(wǎng)的簡單數(shù)據(jù)傳輸方式,有什么傳什么,阻塞也就阻塞了,丟棄也就丟棄了。
3.1.2 IntServ服務(wù)模型
IntServ是一個集成服務(wù)模型,這種服務(wù)模型在發(fā)送報文前,需要向網(wǎng)絡(luò)申請?zhí)囟ǖ姆?wù)。應(yīng)用程序首先通知網(wǎng)絡(luò)自己的流量參數(shù)和需要的特定服務(wù)質(zhì)量請求,包括帶寬、時延等。應(yīng)用程序一般在收到網(wǎng)絡(luò)的確認(rèn)信息,即確認(rèn)網(wǎng)絡(luò)已經(jīng)為這個應(yīng)用程序的報文預(yù)留了資源后,才開始發(fā)送報文,同時應(yīng)用程序發(fā)出的報文應(yīng)該控制在流量參數(shù)描述的范圍以內(nèi)。
IntServ 有著嚴(yán)重的缺陷,所以這種模型在1994年推出之后就沒有獲得任何規(guī)模的商業(yè)應(yīng)用。
3.1.3 DiffServ服務(wù)模型
DiffServ 是一個多服務(wù)模型,它可以滿足不同的 QoS 需求,在實(shí)際中得到廣泛應(yīng)用。與 IntServ 不同,它不需要使用 RSVP,即應(yīng)用程序在發(fā)出報文前不需要通知路由器為其預(yù)留資源,對DiffServ 服務(wù)模型,網(wǎng)絡(luò)不需要為每個流維護(hù)狀態(tài),它根據(jù)每個報文指定的 QoS 來提供特定的服務(wù),可以用不同的方法來指定報文的 QoS,如IP報文的優(yōu)先級位(IP Precedence)、DSCP(Differentiated Services Code Point,區(qū)分服務(wù)代碼點(diǎn))、報文的源地址和目的地址等,網(wǎng)絡(luò)通過這些信息來進(jìn)行報文的分類、流量整形、流量監(jiān)管和隊(duì)列調(diào)度。
3.2分類與標(biāo)記
通常于網(wǎng)絡(luò)邊界處對報文進(jìn)行分類時,同時標(biāo)記IP先級和 DSCP。這樣,在網(wǎng)絡(luò)的內(nèi)部就可以簡單地使用IP優(yōu)先級或 DSCP作為分類的標(biāo)準(zhǔn),而隊(duì)列技術(shù)如CBWFQ就可以使用這個優(yōu)先級來對報文進(jìn)行不同的處理。
利用NBAR(基于網(wǎng)絡(luò)的應(yīng)用程序識別)可以對使用動態(tài)分配TCP/UDP端口號的應(yīng)用程序和HTTP流量等進(jìn)行分類。
標(biāo)記在Frame中和packet中本身就存在,F(xiàn)rame中存在 CoS(服務(wù)類別)字段,packet中則使用DSCP(區(qū)分服務(wù)代碼點(diǎn))。
對于CoS,IEEE802.3Q的Frame中有三個bit定義服務(wù)級別,一共有6個服務(wù)級別可以使用;對于DSCP,定義了0~63一共64個優(yōu)先級可以使用。
分類是沒有范圍限制的,也就是說我們可以對數(shù)據(jù)進(jìn)行靈活的分類,比如說把某一個源IP到目的IP的流量優(yōu)先級進(jìn)行更改DSCP的操作。
CoS 和 DSCP 彼此匹配時的對應(yīng)關(guān)系如下表。
3.3 CBWFQ隊(duì)列技術(shù)
QoS的策略主要通過隊(duì)列技術(shù)體現(xiàn)出來,隊(duì)列技術(shù)的原理就是使報文在路由器中按一定的策略暫時緩存到隊(duì)列中,然后再按一定的調(diào)度策略把報文從隊(duì)列中并取出在接口上發(fā)送出去。
CBWFQ(Class Based Weighted Fair Queuing,基于類的加權(quán)公平隊(duì)列),首先根據(jù)IP優(yōu)先級、DSCP或者輸入接口的IP數(shù)據(jù)流等規(guī)則來對報文進(jìn)行分類,讓不同類別的報文進(jìn)入不同的隊(duì)列,對于不匹配任何類別的報文將被送入系統(tǒng)定義的缺省類。
3.4 WRED
RED(Random Early Detection,隨機(jī)早期檢測)可以用來作為一種在網(wǎng)絡(luò)的帶寬瓶頸處防止擁塞問題的回避機(jī)制。WRED(Weighted Random Early Detection,加權(quán)隨機(jī)早期檢測)是RED的Cisco實(shí)現(xiàn),通過IP優(yōu)先權(quán)級別決定的加權(quán)計(jì)算機(jī)與RED算法結(jié)合起來。
WRED功能提供一個統(tǒng)計(jì)工具來確保有效的鏈路利用率,當(dāng)輸出的緩沖區(qū)到達(dá)警戒線時,分組將被隨機(jī)選擇以決定是否丟包。在最小閾值下,沒有數(shù)據(jù)包被丟棄;在閾值之上,所有數(shù)據(jù)包被丟棄。當(dāng)緩沖區(qū)在兩個閾值之間,丟棄的速率是平均隊(duì)列長度的一個函數(shù)。平均隊(duì)列長度是整個運(yùn)行時間里的平均值。因?yàn)閿?shù)據(jù)被丟棄的隨機(jī)性,所有流中的數(shù)據(jù)包在不同的時間被丟棄,這樣防止了經(jīng)常伴隨尾部丟棄一起出現(xiàn)的“全局同步”現(xiàn)象。
3.5承諾訪問速率CAR
流量策略(Traffic Policing)的典型作用是限制進(jìn)入某一網(wǎng)絡(luò)的某一連接的流量與突發(fā)(當(dāng)然,限制發(fā)出也是可以的),在報文滿足一定的條件時,如某個連接的報文流量過大,監(jiān)管就可以對該報文采取不同的處理動作例如丟棄報文或重新設(shè)置報文的優(yōu)先級等, 通常的做法是使用CAR(CommittedAccessRate,承諾訪問速率)來限制某類報文的流量例如限制HTTP報文不能占用超過50%的網(wǎng)絡(luò)帶寬。
CAR利用令牌桶(Token Bucket, TB)進(jìn)行流量控制。首先根據(jù)預(yù)先設(shè)置的匹配規(guī)則來對報文進(jìn)行分類,如果是沒有規(guī)定流量特性的報文就直接繼續(xù)發(fā)送,并不需要經(jīng)過令牌桶的處理;如果是需要進(jìn)行流量控制的報文,則會進(jìn)入令牌桶中進(jìn)行處理,如果令牌桶中有足夠的令牌可以用來發(fā)送報文,則允許報文通過,報文可以被繼續(xù)發(fā)送下去;如果令牌桶中的令牌不滿足報文的發(fā)送條件則報文被丟棄,這樣就可以對某類報文的流量進(jìn)行控制。
4QoS配置實(shí)例
在class-map中High_PRI類采用NBAR匹配實(shí)時性較高的應(yīng)用,如:realaudio、streamwork、telnet、Http等。Low_PRI類采用NBAR匹配實(shí)時性不強(qiáng)的應(yīng)用,如:ftp、pop3、smtp等。
在policy-map中針對不同的class,分別采用CBWFQ、WRED策略。在S 0/0串口上采用Input CAR策略。對進(jìn)入S 0/0串口的流量進(jìn)行整形。
Current configuration : 3568 bytes
!
!
version 12.2
service timestamps debug datetime
service timestamps log datetime
service password-encryption
!
hostname xxxxxx
!
enable secret a $1$uxsPt#/Uyt
!
clock timezone China 8
ip subnet-zero
no ip source-route
ip cef
!
!
ip name-server x.x.x.x
!
no ip bootp server
!
class-map match-any High_PRI //分類,定義匹配列表
match protocol http //NBAR匹配http協(xié)議
match protocol realaudio
match protocol streamwork
match protocol telnet
class-map match-any Low_PRI
match protocol ftp
match protocol imap
match protocol pop3
match protocol smtp
!
policy-map QoS_policy_map //定義QoS策略
class High_PRI
bandwidth percent 50//定義保留的帶寬
random-detect//啟用WRED
random-detect exponential-weighting-constant 4
police cir 2000000 bc 10000 be 10000//使用令牌桶算法進(jìn)行限速
conform-action transmit
exceed-action transmit
class Low_PRI
bandwidth percent 25
random-detect
random-detect exponential-weighting-constant 4
police cir 2000000 bc 2000 be 2000
conform-action transmit
exceed-action drop
!
!interface FastEthernet0/0
ip address 192.168.0.1 255.255.255.0
ip address 192.168.1.1 255.255.255.0 secondary
ip verify unicast reverse-path
ip nat inside
ip route-cache same-interface
ip route-cache policy
ip policy route-map QoS
duplex auto
speed auto
no cdp enable
!
interface Serial0/0
bandwidth 2048
ip address x.x.x.x 255.255.255.252
ip verify unicast reverse-path
no ip proxy-arp
ip nat outside
rate-limit input 2000000 20000 20000 conform-action transmit exceed-action drop
ip route-cache policy
service-policy output QoS_policy_map //在接口上執(zhí)行
no cdp enable
!
ip nat inside source list 10 interface Serial0/0 overload
ip classless
ip route 0.0.0.0 0.0.0.0 x.x.x.x
ip route 192.168.0.0 255.255.255.0 192.168.1.1
ip route 192.168.1.0 255.255.255.0 192.168.0.1
no ip http server
no ip pim bidir-enable
!
line con 0
exec-timeout 0 0
line aux 0
line vty 0 4
password 7 ddiEkdi974DIExiekVIE
login
!
end
5結(jié)束語
隨著網(wǎng)絡(luò)上的應(yīng)用類型日益增多,為了保障主要應(yīng)用的良好運(yùn)作,必然要在網(wǎng)絡(luò)上進(jìn)行流量控制。在企業(yè)網(wǎng)廣泛使用的Cisco路由器上實(shí)現(xiàn)QoS,其特點(diǎn)是成本低、實(shí)施方便,這對中小型企業(yè)來說,是一種很好的選擇。當(dāng)然,如果有足夠的預(yù)算,可以選擇專用的網(wǎng)絡(luò)流量控制產(chǎn)品(如Packeteer PacketShaper?),這類產(chǎn)品功能強(qiáng)大,但是價格十分昂貴。
參考文獻(xiàn):
[1](美)David Hucaby等著,張輝譯. Cisco現(xiàn)場手冊:路由器配置.北京:人民郵電出版社, 2002.
[2]Mike Flannagan and Richard Froom, Cisco Catalyst QoS: Quality of Service in Campus Networks, by Cisco Press, 2003.
[3]弗拉納根編著.Cisco Catalyst Qos—園區(qū)網(wǎng)中的服務(wù)質(zhì)量.北京:人民郵電出版社,2004.
[4]希爾編著.Cisco完全手冊,北京:電子工業(yè)出版社,2006.
[5]高紀(jì)明,謝鐵兵,侯自強(qiáng).寬帶QoS路由器體系結(jié)構(gòu)關(guān)鍵問題分析[J].計(jì)算機(jī)工程與應(yīng)用,2003.
[6]趙佳玉,鮑慧.IP網(wǎng)絡(luò)的QoS實(shí)現(xiàn)技術(shù)[J].電力系統(tǒng)通信,2004(12).
[7]王西鋒,張曉孿.IP網(wǎng)絡(luò)實(shí)現(xiàn)QOS的技術(shù)研究[J].電腦學(xué)習(xí),2006(01).
[8]王勇智,劉利強(qiáng).下一代因特網(wǎng)QoS路由機(jī)制的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(04).
[9]楊兆春.淺談路由器qos技術(shù)[J]科技信息,2006(12).