溫馨提示×

溫馨提示×

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

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

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

發布時間:2020-07-11 02:58:06 來源:網絡 閱讀:3087 作者:楊書凡 欄目:網絡管理

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


網絡擁堵的產生

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

(1)數據從高速端口進入設備,從低速端口轉發出去

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

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

網絡擁堵的影響

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

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

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

網絡擁堵的解決方法

(1)提高網絡帶寬

(2)合理利用網絡帶寬,根據需要使用QoS技術合理分配現有帶寬,降低網絡擁塞的影響


QOS流量管理

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

流分類與流量管理

(1)流分類

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

(2)流量監控

    在對流量進行監控時一般可以設定三個參數:

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

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

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

(3)流量策略

轉發(transmit):對合規和違規流量設置策略為轉發

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

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

(4)流量×××(GTS)

    流量×××是一種調節輸出速率的措施,使用緩存來保存違規流量,所以可以減小丟包率,避免報文重發,增加延時,一般應用在整體流量小,但有時出現突發流量的環境中。

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

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

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

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


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

1.流量×××配置

    有以下兩種方式:

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

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

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

(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流量統計信息
 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}

  各參數含義如下

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

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

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

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

conform-action:對合規流量進行的操作

exceed-action:對違規流量進行的操作

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

案例1:配置限速流量8Mb/s,最大突發量4000,符合流量轉發,超出流量丟棄

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

案例2:配置限速流量8Mb/s,最大突發量4000,符合流量被標記5后進行轉發,超出流量被標記0后進行轉發。優先級為0是默認值,表示盡力發送,當網絡擁堵時,根據優先級丟棄數據

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}        //匹配配置的協議
Router(config-map)# match input-interface int f0/0       //匹配端口進入的流量
Router(config-map)# match any                      //匹配任意數據包
Router(config-map)# match {source-address|destination-address} mac {mac-address}   //匹配源或目的MAC地址

class-map-name:創建的class-map的名稱

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

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

   

(2)定義流量控制策略

    通過policy map調用class map,然后分別為每個class map配置策略

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

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

Router(config-pmap-c)# set ip dscp {dscp}        //標記流量的優先級
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:承諾突發量Bc

burst-max:與rate-limit命令不同,此參數表示過量突發量Be

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

exceed-action:對于Bc和Bc+Be之間的流量采取的動作,默認轉發

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

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


配置GTS

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

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


配置緩沖區上限

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

buffer-limit:單位報文數,范圍為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      //配置匹配條件,調用ACL

Router(config)# policy-map ysf1              //定義policy map,配置CAR
Router(config-pmpa)# class yyy              //調用 class map
Router(config-pmap-c)# police  8000  1500  1500 conform-action transmit exceed-action transmit viliate-action drop
//配置CAR,小于Bc轉發,在Bc- Bc+Be之間轉發,大于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                //調用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             //查看配置策略

 

擁塞管理技術

    擁塞管理一般采用隊列調度技術,通過隊列調度技術的算法使得不同的數據流擁有不同的優先級和帶寬信息等,從而確定不同數據流被轉發的順序和帶寬。主要有以下六種技術:

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

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

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

4.WFQ:加權公平隊列(很多類,包小,優先級高,先發)

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

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


配置CBWFQ

    隨著技術的發展,最常用的是CBWFQ技術

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

(2)定義 policy map 并調用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:最小帶寬占端口帶寬的百分比

* 然后,配置隊列中數據包的個數

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

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

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

Router(config-pmap)# class  class-default

* 配置LLQ隊列的最大帶寬

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

priority:表示隊列的最大帶寬,其參數的含義與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配置最小保證帶寬,解決網絡擁塞問題

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

(1)配置網絡全網互通(略)

(2)配置CBWFQ,實現網絡擁塞時保證最小帶寬

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方向



擁塞避免技術

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

1.尾丟棄

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

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

2.WRED

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

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

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

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

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


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優先級的配置

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問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女