溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

服務訪問質(zhì)量(QoS)的工作原理和相關技術

發(fā)布時間:2020-07-11 02:58:06 來源:網(wǎng)絡 閱讀:3043 作者:楊書凡 欄目:網(wǎng)絡管理

   隨著網(wǎng)絡的發(fā)展,互聯(lián)網(wǎng)流量迅速增加,使得網(wǎng)絡產(chǎn)生擁堵,延時增大,有時還會造成丟包現(xiàn)象,導致業(yè)務質(zhì)量下降。那么如何在有限的帶寬上控制不同業(yè)務的流量?這就需要QoS(Quality of Service,服務質(zhì)量)技術了


網(wǎng)絡擁堵的產(chǎn)生

    產(chǎn)生網(wǎng)絡擁堵的兩種常見情況如下(下圖所示):

(1)數(shù)據(jù)從高速端口進入設備,從低速端口轉(zhuǎn)發(fā)出去

(2)流量匯聚,流量從多個端口進入設備,從一個端口轉(zhuǎn)發(fā)出去,并且進入端口速率之和大于轉(zhuǎn)發(fā)接口的速率

服務訪問質(zhì)量(QoS)的工作原理和相關技術

網(wǎng)絡擁堵的影響

(1)報文傳輸延遲、延遲抖動和丟包率增加

(2)由于過高的延遲和丟包導致報文重傳,增加網(wǎng)絡負擔

(3)由于網(wǎng)絡擁塞、報文重傳導致網(wǎng)絡有效吞吐量降低

網(wǎng)絡擁堵的解決方法

(1)提高網(wǎng)絡帶寬

(2)合理利用網(wǎng)絡帶寬,根據(jù)需要使用QoS技術合理分配現(xiàn)有帶寬,降低網(wǎng)絡擁塞的影響


QOS流量管理

    可通過一定的策略控制流量的大小,減少網(wǎng)絡擁堵的出現(xiàn),主要的流量管理技術是承諾訪問速率CAR和流量×××GTS。在實際應用中CAR使用的較多,而GTS使用較少。

流分類與流量管理

(1)流分類

    流分類是進行區(qū)別服務的基礎。流分類可以使用報文的優(yōu)先級,識別不同優(yōu)先級的流量:也可以使用源地址,目的地址,MAC地址、協(xié)議或端口號等信息來識別不同流量。流分類必須與某種流量或帶寬分配的動作關聯(lián)起來才有意義。

(2)流量監(jiān)控

    在對流量進行監(jiān)控時一般可以設定三個參數(shù):

承諾平均速率(CIR):允許流量通過的平均速率

突發(fā)量(Bc):允許突發(fā)產(chǎn)生流量的大小,設置的大小必須大于最大報文長度

額外突發(fā)量(Be):表示超出突發(fā)量后還可以轉(zhuǎn)發(fā)的流量的大小

(3)流量策略

轉(zhuǎn)發(fā)(transmit):對合規(guī)和違規(guī)流量設置策略為轉(zhuǎn)發(fā)

丟棄(drop):對合規(guī)和違規(guī)流量設置策略為丟棄

標記(set):標記報文的優(yōu)先級

(4)流量×××(GTS)

    流量×××是一種調(diào)節(jié)輸出速率的措施,使用緩存來保存違規(guī)流量,所以可以減小丟包率,避免報文重發(fā),增加延時,一般應用在整體流量小,但有時出現(xiàn)突發(fā)流量的環(huán)境中。

服務訪問質(zhì)量(QoS)的工作原理和相關技術

(5)承諾訪問速率(CAR) 

    承諾訪問速率是一種流量控制措施,Bc+Be的大小是允突發(fā)的最大的流量,違規(guī)流量一般會被直接丟棄而不進行轉(zhuǎn)發(fā),增加了丟包率,CAR多用于接入層。

服務訪問質(zhì)量(QoS)的工作原理和相關技術


流量×××與承諾訪問速率的配置

1.流量×××配置

    有以下兩種方式:

(1)基本流量×××配置

Router(config-if)# traffic-shape  rate {CIR[BC[BE]]} [buffer-limit]

  其中,CIR必須配置,Bc可不用配置。buffer-limit表示緩存區(qū)的使用限制,默認為1000(報文數(shù))

