華爲VRP QoS技術白皮書

QoS及其功能
在傳統的IP網絡中,所有的報文都被無區別的等同對待,每個路由器對所有的報文均採用先入先出(FIFO)的策略進行處理,它盡最大的努力(best-effort)將報文送到目的地,但對報文傳送的可靠性、傳送延遲等性能不提供任何保證。
隨着IP網絡上新應用的不斷出現,對IP網絡的服務質量也提出了新的要求,傳統IP網絡的盡力服務已不能滿足應用的需要。如VoIP業務,如果報文傳送延時太長,將是用戶所不能接受的(相對而言,email和FTP對時間延遲並不敏感),爲Internet提供支持QoS的能力是解決問題的可行方法。
QoS旨在針對各種應用的不同需求,爲其提供不同的服務質量,例如:提供專用帶寬、減少報文丟失率、降低報文傳送時延及時延抖動等。爲實現上述目的,QoS提供了下述功能:
報文分類和着色
避免和管理網絡擁塞
流量監管和流量整形
QoS信令協議
下面的例子講述了網絡發生擁塞時,報文在無QoS保證和有QoS保證網絡中的不同處理過程。
圖1所示爲發生擁塞時,網絡設備的一個接口在不支持QoS的情況下,報文的發送情況:
 
圖1先進先出隊列示意圖
所有要從該接口輸出的報文,按照到達的先後順序進入接口的FIFO隊列尾部,而接口在發送報文時,從FIFO隊列的頭部開始,依次發送報文,所有的報文在發送過程中,沒有任何區別,也不對報文傳送的質量提供任何保證。
圖2則是一個用PQ隊列來支持QoS的報文發送情況:
 
