引言
 隨著新服務應用的不斷增長,實現服務質量(QoS)的需要已經開始走到了前臺。這些新的服務包括虛擬專網(VPN)、ip語音(VoIP)以及對要害業務(例如企業資源規劃[ERP])通信流和非要害業務通信流的差別化服務。
本文中的信息覆蓋了與Cisco         IOS軟件12.0版相關的QoS功能,供那些希望概念性地了解Cisco 7200和7500中QoS工具的企業客戶和服務供給商客戶使用。
           
 了解QoS工具最好按以下根據機制劃分的群組來進行:
分類
 在有區別地對待和處理網絡通信流之前,首先需要對通信流和"標記"或"顏色"進行分類,以保證非凡的數據包能夠得到與其它數據包不同(或更好)的對待和處理。今天,Cisco         IOS工具可以根據一些不同的標準對數據包進行分類,然后使用IP數據報頭中的3個IP優先級位信息對這些數據包進行標記。
           
 網絡操作員最多可以定義6個服務等級(使用IP頭中服務類型(ToS)字段的3個優先級位,其中的2個值保留作它用)。然后,可以使用QoS功能制定適當的通信流處理政策,包括針對每一通信流等級的擁塞治理、帶寬分配以及延遲限制。
                           
         以下是分類功能選項的示例:      
隊列和時序計劃(擁塞治理)
         Cisco 7200和7500路由器所使用的不同隊列功能包括:      
優先級隊列
         優先級輸出隊列答應一個網絡治理員為給定的端口定義4種通信流優先級-高、標準、中和低。當通信流到達路由器時,將安排其進入4個輸出隊列中的一個。最高優先級隊列中的數據包將首先被輸出。當這一隊列變為空時,下一個最高優先級中的通信流將被輸出,依此類推。      
         這一機制可以確保在擁塞期間最高優先級數據不會因為低優先級通信流而被延遲。以下是如何使用優先級隊列的例子:      
                           
 當使用優先級隊列時有可能出現一種不希望看到的副作用:低優先級隊列可能被鎖死。換句話說,假如在一個沒有盡頭的到達流中出現太多的高優先級通信流,低速鏈路上的低優先級通信流就有可能永遠得不到處理。假如這些低優先級通信流確實不重要,那么這可能正是所要求的結果。
自定義隊列
         假如您的目標是確保所有通信流的服務級別,您可以使用自定義隊列。例如,您可以指定系統網絡體系結構(SNA)通信流應占有25%的可用帶寬,而TCP通信流應占有10%的帶寬,剩余65%的帶寬留給其它應用程序。                         
                           
            圖5 自定義隊列              
      
 雖然自定義隊列有優勢,但缺點是一個等級內的服務(延遲)仍然是不可預期的。
加權公平隊列
         基于流的加權公平隊列(WFQ)的目標是確保擁塞發生時剩余的流能夠獲得足夠的帶寬,并對延遲作出限制,使其能夠滿足最低要求。在使用標準WFQ時,數據包是按流來排隊的。擁有相同源IP地址、目的地IP地址、源傳輸控制協議(TCP)或UDP端口、或者目的地TCP或UDP端口的數據包將屬于同一個流。      
                         
                           
            圖6 加權公平隊列                    
 基于流的WFQ中"公平"一詞的含義是指公平分享可用帶寬。這種機制可以防止因帶寬不足而引起的資源處理能力得不到使用的問題。
                           
                           
 基于等級的加權公平隊列答應用戶創建通信流等級并為每一個這樣的等級指定一個權重。例如,一個企業客戶可以創建三個通信流等級,一個用于語音,一個用于要害任務ERP通信流,第三個用于Web通信流。基于等級的WFQ答應為分配給每個通信流等級的帶寬提供確定性的或"硬"的擔保。例如,30%用于語音,30%用于ERP,而余下的40%用于Web通信流。雖然CB-WFQ對于等級間公平共享的重視不及其它WFQ,但它對于高速鏈路或主干來說是一種功能強大的QoS工具,在這兩種情況下,重點是帶寬分配的硬性擔保,而并非是象低速鏈路上那樣重點在于稀疏帶寬的公平共享。在低速鏈路上,通常是使用基于流的WFQ。
                           VIP分布式WFQ(DWFQ)
 基于VIP的分布式WFQ通過將WFQ的排隊和時序計劃任務分散到通用接口處理器上,可以增加Cisco         7500的轉發能力。由于從原則上講每個VIP可以為一個單獨的高速接口提供服務,所以每個數據包有望獲得的轉發性能要高于由多個端口共享的基于路由交換處理器(RSP)的處理性能。
 它可以支持以下使用VIP2-40或更高接口處理器的路由器:
 當VIP上端口適配器的匯聚線速率高于DS3時,建議使用VIP2-50接口處理器。當速率達到OC-3時,需要使用一個VIP2-50卡。當基于RSP的WFQ的可擴展性(基于CPU利用率)是考慮解決的重點問題時,基于VIP的DWFQ是一個有吸引力的可選解決方案,非凡是對于高速接口。
 與傳統的自時鐘同步WFQ算法相比,DWFQ在進行WFQ排序時使用的是日歷隊列,這使DWFQ對CPU的壓力較低。
