一齐蔽、QoS背景
業(yè)務(wù)流量多樣化導(dǎo)致互聯(lián)網(wǎng)流量激增,從而使得網(wǎng)絡(luò)擁堵床估、數(shù)據(jù)丟包含滴、轉(zhuǎn)發(fā)延時(shí)甚至業(yè)務(wù)不可用。從運(yùn)營維護(hù)成本考慮丐巫,需要一個(gè)對網(wǎng)絡(luò)流量進(jìn)行進(jìn)行管理的策略谈况。
二、影響網(wǎng)絡(luò)業(yè)務(wù)的因素舉例
- 網(wǎng)絡(luò)帶寬:網(wǎng)絡(luò)帶寬是指單位時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)量递胧。
- 時(shí)延:傳輸時(shí)延碑韵,一個(gè)數(shù)據(jù)位從從發(fā)送方到達(dá)接收方所需要的時(shí)間,取決于傳輸介質(zhì)缎脾,與帶寬無關(guān)祝闻;串行化時(shí)延,指發(fā)送節(jié)點(diǎn)在傳輸鏈路上開始發(fā)送報(bào)文的第一個(gè)比特至發(fā)完最后一個(gè)比特所需要的時(shí)間赊锚。該時(shí)延取決于帶寬時(shí)延以及報(bào)文大兄瓮病;處理時(shí)延舷蒲,指路由器把報(bào)文從入接口放到出接口所需要的時(shí)間耸袜,跟路由器CPU處理性能有關(guān);隊(duì)列時(shí)延牲平,指報(bào)文在隊(duì)列中等待的時(shí)間堤框。它的大小跟報(bào)文的大小和數(shù)量、帶寬以及隊(duì)列機(jī)制有關(guān)。
- 抖動:預(yù)想的蜈抓,同一帶寬同一傳輸路徑下启绰,數(shù)據(jù)包到達(dá)目的端時(shí)間是一樣的,但是由于種種原因(單獨(dú)路由沟使、網(wǎng)絡(luò)設(shè)備接收)數(shù)據(jù)包到達(dá)目的端的時(shí)間互相不一致委可,這就是抖動。抖動大小跟時(shí)延時(shí)延大小有關(guān)腊嗡,時(shí)延大抖動范圍可能更大着倾。
- 丟包率:流量傳播過程中丟失報(bào)文占傳輸報(bào)文的百分比。
三燕少、QoS三種服務(wù)模型
1. 盡力而為服務(wù)模型(Best-Effort):
用戶可以在任何時(shí)候卡者,發(fā)出任意數(shù)量的報(bào)文,不需要通知網(wǎng)絡(luò)客们。在此服務(wù)模式下崇决,網(wǎng)絡(luò)盡最大的可能來發(fā)送報(bào)文,但是對于時(shí)延底挫、丟包無法保證恒傻。適用于對于對于時(shí)延、丟包要求不高業(yè)務(wù)凄敢,比如FTP碌冶、Email±苑欤可以通過增大帶寬等方式優(yōu)化業(yè)務(wù)。
2. 綜合服務(wù)模型(IntServ):
該服務(wù)模型下譬重,用戶發(fā)送報(bào)文之前拒逮,需要先發(fā)送信令(signaling)向網(wǎng)絡(luò)描述自己的流量參數(shù),申請?zhí)囟ǖ腝oS服務(wù)臀规。根據(jù)網(wǎng)絡(luò)流量參數(shù)滩援,預(yù)留資源以滿足該請求。收到確認(rèn)信息后塔嬉,確定網(wǎng)絡(luò)已為這個(gè)應(yīng)用程序的報(bào)文預(yù)留了資源后玩徊,用戶才開始發(fā)送報(bào)文。用戶發(fā)送的報(bào)文應(yīng)該控制在流量參數(shù)描述的范圍之內(nèi)谨究。網(wǎng)絡(luò)節(jié)點(diǎn)需要為每個(gè)流維護(hù)一個(gè)狀態(tài)恩袱,并基于這個(gè)狀態(tài)執(zhí)行相應(yīng)的Qos動作,滿足對客戶的承諾胶哲。
IntServ模型使用了RSVP(Resource Reservation Protocol)協(xié)議作為信令畔塔,在一條已知路徑的網(wǎng)絡(luò)拓?fù)渖项A(yù)留帶寬、優(yōu)先級等資源,路徑沿途的各網(wǎng)元必須為每個(gè)要求服務(wù)質(zhì)量保證的數(shù)據(jù)流預(yù)留想要的資源澈吨,通過RSVP信息的預(yù)留把敢,各網(wǎng)元可以判斷是否有足夠的資源可以使用。只有所有的網(wǎng)元都給RSVP提供了足夠的資源谅辣,“路徑”方可建立修赞。
3. (常用)差分服務(wù)模型(DiffServ):
該服務(wù)模型是將網(wǎng)絡(luò)中的流量分為多個(gè)類,每個(gè)類享受不同的處理桑阶,尤其是網(wǎng)絡(luò)出現(xiàn)擁塞時(shí)不同的類會享受不同級別的處理义屏,從而得到不同的丟包率梳毙、時(shí)延、時(shí)延抖動。同一類的業(yè)務(wù)在網(wǎng)絡(luò)中會被聚合起來同一發(fā)送穴翩,保證相同的時(shí)延、抖動痢艺、丟包率等QoS指標(biāo)赘理。
業(yè)務(wù)流的分類和匯聚工作在網(wǎng)絡(luò)邊緣由邊界節(jié)點(diǎn)完成。邊界節(jié)點(diǎn)可以通過多種條件(比如報(bào)文的源地址和目的地址公壤、ToS域中的優(yōu)先級换可、協(xié)議類型等)靈活地對報(bào)文進(jìn)行分類,對不同的報(bào)文設(shè)置不同的標(biāo)記字段厦幅,而其他節(jié)點(diǎn)只需要簡單地識別報(bào)文中的這些標(biāo)記沾鳄,即可進(jìn)行資源分配和流量控制
與Intserv模型相比,DiffServ模型不需要信令确憨。在DiffServ模型中译荞,應(yīng)用程序發(fā)出報(bào)文前,不需要預(yù)先向網(wǎng)絡(luò)提出資源申請休弃,而是通過設(shè)置報(bào)文的QoS參數(shù)信息吞歼,來告知網(wǎng)絡(luò)節(jié)點(diǎn)它的QoS需求。網(wǎng)絡(luò)不需要為每個(gè)流維護(hù)狀態(tài)塔猾,而是根據(jù)每個(gè)報(bào)文流指定的QoS參數(shù)信息來提供差分服務(wù)篙骡,即對報(bào)文的服務(wù)等級劃分,有差別地進(jìn)行流量控制和轉(zhuǎn)發(fā)丈甸,提供端到端的QoS保證糯俗。DiffServ模型充分考慮了IP網(wǎng)絡(luò)本身靈活性、可擴(kuò)展性強(qiáng)的特點(diǎn)睦擂,將復(fù)雜的服務(wù)質(zhì)量保證通過報(bào)文自身攜帶的信息轉(zhuǎn)換為單跳行為得湘,從而大大減少了信令的工作,是當(dāng)前網(wǎng)絡(luò)中的主流服務(wù)模型祈匙。
四忽刽、基于DiffServ模型的QoS組成
? 報(bào)文分類和標(biāo)記
要實(shí)現(xiàn)差分服務(wù)天揖,需要首先將數(shù)據(jù)包分為不同的類別或者設(shè)置為不同的優(yōu)先級。報(bào)文分類即把數(shù)據(jù)包分為不同的類別跪帝,可以通過MQC配置中的流分類實(shí)現(xiàn)今膊;報(bào)文標(biāo)記即為數(shù)據(jù)包設(shè)置不同的優(yōu)先級,可以通過優(yōu)先級映射和重標(biāo)記優(yōu)先級實(shí)現(xiàn)伞剑。
? 流量監(jiān)管斑唬、流量整形和接口限速
流量監(jiān)管和流量整形可以將業(yè)務(wù)流量限制在特定的帶寬內(nèi),當(dāng)業(yè)務(wù)流量超過額定帶寬時(shí)黎泣,超過的流量將被丟棄或緩存恕刘。其中,將超過的流量丟棄的技術(shù)稱為流量監(jiān)管抒倚,將超過的流量緩存的技術(shù)稱為流量整形褐着。接口限速分為基于接口的流量監(jiān)管和基于接口的流量整形。
? 擁塞管理和擁塞避免
擁塞管理在網(wǎng)絡(luò)發(fā)生擁塞時(shí)托呕,將報(bào)文放入隊(duì)列中緩存含蓉,并采取某種調(diào)度算法安排報(bào)文的轉(zhuǎn)發(fā)次序。而擁塞避免可以監(jiān)督網(wǎng)絡(luò)資源的使用情況项郊,當(dāng)發(fā)現(xiàn)擁塞有加劇的趨勢時(shí)采取主動丟棄報(bào)文的策略馅扣,通過調(diào)整流量來解除網(wǎng)絡(luò)的過載。
五着降、QoS調(diào)度算法
1. 加權(quán)循環(huán)(WRR):
WRR能夠有效區(qū)分隊(duì)列中所有的業(yè)務(wù)差油。對于所有的業(yè)務(wù)流在排隊(duì)等待調(diào)度的隊(duì)列,WRR是根據(jù)每個(gè)隊(duì)列配置的權(quán)值與所有業(yè)務(wù)流在排隊(duì)等待調(diào)度的對列的權(quán)值總和比來分配帶寬任洞。因此蓄喇,在處理多個(gè)用戶的高優(yōu)先級等級業(yè)務(wù)時(shí),WRR確保每個(gè)用戶都不會過度占用帶寬交掏。
2. 嚴(yán)格優(yōu)先級(SP):
SP模式按照優(yōu)先級優(yōu)先級從高到低的次序有限發(fā)送較高優(yōu)先級隊(duì)列中的分組公罕,當(dāng)較高優(yōu)先級隊(duì)列為空時(shí),再發(fā)送較低優(yōu)先級隊(duì)列中的分組耀销。如此,將關(guān)鍵業(yè)務(wù)的分組放入較高優(yōu)先級的隊(duì)列铲汪,將非關(guān)鍵業(yè)務(wù)的分組放入較低優(yōu)先級的隊(duì)列熊尉,可以保證關(guān)鍵業(yè)務(wù)的分組被優(yōu)先傳輸,非關(guān)鍵業(yè)務(wù)的分組在處理關(guān)鍵業(yè)務(wù)數(shù)據(jù)的空閑間隙被傳送掌腰。
六狰住、MQC(Modular QoS Command-Line Interface)
模塊化QoS命令行,可以通過將某種共同共同特征的的報(bào)文劃分為一類齿梁,再為同一類報(bào)文提供相同的服務(wù)催植,或?yàn)椴煌膱?bào)文提供不同的服務(wù).
MQC三要素:
- 流分類:
- 定義流量的匹配規(guī)則肮蛹,對報(bào)文進(jìn)行分類
- 流分類中各規(guī)則之間的關(guān)系 為and或or,默認(rèn)為or
- and:當(dāng)流分類中包含ACL規(guī)則時(shí)创南,報(bào)文必須匹配其中一條ACL規(guī)則以及所有非ACL規(guī)則才屬于該分類伦忠;當(dāng)流分類中沒有ACL規(guī)則時(shí),報(bào)文必須匹配所有非ACL規(guī)則才屬于該類稿辙。
- or:報(bào)文只需要匹配了流分類中的一個(gè)規(guī)則昆码,該設(shè)備就會任務(wù)報(bào)文屬于該類。
- 流行為:用來定義針對某類報(bào)文所做的動作邻储。
- 流策略:將制定的流分類和流行為綁定赋咽,對分類后的報(bào)文執(zhí)行對應(yīng)流行為中定義的動作。
MQC配置流程:
- 配置流分類:按照一定規(guī)則對報(bào)文進(jìn)行分類吨娜,是提供差分服務(wù)的基礎(chǔ)脓匿。
- 配置流行為:為符合流分類規(guī)則的報(bào)文指定流量控制動作。
- 配置流策略:將指定的流分類和指定的流行為綁定宦赠,形成完整的策略陪毡。
- 應(yīng)用流策略:按照需要在相應(yīng)的視圖下應(yīng)用流策略。
七袱瓮、協(xié)議優(yōu)先級字段
為了有針對不同的業(yè)務(wù)提供有差別的QoS服務(wù)缤骨,商定將一些QoS信息記錄在報(bào)文頭中的某些字段下,網(wǎng)絡(luò)中的設(shè)備解析到報(bào)文頭的相應(yīng)字段尺借,根據(jù)字段內(nèi)容確定優(yōu)先級別绊起,根絕報(bào)文對應(yīng)優(yōu)先級為這些報(bào)文提供有差別的服務(wù)。
一. Precedence字段:
IP報(bào)文頭ToS域由8個(gè)比特組成燎斩,其中3個(gè)比特的Precedence字段標(biāo)識了IP報(bào)文的優(yōu)先級
如圖虱歪,網(wǎng)絡(luò)層IPV4報(bào)文頭下的ToS/DiffServ字段,即為QoS優(yōu)先級字段栅表。
1. ToS優(yōu)先級分類:
比特0~2表示Precedence字段笋鄙,代表報(bào)文傳輸?shù)?個(gè)優(yōu)先級,按照優(yōu)先級從高到低順序取值為7怪瓶、6萧落、5、4洗贰、3找岖、2、1和0敛滋。最高優(yōu)先級是7或6许布,經(jīng)常是為路由選擇或更新網(wǎng)絡(luò)控制通信保留的,用戶級應(yīng)用僅能使用0~5绎晃。
- 除了Predecence字段外蜜唾,ToS域中還包括D杂曲、T、R袁余、C三個(gè)比特:
- D比特表示延遲要求(Delay擎勘,0代表正常延遲,1代表低延遲)泌霍。
- T比特表示吞吐量(Throughput货抄,0代表正常吞吐量,1代表高吞吐量)朱转。
- R比特表示可靠性(Reliability蟹地,0代表正常可靠性藤为,1代表高可靠性)怪与。
- C比特表示傳輸開銷(Monetary Cost, 0代表正常開銷,1代表最小開銷)
2. DSCP優(yōu)先級分類:
DSCP是對ToS優(yōu)先級分類的重新定義缅疟,其中0-5位定義為DSCP分别,并且ToS域改為DffServ。DS字段的前6位(0位~5位)用作區(qū)分服務(wù)代碼點(diǎn)DSCP(DS Code Point)存淫,后2位(6位耘斩、7位)是保留位。DS字段的前3位(0位~2位)是類選擇代碼點(diǎn)CSCP(Class Selector Code Point)桅咆,相同的CSCP值代表一類DSCP括授。DS節(jié)點(diǎn)根據(jù)DSCP的值選擇相應(yīng)的PHB(Per-Hop Behavior)。
- DSCP值的兩種表達(dá)形式
- 數(shù)字形式:0-63荚虚。
-
關(guān)鍵字表達(dá)方式:關(guān)鍵字表示DSCP值。
思博倫圖
圖片侵刪
AFxy中籍茧,x代表不同的類別版述,根據(jù)不同的分類后續(xù)可以定義進(jìn)入相對應(yīng)的隊(duì)列,y代表當(dāng)隊(duì)列被裝滿的時(shí)候丟包的概率寞冯,例如AF1類中的報(bào)文渴析,其中丟包概率由小到大排序?yàn)锳F11<AF12<AF13。
不同關(guān)鍵字常用于標(biāo)識不同報(bào)文(可自行定義):
- CS6和CS7默認(rèn)用于協(xié)議報(bào)文吮龄,而且是大多數(shù)廠商設(shè)備的硬件隊(duì)列里最高優(yōu)先級的報(bào)文檬某,因?yàn)槿绻@些報(bào)文無法接收的話會引起協(xié)議中斷。
- EF常用于承載語音的流量螟蝙,因?yàn)檎Z音要求低延遲,低抖動民傻,低丟包率胰默,是僅次于協(xié)議報(bào)文的最重要的報(bào)文场斑。
- AF4用來承載語音的信令流量.
- AF3可以用來承載IPTV的直播流量,直播的實(shí)時(shí)性很強(qiáng)牵署,需要連續(xù)性和大吞吐量的保證漏隐。
- AF2可以用來承載VOD(Videoon Demand:視頻點(diǎn)播)的流量,相對于直播流量來說奴迅,VOD對實(shí)時(shí)性要求沒那么強(qiáng)烈青责,允許有時(shí)延或者緩沖。
- AF1可以用來承載普通上網(wǎng)業(yè)務(wù)取具。
二脖隶、VLAN 802.1P優(yōu)先級:
位于VLAN幀頭的優(yōu)先級字段,常常成為CoS字段暇检,一共3bit产阱。只是簡單的標(biāo)記了業(yè)務(wù)流量的優(yōu)先級,7-0.
三块仆、MPLS EXP字段:
其中EXP域相當(dāng)于VLAN下的CoS域构蹬,7-0
八、內(nèi)外優(yōu)先級映射
設(shè)備不能直接對報(bào)文本身的優(yōu)先級進(jìn)行差分服務(wù)悔据,因此需要將報(bào)文本身的外部優(yōu)先級映射到設(shè)備能夠直接處理的內(nèi)部服務(wù)優(yōu)先級表庄敛。
優(yōu)先級映射實(shí)現(xiàn)從QoS優(yōu)先級到內(nèi)部優(yōu)先級(或者本地優(yōu)先級)或從內(nèi)部優(yōu)先級到QoS優(yōu)先級的映射,并利用DiffServ域來管理和記錄QoS優(yōu)先級和服務(wù)等級之間的映射關(guān)系科汗。對于進(jìn)入設(shè)備的報(bào)文藻烤,設(shè)備將報(bào)文攜帶的優(yōu)先級或者端口優(yōu)先級映射為內(nèi)部優(yōu)先級,然后根據(jù)內(nèi)部優(yōu)先級與隊(duì)列之間的映射關(guān)系確定報(bào)文進(jìn)入的隊(duì)列肛捍,從而針對隊(duì)列進(jìn)行流量整形隐绵、擁塞避免、隊(duì)列調(diào)度等處理拙毫,并可以根據(jù)配置修改報(bào)文發(fā)送出去時(shí)所攜帶的優(yōu)先級依许,以便其他設(shè)備根據(jù)報(bào)文的優(yōu)先級提供相應(yīng)的QoS服務(wù)。
學(xué)習(xí)總結(jié)參考:1. https://blog.csdn.net/qq_38265137/article/details/80466737