圖2PQ隊列示意圖
在報文到達接口後,首先對報文進行分類,然後按照報文所屬的類別讓報文進入所屬隊列的尾部,在報文發送時,按照優先級,總是在所有優先級高的隊列發送完畢後,再發送低優先級隊列中的報文。這樣在每次發送報文時,總是將優先級高的報文先發出去,保證了屬於較高優先級隊列的報文有非常低的時延,其報文的丟失率和通過率這兩個性能指標在網絡擁塞時也可以有一定的保障。
QoS可以控制各種網絡應用和滿足各種網絡應用要求,如:
1.控制資源。如可以限制骨幹網上FTP使用的帶寬,也可以給數據庫訪問以較高優先級。
2.可裁剪的服務。對於一個ISP,其用戶可能傳送語音、視頻或其他實時業務,QoS使ISP能區分這些不同的報文,併爲他們提供不同的服務。
3.多種需求並存,可以爲時間敏感的多媒體業務提供帶寬和低時延保證,而其他業務在使用網絡時,也不會影響這些時間敏感的業務。
在一個網絡中,需要以下的三個部分來完成端到端的QoS:
1.各網絡元件(路由器、以太網交換機等)支持QoS,提供隊列調度、流量整形等功能。
2.信令技術來協調端到端之間的網絡元件爲報文提供QoS。
3.QoS控制和管理端到端之間的報文在一個網絡上的發送。
而每個網絡元件提供如下功能:
1.報文分類,對不同類別的報文提供不同的處理。
2隊列管理和調度來滿足不同應用要求的不同服務質量。
3流量監管和流量整形限制和調整報文輸出的速度。
4Admission control來確定是否允許用戶信息流使用網絡資源。
服務模型
服務模型,是指一組端到端的QoS功能,通常QoS提供以下三種服務模型:
1.Best-Effort service
2.Integrated service(Intserv)
3.Differentiated service(Diffserv)
Best-Effort service
Best-Effort是一個單一的服務模型,也是最簡單的服務模型。應用程序可以在任何時候,發出任意數量的報文,而且不需要事先獲得批准,也不需要通知網絡。對Best-Effort服務,網絡盡最大的可能性來發送報文,但對時延、可靠性等性能不提供任何保證。 Best-Effort服務是現在Internet的缺省服務模型,它適用於絕大多數網絡應用,如FTP、EMAIL等,它通過先入先出(FIFO)隊列來實現。
Integrated service
Integrated service是一個綜合服務模型,它可以滿足多種QoS需求。這種服務模型在發送報文前,需要向網絡申請特定的服務。這個請求是通過信令(signal)來完成的,應用程序首先通知網絡它自己的流量參數和需要的特定服務質量請求,包括帶寬、時延等,應用程序一般在收到網絡的確認信息,即確認網絡已經爲這個應用程序的報文預留了資源後,纔開始發送報文。同時應用程序發出的報文應該控制在流量參數描述的範圍以內。
網絡在收到應用程序的資源請求後,執行資源分配檢查(Admission control),即基於應用程序的資源申請和網絡現有的資源情況,判斷是否爲應用程序分配資源。一旦網絡確認爲應用程序的報文分配了資源,則只要應用程序的報文控制在流量參數描述的範圍內,網絡將承諾滿足應用程序的QoS需求。而網絡將爲每個流(flow,由兩端的IP地址、端口號、協議號確定)維護一個狀態,並基於這個狀態執行報文的分類、流量監管(policing)、排隊及其調度,來實現對應用程序的承諾。
傳送QoS請求的信令是RSVP(資源預留協議),它通知路由器應用程序的QoS需求。
Integrated service可以提供以下兩種服務:
1.保證服務(Guaranteed service) 它提供保證的帶寬和時延限制來滿足應用程序的要求。如VoIP應用可以預留10M帶寬和要求不超過1秒的時延。
2.負載控制服務(Controlled-Load service) 它保證即使在網絡過載(overload)的情況下,能對報文提供近似於網絡未過載類似的服務,即在網絡擁塞的情況下,保證某些應用程序的報文低時延和高通過。
Differentiated service
Differentiated service是一個多服務模型,它可以滿足不同的QoS需求。與Integrated service不同,它不需要信令,即應用程序在發出報文前,不需要通知路由器。對Differentiated service,網絡不需要爲每個流維護狀態,它根據每個報文指定的QoS,來提供特定的服務。可以用不同的方法來指定報文的QoS,如IP包的優先級位(IP Precedence),報文的源地址和目的地址等。網絡通過這些信息來進行報文的分類、流量整形、流量監管和排隊。
Differentiated service一般用來爲一些重要的應用提供端到端的QoS。它通過下列技術來實現:
CAR:它根據IP包的優先級或QoS組來進行報文分類。CAR也完成報文的度量和流量監管。
隊列技術:WRED、PQ、CQ、WFQ、CBWFQ等隊列技術對擁塞的報文進行緩存和調度,實現隊列管理。
通常在配置Differentiated service時,邊界路由器通過報文的源地址和目的地址等對報文進行分類,對不同的報文設置不同的IP優先級,而其他路由器只需要用IP優先級來進行報文的分類。
在MPLS上應用Differentiated service用以下兩種方法來解決:
在以太網等MPLS報文中,由於在二層鏈路層和三層網絡層之間有一個墊片(shim),我們可以擴展shim中未用的字段:EXP(包含三個bit),由這幾個位來決定報文的調度及報文丟棄的優先級。
在ATM,FR等網絡中,其MPLS報文沒有shim,可針對FEC(Forwarding Equivalance Class 轉發等價類)和QoS請求的組合來分配標籤,而不同於以前僅針對FEC分配標籤(lable)。這樣在收到一個MPLS報文後,根據收到報文的lable,就可以確定發出報文的lable及報文所要求的服務。
Intserv與Diffserv之間的互通
一般來講,在提供IP QoS時,爲了實現規模適應性,在IP骨幹網往往需要採用Diffserv體系結構,在IP邊緣網可以有兩種選擇:採用Diffserv體系結構或採用Intserv體系結構。目前在IP邊緣網絡採用哪一種QoS體系結構還沒有定論,也許這兩種會同時並存於IP邊緣網中。在IP邊緣網採用Diffserv體系結構的情況下,IP骨幹網與IP邊緣網之間的互通沒有問題。在IP邊緣網採用Intserv體系結構的情況下,需要解決Intserv與Diffserv之間的互通問題,包括RSVP在Diffserv域的處理方式、Intserv支持的業務與Diffserv支持的PHB (Per Hop Behavior)之間的映射。
RSVP在Diffserv域的處理可以有多種可選擇的方式。例如一種方式爲RSVP對Diffserv域透明,RSVP在Intserv域邊界路由器終結,Diffserv域對Intserv域採用靜態資源提供方式,也就是說,該路由器同時具有Intserv和Diffserv功能,CAC(Connection Admission Control)需要考慮相應業務的SLA(Service Level Agreements);一種方式爲Diffserv域參與RSVP協議處理,Diffserv域對Intserv域採用動態資源提供方式。前一種互通方式實現相對簡單,可能造成Diffserv域資源的浪費,後一種互通方式實現相對複雜,可以優化Diffserv域資源的使用。
在華爲VRP QoS解決方案中,骨幹網採用了Diffserv實現IP QoS,在邊緣網可以根據用戶要求激活Intserv或Diffserv實現IP QoS。在邊緣網採用Intserv、骨幹網採用Diffserv實現IP QoS這種組網結構下,我們採用了靜態資源提供方式實現Intserv與Difffserv的互通。
除此以外,還需要解決Intserv支持的業務與Diffserv支持的PHB之間的映射問題,映射標準爲兩者支持的應用是否相同或相近。爲了說明這個問題我們首先回顧一下Intserv支持的業務,它支持的業務包括:Guaranteed Service、Controlled Load Service,前者可以爲用戶應用提供嚴格的端到端時延及帶寬保證,適用於實時應用;後者在網絡負荷較重的情況下爲用戶應用提供與網絡輕負荷情況下相近似的性能,不能保證端到端的時延。 Diffserv提供的PHB包括:EF(Expedited Forwarding)、AF(Assured Forwarding)。EF用於支持低丟失率、低時延確保帶寬的應用,AF可以保證在應用向網絡發送的業務流量沒有超過約定值的情況下應用的IP包丟失概率非常低,AF有4類,每一類可以設置3個不同的丟棄優先級。從上面的敘述易於獲得Diffserv與Intserv 之間的映射關係:
1.將Intserv中的Guaranteed Service映射爲Diffserv中的EF。
2.將Intserv中的Controlled Load Service 映射爲Diffserv中的AF。
3.華爲公司路由器的QoS採用了上述Intserv支持的業務與Diffserv支持的PHB之間的映射關係。
信令
信令技術給網絡通訊的兩端和網絡的中間節點提供了一種方法,讓它們向相鄰的網絡節點請求對一類報文的特殊處理。QoS的信令協調了端到端通訊的中間節點包括交換機、路由器等爲這個通訊提供服務。
信令技術包括兩種,即帶內(in-band)和帶外(out-band)信令技術。帶內信令使用的是IP優先級,通過每個IP包攜帶的IP優先級,通知網絡節點爲這個報文提供相應服務。帶外信令則是通過一個獨立的協議RSVP,來爲不同的報文流申請網絡資源。IP優先級和RSVP協議爲端到端的QoS信令提供了靈活的解決方案。IP優先級這種信令應用於Differentiated service,RSVP則應用於integrated service。
RSVP簡介
RSVP是第一個標準QoS信令協議,它用來動態地建立端到端的QoS,它允許應用程序動態地申請網絡帶寬等。RSVP協議不是一個路由協議,相反,它按照路由協議規定的報文流的路徑爲報文申請預留資源,在路由發生變化後,它會按照新路由進行調整,並在新的路徑上申請預留資源。RSVP只是在網絡節點之間傳遞QoS請求,它本身不完成這些QoS的要求實現,而是通過其他技術如WFQ等來完成這些要求的實現。
RSVP的處理是接收方發出資源請求,按照報文發送的反向路徑發送資源請求,所以它可以滿足非常大的多播組,多播組的成員也可以動態變化。RSVP協議是針對多播設計的,單播可以看作是多播的一個特例。
由於RSVP在Internet上還沒有得到廣泛的推廣,在主機不支持RSVP的情況下,我們可以通過配置RSVP代理,即代替不支持RSVP的主機發送RSVP報文來獲得這種服務。對報文流路徑上不支持RSVP的路由器,它只需要簡單的轉發RSVP報文,所以對RSVP協議不會有太大影響,但這些節點不會對報文提供所要求的QoS。
資源預留
RSVP信令在網絡節點之間傳送資源請求,而網絡節點在收到這些請求後,需要爲這些請求分配資源,這就是資源預留。網絡節點比較資源請求和網絡現有的資源,確定是否接受請求,在資源不夠的情況下,這個請求可以被拒絕。
可以對每個資源請求設置不同的優先級,這樣,優先級較高的資源請求可以在網絡資源不夠的情況下,搶佔較低優先級的預留資源,來優先滿足高優先級的資源請求。
資源預留判斷是否接受資源請求,並承諾對接受了的資源請求提供請求的服務。但資源預留本身不實現承諾的服務,需要通過隊列等其他技術來實現。
Quidway系列路由器的QoS特性及相關技術
華爲公司Quidway系列路由器均以VRP爲軟件平臺,VRP的QoS具有以下特性:
1.報文分類
2.擁塞管理
3.擁塞避免
4.流量監管和流量整形
5.物理接口總速率限制
分類
報文分類是將報文劃分爲多個優先級或多個服務類,如使用IP報文頭的TOS字段(Type of service)的前三位(即優先權子字段),可以將報文最多分成八類。在報文分類後,就可以將其它的QoS特性應用到不同的分類,如擁塞管理、帶寬分配等。
網絡管理者可以設置報文分類的策略,這個策略可以包括物理接口、源地址、目的地址、MAC地址、IP協議或應用程序的端口號等。一般的分類算法都侷限在IP報文的頭部,鏈路層(Layer 2)、網絡層(layer 3)、甚至傳輸層(layer 4)。使用報文的內容作爲分類的標準是比較少見的。分類的結果是沒有範圍限制的,它可以是一個由五元組(源地址、源端口號、協議號碼、目的地址、目的端口號)確定的流這樣狹小的範圍,也可以是到某某網段的所有報文。
報文分類使用如下技術:ACL和IP優先級。
一般在網絡的邊界,使用ACL來進行報文的分類,如以下分類:
1.所有的HTTP的報文置爲最低的優先級
2.某指定接口收到的報文置爲最高優先級
一般在網絡邊界,對報文進行分類時,同時設置報文的IP頭的TOS字段的前三位作爲報文的IP優先級,這樣,在網絡的內部就可以簡單的使用IP優先級作爲分類的標準。而隊列技術如WFQ就可以使用這個優先級來對報文進行不同的處理。下游(downstream)網絡可以選擇接收上游(upstream)網絡的分類結果,也可以按照自己的分類標準重新進行分類。
擁塞管理
什麼是擁塞和擁塞管理
 
