關(guān)鍵業(yè)務(wù)服務(wù)保證技術(shù)QoS理論和實踐
什么是QoS
QoS(Quality of Service,服務(wù)質(zhì)量)是指管理數(shù)據(jù)流量以減少網(wǎng)絡(luò)上的數(shù)據(jù)包丟失、延遲和抖動的服務(wù)保證技術(shù)。QoS通過為網(wǎng)絡(luò)上特定類型的數(shù)據(jù)設(shè)置差異的優(yōu)先級來控制和管理網(wǎng)絡(luò)資源。如果沒有QoS,網(wǎng)絡(luò)數(shù)據(jù)可能變得雜亂無章,在網(wǎng)絡(luò)帶寬阻塞情況下,數(shù)據(jù)的完整性和安全性有可能受到損壞,甚至?xí)霈F(xiàn)網(wǎng)絡(luò)完全中斷情況。QoS技術(shù)本身不會給網(wǎng)絡(luò)增加帶寬,而是在網(wǎng)絡(luò)中有限的帶寬資源下,如何平衡地在網(wǎng)絡(luò)中為各種業(yè)務(wù)分配帶寬,針對各種業(yè)務(wù)流量的業(yè)務(wù)價值需求,為其提供服務(wù)質(zhì)量保證。換句話說,網(wǎng)絡(luò)在一定時間內(nèi)只能傳輸這么多信息。因此,QoS 工具以某種方式對數(shù)據(jù)包進行優(yōu)先級排序,以確保在固定時間內(nèi)使用帶寬來提供可能的最佳服務(wù)。
QoS好處
QoS 它保證企業(yè)網(wǎng)絡(luò)中運行的應(yīng)用程序的可用性,通過部署QoS來滿足關(guān)鍵業(yè)務(wù)、實時語音、視頻等敏感應(yīng)用的流量要求,使網(wǎng)絡(luò)提供安全、高效的數(shù)據(jù)傳輸,并防止因數(shù)據(jù)包丟失、延遲、抖動而導(dǎo)致的質(zhì)量下降。通過部署QoS讓網(wǎng)絡(luò)現(xiàn)有帶寬資源得到有效合理利用,而不是一味的投入成本去升級網(wǎng)絡(luò)基礎(chǔ)設(shè)施來擴展網(wǎng)絡(luò)帶寬。具體的好處包括:關(guān)鍵業(yè)務(wù)應(yīng)用程序可以得到它所需要的資源、網(wǎng)絡(luò)管理員可以更好地管理網(wǎng)絡(luò)中的流量、企業(yè)消除升級基礎(chǔ)設(shè)施的需要來降低成本、用戶的體驗得到改善。
QoS通常運用場景
企業(yè)的廣域網(wǎng)通過租用運營商專線連接總部與各地分支機構(gòu),并配備冗余線路來提高網(wǎng)絡(luò)可用性,由于運營商專線普遍采用帶寬計價模式,所以廣域網(wǎng)日常運營成本高昂。同時根據(jù)業(yè)務(wù)管理需要,企業(yè)一般會對廣域網(wǎng)承載的流量進行管理和劃分,一般會劃分為語音、視頻、生產(chǎn)、辦公、測試、大數(shù)據(jù)傳輸?shù)榷鄠€類似類型。由于廣域網(wǎng)不同流量的業(yè)務(wù)價值不同,網(wǎng)絡(luò)管控的要求不同,流量特點各異,對延時和帶寬要求也各不相同;如何能夠在廣域網(wǎng)線路上合理的規(guī)劃和分配線路資源,這時就需要使用QoS進行針對性的業(yè)務(wù)保障和管控。
QoS度量參數(shù)
企業(yè)可以通過使用多個參數(shù)來定量測量,為關(guān)鍵業(yè)務(wù)提供服務(wù)保證,使其達到預(yù)期的服務(wù)水平,參數(shù)包括如下:
?丟包率:這是數(shù)據(jù)包在網(wǎng)絡(luò)傳輸過程中丟失報文的百分比,當(dāng)網(wǎng)絡(luò)鏈路發(fā)生擁塞并且路由器和交換機開始丟棄數(shù)據(jù)包時,就產(chǎn)生了丟包率。當(dāng)隊列或等待發(fā)送的數(shù)據(jù)包溢出時,數(shù)據(jù)包被丟棄。數(shù)據(jù)包如果在實時通信(例如語音或視頻通話)期間丟失,語音可能會出現(xiàn)不清晰、不連貫,視頻可能會出現(xiàn)卡頓、失幀等。
?抖動:這是網(wǎng)絡(luò)擁塞、定時漂移和路由更改的結(jié)果。過多的抖動會降低語音和視頻通信的質(zhì)量。
?延遲:這是數(shù)據(jù)包從源到目的地所需的時間,延遲應(yīng)盡可能的小,如果IP語音呼叫有大量延遲,用戶可能會感覺到回聲和重疊音頻情況。
?帶寬:這是網(wǎng)絡(luò)通信鏈路在給定時間內(nèi)將最大量的數(shù)據(jù)從一個點傳輸?shù)搅硪粋€點的能力。QoS 通過管理帶寬和為具有更嚴(yán)格性能要求的高優(yōu)先級應(yīng)用程序提供比其他應(yīng)用程序更多的資源來優(yōu)化網(wǎng)絡(luò)性能。
?平均意見得分 ( MOS ): 這是使用五分制對語音質(zhì)量進行評級的指標(biāo),五分表示最高質(zhì)量。
QoS三種服務(wù)模型
網(wǎng)絡(luò)應(yīng)用都是端到端的通信,兩個主機進行通信,中間可能要跨越多個物理網(wǎng)絡(luò),經(jīng)過多個路由器,要實現(xiàn)端到端的QoS,就必須從全局考慮。QoS的服務(wù)模型就是研究采用什么模式實現(xiàn)全局的服務(wù)質(zhì)量保證。
?盡力而為服務(wù)模型(Best-Effort):最簡單的QoS服務(wù)模型,網(wǎng)絡(luò)中所有數(shù)據(jù)包都是相同的優(yōu)先級,網(wǎng)絡(luò)盡最大努力來發(fā)送報文,但并不保證數(shù)據(jù)包的交付;當(dāng)網(wǎng)絡(luò)中未配置 QoS 策略或基礎(chǔ)設(shè)施不支持 QoS 時,業(yè)務(wù)流量將在 Best Effort中傳輸。
?綜合服務(wù) (IntServ):IntServ模型是指應(yīng)用程序在發(fā)送報文前,需要通過信令(signaling)向網(wǎng)絡(luò)描述它的流量參數(shù),申請?zhí)囟ǖ腝oS服務(wù)。IntServ模式是在網(wǎng)絡(luò)上的特定路徑保留帶寬。應(yīng)用程序向網(wǎng)絡(luò)請求資源預(yù)留,網(wǎng)絡(luò)設(shè)備監(jiān)控數(shù)據(jù)包流以確保網(wǎng)絡(luò)資源可以交付數(shù)據(jù)包。實施 IntServ 需要支持 IntServ 的路由器,并使用資源預(yù)留協(xié)議 ( RSVP ) 進行網(wǎng)絡(luò)資源預(yù)留。但IntServ可擴展性有限,對網(wǎng)絡(luò)資源消耗大。
?差異化服務(wù) ( DiffServ ):DiffServ模型的是將網(wǎng)絡(luò)中的流量分成多個類,每個類享受不同的處理,尤其是網(wǎng)絡(luò)出現(xiàn)擁塞時不同的類會享受不同的優(yōu)先處理,從而得到不同的丟棄率、時延以及時延抖動。例如,可以為語音流量分配比其他類型流量更高的優(yōu)先級,使用差分服務(wù)代碼點 (DSCP) 為數(shù)據(jù)包分配優(yōu)先級以進行分類。與Intserv模型相比,DiffServ模型不需要信令。在DiffServ模型中,應(yīng)用程序發(fā)出報文前,不需要預(yù)先向網(wǎng)絡(luò)提出資源申請,而是通過設(shè)置IP報文頭部的QoS參數(shù)信息,來告知網(wǎng)絡(luò)節(jié)點它的QoS需求。網(wǎng)絡(luò)不需要為每個流維護狀態(tài),而是根據(jù)每個報文流指定的QoS參數(shù)信息來提供服務(wù),對報文的服務(wù)等級劃分,有差別地進行流量控制和轉(zhuǎn)發(fā),提供端到端的QoS保證。
QoS機制
某些 QoS 機制可以管理數(shù)據(jù)流量質(zhì)量并維護 SLA 中指定的 QoS 要求。QoS 機制屬于特定類別,具體取決于它們在管理網(wǎng)絡(luò)中所扮演的角色。
?分類和標(biāo)記:區(qū)分應(yīng)用程序并將數(shù)據(jù)包分類為不同的流量類型,將每個數(shù)據(jù)包指示為網(wǎng)絡(luò)類別的成員,識別流量并對其進行標(biāo)記,以確保其他網(wǎng)絡(luò)設(shè)備可以識別并確定其優(yōu)先級。分類和標(biāo)記在路由器、交換機和接入點等網(wǎng)絡(luò)設(shè)備上實現(xiàn),一般在網(wǎng)絡(luò)設(shè)備入方向配置。
?擁塞管理:使用數(shù)據(jù)包分類和標(biāo)記來確定將數(shù)據(jù)包放入哪個隊列,擁塞管理工具包括優(yōu)先級隊列、先進先出和低延遲隊列。
?擁塞避免:監(jiān)控網(wǎng)絡(luò)流量的擁塞情況,并在發(fā)生擁塞時丟棄低優(yōu)先級的數(shù)據(jù)包。擁塞避免包括加權(quán)隨機檢測(WRED)和隨機早期檢測(RED),其中WRED為丟棄低優(yōu)先級數(shù)據(jù)流以保護高優(yōu)先級數(shù)據(jù)免受網(wǎng)絡(luò)擁塞的影響。
?流量整形:與擁塞避免類似,區(qū)別于將超額流量排入緩沖區(qū)而不是完全丟棄它們。流量整形一般優(yōu)先考慮實時應(yīng)用程序而不是相對于時間敏感度較低的應(yīng)用程序,例如電子郵件和消息傳遞。流量整形工具包括緩沖區(qū)、通用流量整形和幀中繼流量整形。
QoS部署位置及方向
針對限速策略,應(yīng)該盡可能的部署在流量始發(fā)地最近的入方向。針對保障策略,QoS應(yīng)部署在流量出接口的出方向。對于雙向流量,需要在出方向線路的兩端設(shè)備分別部署QoS;對于單向數(shù)據(jù)傳輸流量,可僅在數(shù)據(jù)傳輸出口方向部署QoS。
流量分類基本原則
QoS分為保障類和限制類。對關(guān)鍵、重要業(yè)務(wù)流量,對時延敏感的重要流量,應(yīng)使用保障類隊列,即在鏈路流量擁塞時,保障隊列中的流量可在一定限度內(nèi)優(yōu)先轉(zhuǎn)發(fā)。流量大重要性高的業(yè)務(wù)應(yīng)對其進行滿足業(yè)務(wù)需求帶寬保證加限制。流量大且重要性低的業(yè)務(wù)流量應(yīng)對其進行限制,以避免其對非保障隊列里的其他流量造成影響。
常見QoS類型
?優(yōu)先級隊列(PQ)會先服務(wù)高優(yōu)先級的隊列,高優(yōu)先級子隊列里沒有數(shù)據(jù)后,再服務(wù)中等優(yōu)先級子隊列,依次類推。如果PQ正在服務(wù)中等優(yōu)先級子隊列,但是高優(yōu)先級里又來了數(shù)據(jù)包,則PQ會中斷中等優(yōu)先級子隊列的服務(wù),轉(zhuǎn)而服務(wù)高優(yōu)先級子隊列。每一個子隊列都有一個最大隊列深度,如果達到了最大隊列深度,則進行尾丟棄。PQ的最大缺點是低優(yōu)先級隊列會被“餓死”,因為只有高優(yōu)先級隊列里有數(shù)據(jù),PQ就不會服務(wù)低優(yōu)先級隊列。因此在流量簡單且優(yōu)先級明確的情況下,可以謹(jǐn)慎使用此種方式;在復(fù)雜流量線路上應(yīng)盡量避免使用PQ,若需要使用PQ可以結(jié)合限速來保證其他隊列流量的傳輸。
?基于類的加權(quán)公平隊列(CBWFQ)通常使用ACL定義數(shù)據(jù)流類別,并將注入寬帶和隊列限制等參數(shù)應(yīng)用于這些類別。CBWFQ是網(wǎng)絡(luò)中的一種隊列配置方案,其允許通信基于標(biāo)準(zhǔn)分類。CBWFQ能夠給不同的類保障一定的帶寬,對傳統(tǒng)的WFQ(加權(quán)公平隊列)作了擴展支持用戶自己定義流量的分類,隊列的個數(shù)和類別是一一對應(yīng),給每個class保留帶寬。CBWFQ使用較為靈活,可以由管理員對流量進行靈活分類。
?低延遲隊列(LLQ)為基于類別的加權(quán)公平排隊(CBWFQ)提供絕對優(yōu)先排隊功能,減少了語音會話的抖動。LLQ相當(dāng)于CBWFQ加上一個嚴(yán)格優(yōu)先級隊列,該隊列優(yōu)先級高于其他所有隊列,非常適合時延敏感性應(yīng)用。LLQ的嚴(yán)格優(yōu)先級隊列是一個有最小保證帶寬的優(yōu)先級隊列,出現(xiàn)擁塞時,該隊列的數(shù)據(jù)量不能超過所允許的帶寬,否則會被丟棄。LLQ最大優(yōu)勢是可以為時延和抖動敏感型應(yīng)用的流量提供一個或多個有帶寬保證的嚴(yán)格優(yōu)先級隊列,LLQ并不局限于特定平臺或傳輸介質(zhì)。在有語音、視頻傳輸?shù)逆溌飞?,可以考慮使用此種隊列。
?流量限制,需要進行速度限制的流量,大多在Best-effort隊列中,當(dāng)然也可新建隊列,并對整個隊列進行速度限制。對于不重要且流量大的數(shù)據(jù)流,需要進行限制處理,即使鏈路空閑,該部分流量也會被限制。該部分流量可降低其優(yōu)先級,或提高其丟棄優(yōu)先級。
QoS部署注意事項
?PQ隊列存在“餓死”的可能性,應(yīng)謹(jǐn)慎選擇或配合流量限制使用,由于PQ隊列優(yōu)先級最高,配置PQ隊列后,其他隊列都需要給它讓路,這樣容易造成其他隊列被“餓死”,在配置時因充分考慮或選擇配合流量限制進行使用。
?網(wǎng)絡(luò)協(xié)議流量(一般默認高優(yōu)先級隊列)、監(jiān)控流量應(yīng)予以保障,否則可能會因網(wǎng)絡(luò)協(xié)議流量擁塞造成鄰居中斷,或監(jiān)控流量擁塞造成監(jiān)控失效或誤報。
?部署QoS時應(yīng)根據(jù)需求從全局視角去規(guī)劃帶寬,并選擇合適的模型,保障QoS設(shè)計的帶寬小于實際使用帶寬;針對復(fù)雜且關(guān)鍵的網(wǎng)絡(luò)節(jié)點部署QoS,建議能在測試環(huán)境中通過打流測試,驗證策略的可用性。
?部署QoS應(yīng)考慮鏈路中斷造成的流量切換。例如鏈路A上部署的QoS,也應(yīng)部署在其備份鏈路上??紤]到實際流量情況,在備份鏈路部署的QoS可以不同于主鏈路的QoS,但保障關(guān)鍵、重要業(yè)務(wù)的總原則不應(yīng)改變。
?網(wǎng)絡(luò)管理員應(yīng)定期對QoS策略進行重檢,應(yīng)定期與應(yīng)用管理員梳理所有應(yīng)用系統(tǒng)的行為,并按照梳理結(jié)果對QoS策略進行調(diào)整或增減。
?在網(wǎng)絡(luò)設(shè)備上提前部署限速策略并制定操作工具箱,當(dāng)網(wǎng)絡(luò)中突然出現(xiàn)大流量數(shù)據(jù)傳輸時,可以通過工具箱快速將其放入限制策略中,來避免網(wǎng)絡(luò)告警。
QoS的配置實例
?華為路由器
l 入向限制策略 //流定義 acl name AAA //流分類,匹配定義流 traffic classifier AAA AAA //流行為,限制多少帶寬 traffic behavior AAA xxxxx kbps //流行為,限制多少帶寬 traffic policy AAA AAA behavior AAA //鏈路入接口調(diào)用 interface x/x/x AAA inbound l 出向QOS保障策略 //流定義 acl name AAA advance //流分類,匹配定義流,允許匹配多個ACL流 traffic classifier AAA AAA //流行為,標(biāo)記DSCP traffic behavior AAA af42 //流策略關(guān)聯(lián) traffic policy IN-QUEUE classifier AAA behavior AAA //流量入接口調(diào)用流策略標(biāo)記DSCP值 interface IN-QUEUE //流量出接口配置流量調(diào)度策略 interface x/x/x port shaping af4 wfq weight 20 l HQoS分層調(diào)度策略 //流定義 acl name AAA //流分類,匹配定義流,允許匹配多個ACL流 traffic classifier AAA AAA //流行為,標(biāo)記DSCP traffic behavior AAA ef //流策略關(guān)聯(lián) traffic policy IN-QUEUE classifier AAA behavior AAA //流隊列調(diào)度方式 flow-queue BBB queue af4 wfq weight 30 //配置實際鏈路帶寬和隊列調(diào)度綁定 qos-profile CCC xxxx BBB //流量入接口調(diào)用流策略,將流標(biāo)記DSCP值 interface x/x/x traffic-policy IN-QUEUEinbound //如果涉及流量到入接口分類完成后穿過其他鏈路再到出接口調(diào)度情況下需要在穿過的接口配置簡單流分類 interface x/x/x //流量出接口配置流量調(diào)度策略,匹配qos-profil的調(diào)度策略 interface x/x/x CCC outbound xxx |
?思科路由器
l CBWFQ和限速 //定義一個匹配acl-1 acl-2的類 class-map match-all class-1 acl-1 class-map match-all class-2 match access-group name acl-2 //定義一個匹配http協(xié)議的類 class-map match-all class-3 match protocol http //定義一個策略,調(diào)用class-1/2/3,保障和限速,限速超出丟棄 policy-map CBWFQ class class-1 bandwidth classclass-2 bandwidth 1000 class class-3 police cir 1500000 //在接口出方向policy策略 interface x/x service-policy output CBWFQ |
?Juniper
l CBWFQ //為1號板卡1號模塊設(shè)置每端口最大隊列數(shù)為8個 set chassis fpc 1 pic 1 //配置不同地址組 set groups group-1 firewall family inet filter <*> term <*> from source-address x.x.x.x/x set groups group-2 x.x.x.x/x //將不同轉(zhuǎn)發(fā)類別映射至不同隊列 set class-of-service forwarding-classes class class-1 queue-num 1 set class-of-service forwarding-classes class class-2 queue-num 2 //設(shè)置不同地址組的丟棄優(yōu)先級及轉(zhuǎn)發(fā)類別 set firewall family inet filter filter-1 term-1 group-1 set firewall family inet filter filter-1 term-1 set firewall family inet filter filter-1 term-1 then forwarding-class set firewall family inet filter filter-1 term term-1 set firewall family inet filter filter-1 term-2 apply-groups group-2 set firewall family inet filter filter-1 term-2 set firewall family inet filter filter-1 term-2 class-2 set firewall family inet filter filter-1 term-2 //在x/x/x子接口出方向應(yīng)用filter-1 set interfaces unit x filter-1 //建立兩個調(diào)度模板,分別設(shè)置保障帶寬和隊列優(yōu)先級 set class-of-service schedulers scheduler-1 transmit-rate 2m set class-of-service schedulers scheduler-1 set class-of-service schedulers scheduler-2 transmit-rate 3m set class-of-service schedulers scheduler-2 //建立轉(zhuǎn)發(fā)類別與調(diào)度模板的映射 set class-of-service scheduler-maps map-1 forwarding-class class-1 scheduler-1 set class-of-service scheduler-maps map-1 class-2 scheduler-2 //在服務(wù)等級中設(shè)置接口的調(diào)度映射 set class-of-service interfaces x/x/x x map-1 //在服務(wù)等級中設(shè)置接口流量整形速率 set class-of-service interfaces x/x/x x 20m |






