(2)基于ACL的流量×××配置

    首先,配置ACL,定義需要×××的流量,在配置以下命令:

Router(config-if)# traffic-shape  group  access-group {CIR[BC[BE]]}

  access-group表示定義的ACL的序號

例如:某路由器的配置命令如下:

Router(config)# access-list 151 permit udp any any
Router(config)# int f0/0
Router(config-if)# traffic-shape rate 1000000
Router(config-if)# int f0/1
Router(config-if)# traffic-shape group 151 1000000 1000000 1000000

(3)查看GTS配置命令

 Router# show traffic-shape f0/0            //查看CTS配置信息
 Router# show traffic-shape statistics f0/0          //查看CTS流量統(tǒng)計信息
 Router# show traffic-shape queue               //查看CTS隊列信息


2.承諾訪問速率配置

    也有以下兩種配置方法:

(1)基本承諾訪問速率配置

Router(config-if)# rate-limit {input|output} {CIR} {burst-nlrmal} {burst-max} conform-action {action} exceed-action {action}

  各參數(shù)含義如下

input|output:針對端口如方向|出方向的流量

CIR:承諾訪問速率(參數(shù)范圍 8000---2000 000 000)

burst-nlrmal:普通突發(fā)量(參數(shù)范圍 1000---512 000 000)

burst-max:最大突發(fā)量(參數(shù)范圍 2000---1024 000 000)

conform-action:對合規(guī)流量進行的操作

exceed-action:對違規(guī)流量進行的操作

action:對相應流量進行的操作(drop丟棄transmit轉(zhuǎn)發(fā) set標記 )

案例1:配置限速流量8Mb/s,最大突發(fā)量4000,符合流量轉(zhuǎn)發(fā),超出流量丟棄

Router(config-if)# rate-limit input 8000000 2000 4000 conform-action transmit exceed-action drop

案例2:配置限速流量8Mb/s,最大突發(fā)量4000,符合流量被標記5后進行轉(zhuǎn)發(fā),超出流量被標記0后進行轉(zhuǎn)發(fā)。優(yōu)先級為0是默認值,表示盡力發(fā)送,當網(wǎng)絡擁堵時,根據(jù)優(yōu)先級丟棄數(shù)據(jù)

Router(config-if)# rate-limit input 8000000 2000 4000 conform-action  set-prec-transmit 5 exceed-action set-prec-transmit 0

(2)擴展承諾訪問速率

Router(config-if)# rate-limit {input|output} [access-group access-group] {CIR} {Bc} {Be} conform-action  exceed-action

(3)查看CAR配置命令

Router# show interface f1/0 rate-limit        //查看端口限速信息


2.承諾訪問速率與流量×××的第二種配置

    這種配置可以在端口應用一種策略實施多種流量控制

(1)定義匹配策略   

Router(config)# class-map [match-all|match-any] {class-map-name}   //進入class-map模式,配置匹配條件
Router(config-map)# match access-group 100         //匹配配置的ACL
Router(config-map)# match protocol {protocol}        //匹配配置的協(xié)議
Router(config-map)# match input-interface int f0/0       //匹配端口進入的流量
Router(config-map)# match any                      //匹配任意數(shù)據(jù)包
Router(config-map)# match {source-address|destination-address} mac {mac-address}   //匹配源或目的MAC地址

class-map-name:創(chuàng)建的class-map的名稱

match-all:表示匹配class-map定義的所有條件,是默認配置

match-any:表示至少匹配class-map定義的一個條件

   

(2)定義流量控制策略

    通過policy map調(diào)用class map,然后分別為每個class map配置策略

Router(config)# policy-map {policy-map-name}     //定義policy-map
Router(config-pmap)# class {class-map-name}        //調(diào)用class map

    然后在調(diào)用的class map 中配置的策略包括標記流量、流量×××、CAR

Router(config-pmap-c)# set ip dscp {dscp}        //標記流量的優(yōu)先級
Router(config-pmap-c)# set ip precedence {precedence}


配置CAR

Router(config-pmap-c)# police {CIR} [burst-normal] [burst-max] conform-action {action} execeed-action {action} violate-action {action}

CIR:承諾訪問速率

burst-normal:承諾突發(fā)量Bc