圖3網絡擁塞示意圖
在計算機數據通信中,通信信道是被多個計算機共享的,並且,廣域網的帶寬通常要比局域網的帶寬小,這樣,當一個局域網的計算機向另一個局域網的計算機發送數據時,由於廣域網的帶寬小於局域網的帶寬,數據將不可能按局域網發送的速度在廣域網上傳輸。此時,處在局域網和廣域網之間的路由器將不能發送一些報文,即網絡發生了擁塞。
如圖3所示,當公司局域網1向公司局域網2以10M的速度發送數據時,將會使路由器1的串口s1發生擁塞。
擁塞管理是指網絡在發生擁塞時,如何進行管理和控制。處理的方法是使用隊列技術。將所有要從一個接口發出的報文 進入多個隊列,按照各個隊列的優先級進行處理。不同的隊列算法用來解決不同的問題,併產生不同的效果。常用的隊列有FIFO、PQ,CQ,WFQ等。
擁塞管理的處理包括隊列的創建、報文的分類、將報文送入不同的隊列、隊列調度等。在一個接口沒有發生擁塞的時候,報文在到達接口後立即就被髮送出去,在報文到達的速度超過接口發送報文的速度時,接口就發生了擁塞。擁塞管理就會將這些報文進行分類,送入不同的隊列;而隊列調度對不同優先級的報文進行分別處理,優先級高的報文會得到優先處理。
擁塞管理技術
對於擁塞的管理,一般採用排隊的技術,使得報文在路由器中按一定的策略暫時排隊,然後再按一定的調度策略把報文從隊列中取出,在接口上發送出去。根據排隊和出隊策略的不同,擁塞管理分爲以下幾種:
先進先出隊列(First In First Out Queueing, FIFO)
 
