金偉超
摘 要:隨著計算機網絡的飛速發展,網絡的各種應用(OA系統、語音系統、網絡視頻監控系統)日趨復雜,導致網絡傳輸數據的種類越來越多,網絡上各種數據的重要性、優先級不同,需求的帶寬也不一樣。不具備QoS功能的網絡,其同等對待所有的轉發數據流,并不保證某一特殊的數據流會受到特殊的轉發待遇。當網絡帶寬充裕的時候,所有的數據流都得到較好的處理,當網絡發生擁塞的時候,所有的數據流都有可能被丟棄。這種轉發策略是盡最大能力轉發數據,其只能盡可能充分利用交換機自身的帶寬,因此不具有提供品質服務的能力。在網絡中配置QoS可以避免網絡管理擁塞,減少報文的丟失率,調控網絡的流量,為特定用戶或特定業務提供專用帶寬和支持網絡上的實時業務。實現重要數據的優先傳輸,本文介紹了基于DiffServ體系的QoS實現特定業務服務質量。
關鍵詞:QoS; DiffServ體系; 優先級傳輸; 擁塞控制
Abstract: With the rapid development of computer network, various network applications (OA system, voice system, network video monitoring system) have become increasingly complex, more and more types of data are transmitted through the network. The importance and data priority are not the same on the network, the bandwidth requirements consequentially are not the same. The network without QoS function could treat all the forwarding data equally, and could not guarantee that a particular data stream receives special forwarding treatment. When the network bandwidth is abundant, all data streams are well processed. When the network is congested, all data streams may be discarded. This forwarding strategy is to transmit data to the greatest extent, and only make full use of the bandwidth of the switch itself, so it does not have the ability to provide quality services. According to the recent research, configuring QoS in network can avoid network management congestion, reduce packet loss rate, regulate network traffic, provide dedicated bandwidth for specific users or specific businesses, and support real-time services on the network. In order to realize the priority transmission of important data, this paper introduces the implementation of the specific service quality of QoS based on the DiffServ system.
Key words: QoS; DiffServ; priority transmission; congestion control
1 QoS的配置背景
服務質量(Quality of Server)是指網絡通信過程中,允許用戶業務在丟包率、延遲、抖動和帶寬等方面獲得可預期的服務水平。QoS要根據具體網絡的環境和業務需要選擇實施。在圖1所示的三種網絡應用環境中,圖1(a)具有超過需求的鏈路帶寬,完全不需要QoS;圖1(c)鏈路嚴重超載,此時,QoS有一定的作用,但不顯著,最好升級帶寬;圖1(b)只有少量擁塞,此時QoS配置最有效。
2 QoS技術概述
2.1 QoS的3種模型
QoS主要有3種模型。一是Best-Effort模型,采用先進先出隊列(FIFO)的算法進行存儲轉發;二是IntServ模型,是通過信令向網絡申請特定的QoS服務。網絡在流量參數描述范圍內,預留資源以承諾滿足該請求;三是DiffServ模型,又稱為區分服務模型。該模型能夠在網絡出現擁塞時,根據業務的不同服務等級約定,有差別地進行流量控制和轉發來解決擁塞問題。Best-Effort模型是目前Internet的缺省服務模型,其特點是盡最大可能發送報文,對時延、可靠性等性能不提供任何保障;而DiffServ模型則是為現代網絡及解決方案量身打造的一種QoS實現形式。其采用基于類別的數據流處理,應用程序在發出報文前,不需要通知路由器,網絡也不需要為每個流維護狀態,根據每個報文指定的QoS,來提供特定的服務,包括報文的分類、流量整形、流量監管和排隊。
2.2 QoS內容
相對于具體的網絡元素而言,QoS可以由擁塞管理、隊列管理、鏈路效率、整形和管制工具提供。
2.2.1 擁塞管理
網絡中的視頻、音頻、數據流量存在突發性,有時這些流量會超出鏈路速度。此時網絡設備是選擇將流量緩沖在一個對列中,然后讓最先來的數據最先轉發還是將數據流入不同的對列,并給這些對列提供優先的服務這些問題就是由擁塞管理來解決。具體包括先入先出隊列(FIFO)、優先級排隊(PQ)、自定義排隊(CQ)、基于流的加權公平排隊(WFQ)和基于類別的加權公平排隊(CBWFQ)等。
2.2.2 隊列管理
由于隊列管理長度是有限的,所以存在填滿溢出的情況。當隊列已滿時,任何額外的數據流,即使是優先級更高的數據都不能進入隊列。這時,這些數據隊列將被丟棄。顯而易見,這種尾部丟棄的管理方式是沒有QoS保證的。為建立更好地管理機制,QoS中的隊列管理應當完成兩個任務:一是試圖保證隊列不會被填滿,這樣才有空間容納更高優先級的數據;其二是允許一些標準來保證丟棄高優先級數據之前先丟棄低優先級的數據。
2.2.3 鏈路效率
很多時候低速鏈路處理實時數據流時會出現問題。例如,1 500字節的數據包在56kbit/s上的傳輸延遲是214 m/s。如果語音數據包安排在這個大數據包之后,那么在轉發語音數據包之前,其就可能已經超時,鏈路分片和交織技術允許把大數據包分成小片,然后和語音數據包交織發送。鏈路效率的另一種管理機制是去除過多的開銷比特,例如對實時協議數據包的頭部進行壓縮,將數據減小到適合管理的尺寸。
2.2.4 流量整形和管理
整形是指創建一個具有帶寬限制的流量,超過配置速率的流量將被緩存并在以后發送。由此可以有效地防止遠程鏈路緩沖隊列溢出的問題。管制則類似于整形,區別在于超過匹配速率的流量不會被緩存(通常被丟棄)。
3 QoS報文分類及標記
配置了QoS的網絡環境,增加了網絡的性能可預知性,并能夠有效地分配網絡帶寬,更加合理地利用網絡資源。這種傳輸品質服務的實現,是通過為某種類別的數據流賦予某個級別的傳輸優先級,標識其相對重要性,并使用交換機所提供的各種分優先級轉發策略、擁塞避免等機制,從而使這些數據流獲得特殊傳輸服務。
3.1 QoS報文分類信息
DiffServ體系規定每一個傳輸報文將在網絡中被分類到不同的類別,IETF規定使用IP報文中ToS(Type Of Server)字段中的前6個比特來攜帶報文的分類信息。當然分類信息也可以被攜帶在鏈路層幀頭上。附帶在報文中的分類信息如圖2所示。
User Priority bits,攜帶在802.1Q幀頭上的Tag Control Information 中的前3個比特,包含了8個類別的優先級信息;IP precedence(IP優先級),攜帶在IP報文頭中的ToS字段中的前3個比特;DSCP(Differentiated Services Code Point,區分服務代碼點),攜帶在IP報文頭中的ToS字段前6個比特。交換機或路由器可以根據報文所攜帶的類別信息,為各種數據流提供不同的傳輸優先級,為某種數據流預留帶寬,適當丟棄一些重要性較低的報文或者采取其它一些操作。
3.2 基于DiffServ體系的QoS模型
以DiffServ體系為基礎的QoS模型,數據處理流程如圖3所示。QoS的入口動作首先是分類,其過程是根據信任策略或者根據分析每個報文的內容來確定將這些報文歸類到以CoS值來標示的各個數據流中,因此分類動作的核心任務是確定輸入報文的CoS數值。分類發生在端口接收輸入報文階段,當某個端口關聯了一個表示QoS策略的policy-map后,分類就在該端口上生效,其作用于所有從該端口輸入的報文。對于IP報文,可以根據以下準則來歸類報文,如果端口的信任模式為trust ip-precedence,則直接從IP報文的IP precedence字段(3個比特)提取出來,填充到輸出報文的CoS字段(3個比特);如果端口的信任模式為trust cos,則將報文的CoS字段(3個比特)直接提取出來覆蓋報文IP Precedence字段(3個比特)。如果端口關聯的policy-map中使用了基于IP access-list(extended)的ACLs歸類,那么在該端口上,將通過提取報文的源IP地址、目的IP地址、Protocol字段以及第4層TCP/UDP端口字段來匹配關聯的ACLs,以確定報文的DSCP值,然后根據DSCP到CoS的映射確定報文的CoS值。
3.3 QoS分類和流量限制的配置
缺省情況下,交換機的QoS功能是關閉的,即交換機對所有的報文同等處理。只有將一個Policy Map關聯到某一個接口上,或設置了該接口的信任模式,該接口的QoS功能才被打開。可以根據需要配置匹配訪問控制列表,基于命名的IP標準、擴展ACL和MAC ACL均可。使用Police命令為數據流定義策略動作,支持限制該數據流的帶寬和為帶寬超限部分指定處理動作。Rate-bps是每秒鐘的帶寬限制量,對于10/100M以太網接口取值范圍是1-100 Mbps;對于千兆以太網接口取值范圍是8-1 000 Mbps;burst-byte是猝發流量限制值,對于百兆接口,支持的值為4 096、8 192、16 384、32 768、65 536;對于千兆接口,支持的值為4 096、8 192、16 384、32 768、65 536、131 072、262 144、524 288。在配置命令中,使用drop關鍵字設置丟棄帶寬超限部分的報文。
4 QoS功能實現
采用基于DiffServ體系的QoS模型,配置交換機QoS數據分類和帶寬約束,根據業務的不同服務等級約定,有差別地進行流量控制和轉發來解決擁塞問題。
4.1 設備及連接
實驗所需設備和連接方式如圖4所示。3層交換機S3550和S2126通過Trunk接口的F0/1相互連接;S2126設置VLAN10和VLAN20并分別連接PC1和PC2;PC3運行嗅探軟件(Ethereal),監控F0/1接口的數據。
4.2 配置交換機QoS
實現對ICMP報文的分類報文標記的設置,并對HTTP流量進行限速。參考配置如下:
(1)指定接口開啟QoS信任
S2126(config)#interface fastEthernet 0/3
S2126(config-if)#mls qos trust cos
(2)設置用于分類篩選的ACL
S2126(config)#ip access-list extended icmp
S2126(config-ext-nacl)#permit icmp any any
S2126(config-ext-nacl)#exit
S2126(config)#ip access-list extended http
S2126(config-ext-nacl)#permit tcp any any eq 80
S2126(config-ext-nacl)#exit
(3)配置關聯ACL的分類規則
S2126(config)#class-map 1
S2126(config-cmap)#match access-group icmp
S2126(config-cmap)#exit
S2126(config)#class-map 2
S2126(config-cmap)#match access-group http
S2126(config-cmap)#exit
(4)配置QoS策略,分類規則1(ICMP流量)設置DSCP值為48,分類規則2(HTTP流量)限速1M,猝發流量為4096,超限報文丟棄
S2126(config)#policy-map qos_test
S2126(config-pmap)#class 1
S2126(config-pmap-c)#set ip dscp 48
S2126(config-pmap-c)#exit
S2126(config-pmap)#class 2
S2126(config-pmap-c)#police 1 000 000 4 096 exceed-action drop
S2126(config-pmap-c)#exit
S2126(config-pmap)#exit
(5)在S2126的F0/3和F0/4接口啟用已配置的policy-map
S2126(config)#interface range fastEthernet 0/3-4
S2126(config-if-range)#service-policy input qos_test
S2126(config-if-range)#end
4.3 驗證與調試
通過查看接口的QoS狀態、分類規則信息、ACL的配置信息、policy-map的配置信息。不僅實現了對ICMP報文的標記及HTTP流量的限速。同時還根據業務的不同服務等級約定,有差別地進行流量控制和轉發解決了擁塞問題。
5 結束語
隨著互聯網絡的飛速發展,網絡服務質量(QoS)成為人們的關注焦點,在信息化社會中,人們對計算機網絡的依賴日益增強,越來越多的信息和重要的數據資源存儲和傳輸于網絡中,通過網絡獲取或交換信息的方式已經成為當前主要的信息溝通方式之一。網絡上各種新業務(電子支付、網絡銀行、網絡會議等)不斷興起,這對網絡的穩定性、安全性提出了更高的要求,需要一種技術解決在網絡出現擁堵、延時的時候,能夠保證重要數據的優先傳輸。文中介紹的基于DiffServ體系的QoS技術,實現了根據業務的不同服務等級約定,有差別地進行流量控制和轉發來解決擁塞問題。
參考文獻
[1] 歐仁輝,齊傳輝,主雪梅. 利用VRRP協議實現網絡的負載均衡[J]. 河北工程技術高等專科學校學報,2010(1):63-65.
[2] 張嵐,王俊良,賈穎. 淺談VRRP協議在企業組網中的應用[J]. 科技創新導報,2010(11):249-251.
[3] 朱應國,江森林. 基于VRRP高可靠性校園數據中心建設[J]. 無錫職業技術學院學報,2008,7(3):45-46.
[4] FROOM R. CCNP自學指南:組建Cisco多層交換網絡(BCMSN)[M]. 4版. 劉大偉,張芳,譯.北京:人民郵電出版社, 2009.
[5] 蘇兵,黃冠發. 基于粒子群優化的WSN非均勻分簇路由算法[J]. 計算機應用, 2011,39(9):2340-2343.
[6] 王楷,肖詩松,趙錦元. Ad Hoc網絡中基于粒子群優化的QoS多播路由研究[J]. 微電子學與計算機, 2006,23(9):41-43.
[7] 齊小剛,劉三陽. 基于K最優路徑的QoS路由預計算新算法[J]. 電子學報, 2005,33(10):1751-1756.