擁塞回避
 網絡擁塞會導致性能的降低和LAN/WAN帶寬得不到高效的使用。
 因此,我們的目標是通過使用算法(如隨機早期檢測[RED]算法)避免在任何可能的地方出現擁塞,這些算法利用TCP通信流的適應性特性,通過丟棄數據包來降低TCP傳輸速率。不過,假如您擁有多個TCP源,那么在所有源中統一進行數據包的丟棄將會導致所有這些源的退回,并隨后同時開始重新發送。這種情況將會導致波浪式的擁塞,也被稱為"全局同步"。如圖表中所示,這種情況將會導致吞吐量的急劇下降。
 通過有選擇地從特定的TCP流中丟棄數據包,RED解決了這一問題,只有很少的TCP發送方會出現退回和重發的現象。
                           
 與等待路由器緩沖區滿以后對后來數據包進行丟棄(到達的數據包因無緩沖區而被丟棄)的情況不同,路由器對緩沖區的長度進行監視并對選定的數據包(以及選定的連接)執行早期丟棄。
                           
 網絡操作員設置輸出緩沖區的最小和最大隊列長度閾值,路由器隨后在作出數據包轉發決策的同時對這些閾值進行監視。數據包交換決策過程對平均隊列長度進行檢查。假如平均隊列長度小于最小閾值,數據包將進入隊列并與隨后被交換。假如平均隊列長度超過最小閾值而小于最大閾值,數據包將按照一定的概率被丟棄。假如平均隊列長度超過了最大閾值,所有數據包都將被丟棄。
 Cisco加權隨機早期檢測(WRED)協議將IP優先級和RED結合起來,為優先通信流(高優先級)提供與標準通信流(優先級較低)有差別的丟棄閾值。換句話說,WRED根據IP優先級對數據包進行丟棄。這種情況實際上是答應Internet服務供給商(ISP)在丟棄優先客戶的數據包之前首先丟棄標準客戶的數據包。
                           
 因為WRED監視路由器中隊列的平均長度,所以它可以根據隊列長度決定何時開始丟棄數據包。當平均隊列長度超過用戶規定的"最小閾值"時,WRED開始根據一定的概率丟棄數據包(包括TCP和UDP)。假如平均隊列長度超過用戶規定的"最大閾值",則WRED轉為"后來(數據包)丟棄",即所有后面到達的數據包都將被丟棄。WRED的意圖就是使將隊列長度維持在最小和最大閾值之間的某個水平。
 WRED也可以運行在VIP分布式模式之下,以增加Cisco         7500的性能。不過,為實現這一點,所有接口都必須啟用VIP分布式Cisco快速轉發(DCEF)功能。
政策制訂和通信流整形
政策制訂/速率限制
 Cisco承諾接入速率(CAR)工具是一種速率限制或政策制訂工具(分類規則也可以通過Cisco         IOS軟件中的CAR工具進行設置)。企業客戶可以使用速率限制工具來限制從Internet進入到企業網絡的通信流(如點播通信流)的速率,服務供給商可以使用速率限制工具來加強服務級別協議(SLA)。速率限制工具對所有超過規定速率的通信流都執行數據包丟棄,其使用目標并非是對通信流進行整形或排隊。
                           
 CAR速率限制可以在輸入或輸出接口以及子接口上實現,包括幀中繼和ATM子接口。在這一功能實現并規定了一個或更多的速率以后,可以將政策制訂的原則(或CAR對超過某一規定速率的通信流可以采取的措施)設置為以下之一:
 可以規定多個CAR速率限制。這種層疊式方式可以對數據包實行一系列的速率限制,也可用于規定更加細致的政策。例如,一個企業客戶可以對TCP通信流進行速率限制,同時進一步為基于TCP的Web通信流規定第二個速率限制。
 以上的兩個選項是CAR中層疊式多速率限制的例子。