圖4 先進先出隊列示意圖
如圖4所示,先進先出隊列(以後簡稱FIFO)不對報文進行分類,當報文進入接口的速度大於接口能發送的速度時,FIFO按報文到達接口的先後順序讓報文進入隊列,同時,FIFO在隊列的出口讓報文按進隊的順序出隊,先進的報文將先出隊,後進的報文將後出隊。
在如圖3所示的網絡圖中,假設局域網1的服務器向局域網2的服務器發送關鍵業務的數據,局域網1的PC向局域網2的PC發送非關鍵業務的數據,則FIFO不會對這兩種不同業務的報文做任何區別對待,報文的出隊完全依賴於報文到來的先後順序。
優先隊列(Priority Queueing, PQ)

圖5 優先隊列示意圖
如圖5所示,優先隊列(以後簡稱PQ)對報文進行分類,將所有報文分成最多至4類,分別屬於PQ的4個隊列中的一個,然後,按報文的類別將報文送入相應的隊列。PQ的4個隊列分別爲高優先隊列、中優先隊列、正常優先隊列和低優先隊列,它們的優先級依次降低。在報文出隊的時候,PQ首先讓高優先隊列中的報文出隊併發送,直到高優先隊列中的報文發送完,然後發送中優先隊列中的報文,同樣,直到發送完,然後是正常優先隊列和低優先隊列。這樣,分類時屬於較高優先級隊列的報文將會得到優先發送,而較低優先級的報文將會在發生擁塞時被較高優先級的報文搶先,使得關鍵業務(如ERP)的報文能夠得到優先處理,非關鍵業務(如E-Mail)的報文在網絡處理完關鍵業務後的空閒中得到處理,既保證了關鍵業務的優先,又充分利用了網絡資源。
在如圖3所示的網絡圖中,假設局域網1的服務器向局域網2的服務器發送關鍵業務的數據,局域網1的PC向局域網2的PC發送非關鍵業務的數據,如果對路由器1的串口1配置PQ進行擁塞管理,同時配置服務器間的數據流的進入較高優先級的隊列,PC間的數據流進入較低優先級的隊列,則PQ將對這兩種不同業務的報文做區別對待,首先讓較高優先級隊列中的報文出隊併發送,直到此隊列中的報文發送完,然後再發送較低優先級隊列中的報文。即服務器間的報文總是被先發送,直到暫時沒有服務器間的報文,路由器才發送PC間的報文
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章