burst-max:與rate-limit命令不同,此參數(shù)表示過量突發(fā)量Be

config-action:對小于Bc(包含CIR流量)的流量采取的動作,默認轉(zhuǎn)發(fā)

exceed-action:對于Bc和Bc+Be之間的流量采取的動作,默認轉(zhuǎn)發(fā)

violate-action:對于大于Bc+Be的流量采取的動作,默認丟棄

action:同rate-limit命令中的action 對流量的相應操作


配置GTS

Router(config-pmap-c)# shape average {CIR [Bc[Be]]}

average表示平均值,配置完average形式的CTS后,×××后的速率為CIR


配置緩沖區(qū)上限

Router(config-pmap-c)# shape max-buffers {buffer-limit}

buffer-limit:單位報文數(shù),范圍為1-4096,默認為1000


(3)在接口上應用策略

Router(config-if)# service-policy {input|output} {policy-map-name}

   注意:CTS只能應用在output方向,而CAR可以應用在兩個方向


(4)查看配置

Router# show policy-map [policy-map-name]        //查看策略配置
Router# show policy-map int f0/0       //查看端口策略應用和流量信息


例如:某路由器的配置如下

Router(config)# access-list 100 permit ip 10.0.0.0  0.0.0.255  10.0.0.0 0.0.0.255    
Router(config)# class-map yyy               //配置class map
Router(config-cmap)# match access-group 100      //配置匹配條件,調(diào)用ACL

Router(config)# policy-map ysf1              //定義policy map,配置CAR
Router(config-pmpa)# class yyy              //調(diào)用 class map
Router(config-pmap-c)# police  8000  1500  1500 conform-action transmit exceed-action transmit viliate-action drop
//配置CAR,小于Bc轉(zhuǎn)發(fā),在Bc- Bc+Be之間轉(zhuǎn)發(fā),大于Bc+Be丟棄

Router(config)# int f0/0        //在f0/0接口應用CAR策略                    
Router(config-if)# service-policy  input ysf1


Router(config)# policy-map  ysf2               //定義policy map,配置GTS
Router(config-pmap)# class yyy                //調(diào)用class map
Router(config-pmap-c)# shape  average  8000        //配置average形式,只配置CIR

Router(config)# int f0/1            //在f0/1口應用CTS策略
Router(config-if)# service-policy output ysf2    
Router# show policy-map             //查看配置策略

 

擁塞管理技術

    擁塞管理一般采用隊列調(diào)度技術,通過隊列調(diào)度技術的算法使得不同的數(shù)據(jù)流擁有不同的優(yōu)先級和帶寬信息等,從而確定不同數(shù)據(jù)流被轉(zhuǎn)發(fā)的順序和帶寬。主要有以下六種技術:

1.FIFO:先進先出隊列(只有一個隊)

2.PQ:優(yōu)先級隊列(4個隊列,高級別長期占用,出問題)

3.CQ:定制隊列(管理員可加,0保留,1--16輪循環(huán))

4.WFQ:加權(quán)公平隊列(很多類,包小,優(yōu)先級高,先發(fā))

5.CBWFQ:基于類的加權(quán)公平隊列(保證帶寬)

6.CBLLQ:基于類低延遲的加權(quán)公平隊列(保證延遲)


配置CBWFQ

    隨著技術的發(fā)展,最常用的是CBWFQ技術

(1)定義匹配策略,與GTS、CAT第二種配置相同(略)

(2)定義 policy map 并調(diào)用class map ,在每一個class map中設置策略

Router(config-pmap-c)# bandwidtn  {bandwidth-kbps | percent  percentage}

bandwidth:保證最小帶寬

bandwidth-kbps:最小帶寬速率(默認情況下,各class map 分配的帶寬總和不能超過接口帶寬的75%,剩余的25%用于控制和路由選擇的流量??梢酝ㄟ^接口模式下的max-reserved-bandwidt 命令進行修改)

percent  percentage:最小帶寬占端口帶寬的百分比

* 然后,配置隊列中數(shù)據(jù)包的個數(shù)

Router(config-pmap-c)# queue-limit  {packets}

packets:為設定的隊列的數(shù)值,范圍是1--4096

* 如果需要配置默認類,可用以下命令:

Router(config-pmap)# class  class-default

* 配置LLQ隊列的最大帶寬