整形
 整形(即所謂的通信流整形[GTS])的原因有很多,例如,企業客戶為確保SLA一致性而對輸出通信流進行整形,以防止服務供給商丟棄超過限制的通信流。整形的目的(與速率限制/政策制訂相對比)是永遠不會發生丟棄數據包這樣的事情。在通常意義上講,假如一個上游路由器知道自己的下游路由器采用了政策制訂的方法,那么該上游路由器就必須對通信流進行整形。
                           
 Cisco         GTS提供了一種在某一特定接口上對通信流進行控制的機制。通過將特定通信流的速率限制為某一特定位速率,這一功能可以減少輸出通信流以避免擁塞的發生(這也被稱為令牌存儲桶方法),同時對猝發性的特定通信流進行排隊處理。因此,對符合某一特征的通信流進行整形以后可以使其能夠滿足下游的要求,消除了因數據傳輸速率不匹配而導致的拓撲結構上的瓶頸。GTS可以每一接口(或每一子接口)為應用對象,能夠通過訪問列表來選擇將被整形的通信流,并能夠使用多種Layer         2技術。換句話說,GTS可以不依靠于Layer 2接口或封裝而對Layer 3通信流進行整形。
VIP分布式通信流整形
 VIP分布式通信流整形(DTS)將GTS和幀中繼通信流整形(FRTS)的優點結合在一個工具之中。在將分布式Cisco快速轉發作為首選交換模式的網絡之中,在VIP上進行DTS是合乎邏輯的通信流整形方法。
 對于ATM/幀中繼固定虛擬線路(PVC),DTS是在接口級、子接口級或邏輯接口級上對通信流整形進行配置。通信流整形可基于以下的標準:
 DTS在每個VIP上最高可以支持200個整形隊列,當數據包平均大小為250個字節或更高以及使用一個擁有8M         SRAM的VIP2-50(或更高)時,支持的速率最高可以達到OC-3。與常規的通信流整形(GTS)不同,DTS不要求啟用WFQ功能。相反,DTS在實現整形隊列時使用的是公平隊列或分布式先入先出(FIFO)機制。
信令
                           
 資源保留協議(RSVP)為應用程序(或一個代表應用程序的路由器)提供了一種向網絡發出信令以要求所需QoS級別的方法。RSVP是一種Layer         3信令協議,答應一個應用程序以每個流為單位請求QoS服務。
 RSVP依靠于在兩個端點之間周期性地交換PATH/REVP消息;它被認為是一種"接收方發起"性質的協議,因為作為數據流的接收方,它為該特定流發起并維護資源保留處理過程。由于RSVP要求每個中間路由器維護每個RSVP流的狀態信息,所以當被用于消息需要通過大量路由器的基礎設施(如Internet)中時,可能會產生可擴展性和成本方面的問題。當必須實現清楚的QoS功能和粒度化時,RSVP是可以派上用場的,如一個低速WAN鏈路。
                           
 Cisco路由器支持RSVP,當終端用戶應用本身沒有發出RSVP信令的能力時,Cisco路由器經常被用于為這些終端用戶應用代理發送RSVP信令。
 除了路由器/應用程序以外,H.323語音網關也可以代表自己的客戶機發出RSVP信令。這些客戶機可以是Cisco(Selsius)電話,這些電話能夠為語音通信流加上Layer         3信息標記(如IP優先級),從而使其能夠被區分開來。
                           
 Cisco         IOS軟件還包括了能夠將RSVP映射到非RSVP子網(如僅使用IP優先級或DiffServ的網絡、IEEE 802.1q/p網絡或ATM交換主干)的工具。Cisco使用戶能夠部署多種不同的設備,而不必過分擔心可以在這些設備上實現的QoS的粒度化。
鏈路效率機制
 H.323建議使用實時傳輸協議(RTP)來傳輸IP語音通信流。不過,當您在封裝一個語音數據包時在IP頭內部使用了RTP和UDP時,將會產生一個40字節的數據包頭(12個字節的RTP頭加上8字節的UDP以及20個字節的IP頭)。考慮到一個音頻應用可以將一個RTP數據包的的有效載荷部分壓縮到20到160個字節,這么大的一個數據包頭確實是太大。一個40個字節的數據包頭配上20字節的有效載荷,這樣的效率太低了。
 象壓縮RTP(CRTP)這樣的頭壓縮技術可以將40個字節的RTP頭壓縮到2到5個字節。對于低速鏈路(如64kb的幀中繼鏈路)來說這是非常有用的,在這種情況下,語音通信流會與數據通信流爭奪稀缺的帶寬。
                           圖18 壓縮RTP(CRTP)頭壓縮功能                    
 另一種鏈路效率工具是鏈路分段和交叉(LFI),它的實質是對較大的數據包進行分解,而較小的數據包被插入到這些較大的數據包之間,以減少語音通信流的延遲。
                           通過Layer 2 WAN主干(幀中繼和ATM)實現Cisco 7200和7500的互聯
 當IP網絡的邊界與由ATM或幀中繼交換機組成的Layer         2互聯主干相連時,必須確保邊界QoS的定義不會被該主干忽略。考慮到這一事實,Layer 2中包括了以下不同的IP QoS工具:
幀中繼內核和通信流整形(FRTS)
 在一個幀中繼子接口上,通過集成后向顯式擁塞通告(BECN)信號,可以安裝能夠動態適應可用帶寬的GTS,或安裝能夠根據預設速率進行整形的GTS。FRTS可被應用于每一數據鏈路連接識別器(DLCI),但不是被應用于整個物理接口。
                           圖20 幀中繼通信流整形                    IP QoS到ATM CoS的映射
 雖然在IP網絡中可以使用IP         QoS來表示數據包的優先級并基于這一優先級來表示通信流的等級(如使用IP優先級),但為確保端對端的服務,能夠將這種優先級映射為ATM內核中QoS功能的工具是非常重要的。
 使用ATM端口適配器(PA)-A3的Cisco         7200和7500能夠將IP等級(每種等級擁有自己的WRED丟棄閾值)集體映射到前往不同地點的ATM虛擬線路(VC),或以個別方式映射到前往同一目的地的不同ATM         VC。
 在第一種情況下,將只對前往已經擁塞的VC/目的地對的流執行WRED丟棄,而不是對所有的流執行WRED丟棄。假如沒有這一功能,WRED算法將會不必要地對流經一個VC前往未擁塞目的地的通信流執行丟棄操作,WRED以前只有在整個ATM接口出現擁塞時才對此進行檢測,而不是在VC級出現擁塞時進行檢測。
                         
                           
            圖21 智能數據包丟棄                    
      
 在后一種情況下,個體WRED閾值被映射到相同地點之間的多個ATM         VC,使治理員能夠為運載IP優先級各個等級通信流的VC定義ATM服務(如可變位速率[VBR]和未定位速率[UBR]或在多協議標簽交換中定義的等級)。
 在Cisco         QoS映射到ATM解決方案的下一個階段,將為每VC提供WFQ,這將使WFQ算法能夠對每VC進行帶寬治理。新興起的ATM通信流等級,如幀速率擔保(GFR)以及加權UBR(UBRw),將作為治理選項被加入。此外,通過使用ATM的可用位速率(ABR)機制,可以將一組完整的WRED閾值映射到一個VC,以提供擁塞反饋功能,最終將可以提供一個近于無損的內核和VC數減少的選項。
 今天,您還可以使用ATM         PA-A3將Cisco 7200和7500中的非凡RSVP通信流指定給ATM SVC。非凡地,對于跨ATM網絡的通信流,RSVP保留可以被映射到動態創建的VBR         ATM交換虛擬線路(SVC)。
                           
 使用以上的映射功能,         可以確保IP路由器上定義和實現的QoS政策不會被忽略。
 總而言之,Cisco         Systems提供了一個全面的QoS工具箱。通過這些工具可以對通信流進行分類/標記/染色或排隊/時序計劃,從而提供了對擁塞進行治理的能力。假如以擁塞先占為目標,則可以通過一些工具來避免適應流/非適應流的擁塞。假如要解決的問題是SLA一致性,則企業客戶/ISP客戶可以通過一些工具對通信流進行政策制訂/整形,以使其符合已達成協議的SLA。假如要解決的問題是信令/進入控制,Cisco         IOS軟件提供的工具能夠將QoS以信號的方式通知網絡。最終,可以通過一些工具治理實時通信流(如語音)的鏈路效率。
 無論是需要在園區網中實現QoS還是需要在WAN中實現QoS,無論Layer         2介質是ATM還是幀中繼-用戶都無須擔心,Cisco IOS軟件可以使所有這些內容透明化,而且用戶能夠將自己的計劃限制到Layer 3 QoS為止,無論下面的Layer         2機制如何,都可以實現端對端的透明運行。
新聞熱點
疑難解答