router(config-pmap-c)#  {bandwidth-kbps | percent  percentage}

priority:表示隊列的最大帶寬,其參數(shù)的含義與bandwidtn命令相同


(3)在端口實施策略

與CRS、CAR的第二種配置相同,但是需要注意CBWFQ只能配置在端口的output方向

(4)相關查看命令

show policy-map [policy-map-name]          //查看policy map 的配置信息
show policy-map int f0/0          //查看端口的policy map信息和流量信息


實驗案例:配置CBWFQ,通過為PC1、PC2、PC3、PC4配置最小保證帶寬,解決網(wǎng)絡擁塞問題

服務訪問質(zhì)量(QoS)的工作原理和相關技術

(1)配置網(wǎng)絡全網(wǎng)互通(略)

(2)配置CBWFQ,實現(xiàn)網(wǎng)絡擁塞時保證最小帶寬

R1(config)# access-list 100 permit ip host 10.0.1.2 host 10.0.0.4
R1(config)# access-list 101 permit ip host 10.0.1.2 host 10.0.0.1
R1(config)# access-list 102 permit ip host 10.0.1.2 host 10.0.0.2     //定義ACL

R1(config)# class-map match-all ftp1        //定義名稱為ftp1的類
R1(config-cmap)# match access-group 100     //匹配ACL100的流量屬于類ftp1
R1(config)# class-map match-all ftp2    
R1(config-cmap)# match access-group 101
R1(config)# class-map match-all ftp3
R1(config-cmap)# match access-group 102

R1(config)# policy-map ftp              //定義名稱為ftp的策略
R1(config-pmap)# class ftp1             //進入類ftp1
R1(config-pmap-c)# bandwidth 4000         //為類ftp1設定策略,擁塞時帶寬為4000Kb/s
R1(config-pmap-c)# exit
R1(config-pmap)# class ftp2
R1(config-pmap-c)# bandwidth 1600
R1(config-pmap-c)# exit
R1(config-pmap)# class ftp3
R1(config-pmap-c)# bandwidth 1600
R1(config-pmap-c)# exit
R1(config-pmap)# class class-default      //配置其他流量為默認類
R1(config-pmap-c)# fair-queue            //啟用公平隊列,可和bandwidth同時使用

R1(config)# interface  f0/1
R1(config-if)# service-policy output ftp       //CBWPQ只能應用于output方向



擁塞避免技術

    過度的網(wǎng)絡擁塞對于網(wǎng)絡的危害是很大的,擁塞避免就是主動丟棄部分報文,以減免網(wǎng)絡擁塞程度

1.尾丟棄

    傳統(tǒng)的丟包策略,即當隊列達到最長時,將后面的報文全部丟棄的策略??赡軐е戮W(wǎng)絡中流量忽大忽小,極不穩(wěn)定

    在CBWFQ中配置尾丟棄的命令 queue-limit

2.WRED

    為避免出現(xiàn)尾丟棄的現(xiàn)象,加權(quán)隨機預檢測(RED)將隊列分為兩個值,為低閥值和高閥值,并采用如下算法:

* 小于低閥值時,不進行報文丟棄

* 大于高閥值時,完全丟棄報文

* 在低閥值和高閥值之間時,WRED開始進行隨機丟棄報文。隊列越長,丟棄的概率越高

    WRED原理和RED相同,只是在隨機丟棄報文時,加入了優(yōu)先級來區(qū)分丟棄策略


WRED的配置

(1)在接口上配置

    基于DSCP的配置

Router(config-if)# random-detect dscp-based          //啟動基于DSCP的WRED
Router(config-if)# random-detect dscp {dscp} { min  max }[mark]

min:低閥值

max:高閥值

mark:最大概率分母(在計算丟棄時使用)

    基于IP優(yōu)先級的配置

router(config-if)#random-detect
router(config-if)#random-detect precedence {precedence} {min max} {mark}

(2)通過policy-map配置WRED

router(config-pmap-c)#random-detect
router(config-pmap-c)#random-detect precedence {precedence} {min max} {mark}

(3)查看WRED

show queueing random-detect             //查看WERD信息
show queue [int f0/0 ]          //查看隊列信息

  LLQ隊列不能使用WRED,也不能使用queue-limit 命令





向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI