Qos學習

QOS


一QOS概述

(一)QOS的作用:解決特定數據的延遲、抖動、丟包問題。

(二)QOS的兩種體系:


1、集成服務:給某種特殊需保證的數據劃出特定的帶寬。其他數據無法佔用這個帶寬。像呼叫電路一樣,呼能字一條電路纔開始傳輸。RSVP帶寬預留協議用在這個服務中。

2、區分服務:(diffserv)又稱軟QOS


(1)用二層COS或三層TOS、dscp區分數據流。DSCP是後來的標準。

(2)以類別爲基礎,一些類別的通信流優於其他類別的通信流得到處理。先將通信流分類,然後將它們加入到效率不同的隊列中。

(3)Diffserv 的應用在發送數據前不顯示地通知網絡設備。


二、區分服務


(一)cos tos dscp的概念及區別:


1、COS是在第二層ISL或802.1Q數據幀中的ISL或802。1Q的報頭中的3位用於COS,即優先標識。3bit,0--7個級別。

2、TOS是在第三層IP數據包中的8位TOS數據位,以來標識優先級。這8位中前3位表示優先級,後4位表示服務類型(分別爲:最小延遲、最大吞吐量、最高可靠性、最小費用。只能其中一位爲1,即生效。如果全爲0就表示一般服務)。最後一位一般不用,置0

3、DSCP也是三層IP中的8位TOS字段表示優先級。不同的是用了前6位表示優先級,可設0--63,共64個等級。(把前6位中的前3位設爲優先級,後3位設爲0,就可以實現DSCP和TOS互相映射兼容)。 最後兩位爲早期擁塞通知。

因爲COS二層標記中也是3位用於優先級,所以也可以把COS和TOS和DSCP中的優先級映射。


(二)保證轉發和快速轉發


dscp用8位TOS字段中的前6位表示優先級,其中前6位中的最後一位爲0(xxxxx0),爲IANA所管理的標準保留。 最後兩位爲11(xxxx11),爲實驗性或本地使用保留。 最後兩位爲01(xxxx01),爲實驗性或本地或將來擴展保留。


主要講第一種,IANA所管理的標準保留。


1、AF:保證轉發:用DSCP值來定義類別。用6位優先級的前3位定義4種等優先等級,用4、5兩位表示各類中的三種丟棄概率。最後一位始終爲0。


例: DSCP值的前六位爲: 001 01 0 ,前三位001是優先級類爲1, 4、5兩位的丟棄概率爲01,即表示低丟棄率。DSCP值換成十進制爲10。


2、EF:快速轉發:通過快速轉發EF PHB提供區分服務所定義的最高級別的服務質量。 DSCP值爲: 101110, 換算爲十進制爲46。 這種服務一般提代給需要低丟棄率,低延遲,低抖動,帶寬有保障的高保障服務。如點到點連接的端點,VOIP通信流等。


(三) 區分服務的基本過程:


入站數據包---> 分類--->-流量監管或流量整型控制-->重標記--->決定把某類數據包加入哪個傳輸隊列--->加入某個隊列--->再基於隊列做擁塞避免--->出站


邊緣路由器對入站數據包根據各種方法進行分類。並對分類的數據包進行流量監管以免超過入站流量限制,或對出站流量進行流量整型控制,以免超過下游設備的流量。並對超過流量的數據包進行多種方式處理,可以重新標記、丟棄、緩存處理等。對數據包進行重新標記,然後送到不同的隊列中,不同的隊列享用的帶寬或優先級不同,以進行擁塞管理。然後基於不同的隊列做擁塞避免。


(四)分別講解QOS各個過程的詳解處理方式:


1、分類

分類是通過數據包的特定優先級或DSCP及其他預定的參數來區分數據包。分類決定數據包的內部DSCP值,交換機或路由器根據內部DSCP值進行QOS數據包的處理。

如果只啓用QOS,沒有做任何QOS配置,則所有通信流都被歸爲默認類別。 入站數據包的默認DSCP值爲0,不管其原來的DSCP值爲多少。

分類的方法:


(1)按接口的的信任模式分類。

(2)接數據包的DSCP、IP優先級或COS分類

(3)基於訪問列表的分類

(4)NBAR分類



1.1 按接口的信任模式分類


不信任接口類: 接口接收的所有數據包的DSCP值都爲0

信任類: 當接口配爲信任時,根據原數據的優先級映射爲DSCP內部優先級。即把COS和TOS值映射爲內部DSCP值。指定接口接受數據包中的原有DSCP、ip優先級、COS值。


mls qos trust [dscp|cos|ip-precedence] //看接把原有數據包的DSCP COS IP優先級自動映射爲內部優先級。

如果原有數據包中的分類是基於DSCP,則直接修改內部DSCP值爲原數據包的值;如果原有數據包中的分類是基於IP優先級或COS,則會將它們以8的倍數映射到內部DSCP;不信任時所有的原數據包的DSCP值都會被設置爲0.

mls qos map cos-dscp values //用8個空格隔開的DSCP值對應COS的0--7八個級別。手動映射COS值到內部DSCP值。

mls qos map ip-prec-dscp dscp-values //用8個空格隔開的DSCP值對應ip優先級的0--7八個級別。手動映射IP優先級到內部DSCP值。

注意:QOS是以內部DSCP值爲依據的。所以都要轉換成內部DSCP值。


例:


#interface fast0/1

#mls qos trust dscp

#mls qos trust cos

#mls qos trust ip-precedence //此接口信任原數據包的ip優先級,即原來的優先級是多少都轉換爲同級別的內部DSCP值。

#mls qos map cos-dscp 0 8 16 26 34 46 48 56 // 即把原數據包的值的COS值,轉換爲對應的DSCP內部值。

#mls qos map ip=prec-dscp 0 8 16 24 32 40 48 56 //即把原數據包值的IP優先值,轉換爲對應的DSCP內部值。

1.2基於NBAR(基於應用)的分類

定義一個分類映射表

在分類映射表子句下定義一個匹配條件。

再定義一個策略映射表並把類別映射表與策略映射表相關聯

定義這些匹配數據流的QOS特性,如帶寬,COS,ip等

把策略射表應用於接口的入站或出站上

配置接口信任狀態。


分步配置的命令:


(1) 定義分類映射表 class map


(config)#class-map [match-any|match-all] classname


match-any :匹配其中一個就可以執行。

match-all:必須全部匹配纔可以執行

classname:映射表名


(2) class map 的匹配


(config-cmap)# match access-group {ACL} //基於訪問列表的分類

(config-cmap)# match protocol {protocol} //匹配協議,NBAR分類

(config-cmap)# match ip {dscp dscp} //匹配IP DSCP值。

(config-cmap)# match ip {precedence precedence} //匹配IP 優先級

(config-cmap)# match input-interface {interface} //匹配進站接口

(config-cmap)# match destination-address {mac mac-address} //匹配目標MAC地址

(config-cmap)# match dsource-address {mac mac-address} //匹配源MAC地址

(config-cmap)# match qos-group {group ID} //匹配組ID

(config-cmap)# match class-map {map-name} //匹配CLASS MAP ,用於CLASS嵌套

(config-cmap)# match vlan {vlan-id} //匹配VLAN


(3) 設置 policy map (定義策略映射表,並把分類映射表與之關聯)


(config)# policy-map {policyname} //定義一個策略映表

(config-pmap)# class {class-map} //把分類列表與之關聯


(4)配置優先級和DSCP,即重新標記(在策略映射表下)

(config-pmap-c)#set ip {precedence precedence}

(config-pmap-c)#set ip {dscp dscp}

(config-pmap-c)#set cos {cos}

(config-pmap-c)#set qos-group {GROUP ID}

(config-pmap-c)#bandwidth {kbps}

(config-pmap-c)#priority {kbps} [BC]

(config-pmap-c)#police {CIR BC BE} conform-action {action} exceed-action {action} violiate-action {action}


(5)將策略應用到接口的出或入口方向


(config-if) service-policy [input|output] policy-name



1.3 按數據包的DSCP\IP優先級或COS分類

1.4 基於訪問列表的分類


定義一個分類映射表

在分類映射表子句下用訪問控制列表配置匹配條件。(使用ACL ip地址,入站接口指定匹配條件)

再定義一個策略映射表並把類別映射表與策略映射表相關聯

定義這些匹配數據流的QOS特性,如帶寬,COS,ip等

把策略射表應用於接口的入站或出站上

配置接口信任狀態。


實例1:按訪問列表控制分類


#class-map match-all manager //定義一個名爲manager的分類映射表

#match access-group 101 //在分類映射表下定義一個訪問控制列表,以定義匹配的條件

#policy-map hight //定義一個名爲hight的策略映射表

#calss manager //把名叫manager的分類映射表與策略映射表相關聯

#trust dscp //匹配的數據信任DSCP

#trust cos //匹配的數據信任COS

#set ip dscp 5 //設置DSCP值

#bandwith 36000 //匹配的數據的帶寬爲36000

#interface fast 0/1 //進入接口

#service-policy input hight //把hight策略應用於接口的入方向

#mls trust dscp //此接口信任dscp

#access-list 101 permit tcp any 192.168.9.0 0.0.0.255 //定義訪問控制列表,以定義匹配的數據流


實例2:按NBAR分類:


#class-map match-all manager //定義一個名爲manager的分類映射表

#match protocol ip //匹配IP協議

#policy-map hight //定義一個名爲hight的策略映射表

#calss manager //把名叫manager的分類映射表與策略映射表相關聯

#set ip dscp 5 //設置DSCP值。

#bandwith 36000 //匹配的數據的帶寬爲36000

#interface fast 0/1 //進入接口

#service-policy input hight //把hight策略應用於接口的入方向


2、標記

QOS標記指的是修改入站幀的DSCP,COS,IP precedence ,即把入站的數據流標記爲新的內部DSCP值。


直接接口上配置標記:

修改數據包的DSCP值,進而影響內部DSCP值。因爲交換機將根據新的而不是原來的DSCP值或COS值來決定內部DSCP值,所以這些命令的執行結果相當於分類

mls qos dscp dscp-value //修改DSCP值

mls qos cos cos-value //修怍COS值

mls qos ip precedence ip-precedence-value //修改IP 優先級


在映射表中標記:


即分類中定義的方式,在策略映射表中重標記。


用路由策略標記:


(config)# route-map mark 10 //創建路由策略


(config-route-map)# match ip address 99 //設置匹配數據


(config-route-map)# set ip precedence 5 //設置匹配數據的IP優先級


(config) interface Ethernet 0 //進入接口


(config-if) ip policy route-map mark //把策略應用於接口


(config)access-list 99 permit host 10.1.4.1 //定義匹配數據的訪問控制列表


3、策略和整型


(1)概念:

整型和策略都是控制通信流通過路由或交換機等網絡設備時傳輸的速度。使用分類來區分通信流。

整型是測量通信流的頻率並緩存超額通信流的傳輸,確保通信速率不超過指定值,待空閒時再傳輸超額數據流

策略是直接丟棄超額的數據流,不緩存。


(2)解決的問題:


解決鏈路兩邊接口速率不匹配

對報文流量進行限制,對超出流量約定的報文進行緩衝

流量整形可能會增 加延遲


3.1策略

(1)令牌桶算法:


令牌桶按用戶設定的速度向桶中放置令牌(承諾速率)。且令牌桶有用戶設定的容量,當桶中充滿令牌時,令牌量將不再增加(令牌量是設限的,固定的)。

當令牌桶中沒有令牌時,報文不能被髮送,只有桶中生成新的令牌時,報文才可發送。這可以限制報文的流量只能等於小於令牌生成的速度達到限制流量的目的。

當令牌桶中有足夠的令牌處理報文時,被認爲conform。即報文已進入令牌桶,而令牌桶還沒有充滿。

當令牌桶中的令牌不夠時,認爲是exceed。像公交車上,只有三個座位,而上來五個人,則這五個人都不能上車,令牌桶中令牌不減少。

(2)幾個參數

CIR:承諾速率:即平均速率。實際的策略速率。

BC:常規突發量:超過令牌桶流量,仍能發出去的流量大小。即超過承諾速率,仍能發送出去的流量大小。

BE:擴展突發量:支持BE的一般是:be=bc*2。一般標準的是be=bc,即不支持擴展突發量。

TC:時間間隔 TC=BC/CIR

(3)三種類型的策略


單一策略:應用於單個接口的策略。將指定的策略用於接口

聚合策略:將策略應用於一組接口。如將一個限量流量不超過75MBIT/S的策略應用於一組接口時,這些接口的總流量不超過75M。是總流量。

微流策略:針對單個流的策略。將策略參數應用於策略映射表中的每種類別。


(4)微流策略,即應用於policy-map中的方法:

policy {cir bc be} {conform-action action} {exceed-action action} {violate-altion action}


conform-action:令牌足夠時的處理方式

exceed-action:當令牌不足夠時對數據流的處理方式。超過BC之後的處理方式

violate-altion:對違規數據流的處理方式。超過BE流量後的處理方式


(5)單一策略,即應用於接口的配置方法


rate-limit {input|output} [access-group [rate-limit] acl-index] {CIR Bc Be } {conform-action action} {exceed-action action}

例:

[route-config]interface serial1

[route-interface-serial1]ip address 192.168.9.1 255.255.255.0

[route-interface-serial1]rate-limit output access-group rate-limit 1 20000000 24000 32000 conform-action transmit exceed-action drop

//對IP優先級爲3的出站流量進行限速。對超過BC的數據包丟棄。

[route-config]access-list rate-limit 1 3 //訪問控制列表 爲rate-limit類型,序號爲1, 值爲3


(6)聚合策略配置方法


mls qos aggregate-policer policername {cir bc be } {conform-action action} {exceed-action action} {violate-altion action}

再把此聚合策略應用於接口


3.2 整型(GTS)


(1)基本整型: traffic-shape rate CIR BC BE buffer-limit


(2)ACL整型: traffic-shape group access-list CIR BC BE


(3)基於策略整型:


shape {average|peak} cir bc be //average:指的是平均值,peak指的是峯值

shape max-buffers {number-of-buffers} //定義緩衝區上限,默認值爲1000

把策略應用於接口


4、隊列


任何分類,必須有隊列纔有效。不然就無效。即哪個數據或哪個優先級進入哪個隊列。


隊列的種類:先進先出隊列;WFQ加權公平隊列;PQ優先級隊列;CQ自定義隊列;CBWFQ基於類別的加權公平隊列;LLQ低延遲隊列;WRR加權輪詢隊列;

(1)FIFO先進先出隊列

不對報文進行分類,當報文進入接口的速度大於接口能發送的速度時,報文按照先後順序進入隊列傳輸。除帶寬小於2.048Mbps的串行接口以外(如E1接口或更小帶寬的接口默認隊列方式是WFQ)的接口,默認隊列方式都是FIFO。

因是默認的,所以不用進行配置。如果想在帶寬小於2.048Mbps的接口中用FIFO隊列的話:


(config-if)#no fair-queue //禁用WFQ,即可變成FIFO隊列。

(2)WFQ加權公平隊列


帶小於2.048Mbps的接口,都以WFQ爲默認隊列方式。

A:自動根據數據報文的源、目的地、端口號、協議、優先級把數據劃分到不同的隊列,該過程稱爲散列,用HASH算法完成。

B:根據優先級自動劃分帶寬。算法是:32768/(ip優先級+1)=權重。 再根據所有數據流隊列的總權重,按比例劃分帶寬。

C:循環發送隊列數據。保證高優先級比低優先級先傳;小數據包比大數據包先傳。


CQ與WFQ隊列的區別:


CQ要手工分配比例及隊列所屬,而WFQ是自動劃分隊列及帶寬。


配置WFQ:


(CONFIG-IF)#fair-queue //啓用WFQ

(CONFIG-IF)#fair-queue {1-4096} //設定每個隊列中允許數據包的數量


(3)PQ優先級隊列


A:根據IP報文的優先級和DSCP等條件把數據報最多劃分到4個個等級(高\中\正常\低)的隊列中.

B:PQ優先級隊列先傳完高等級隊列中的所有數據後纔會傳次低等級的數據。如想傳低等級隊列中的數據,只有等到高等級隊列、中等級隊列、正常等級隊列中的所有數據都傳完,才輪到低等級隊列中的數據的傳輸。當帶寬較低,而高等級隊列中的數據較多時,低等級隊列中的數據可能永遠得不到傳送。

配置PQ:

(3.1)分配隊列:

(3.1.1):基於協議:

(config)#priority-list {listnumber} protocol {protocol-name [size|acl|tcp port|udp port|fragment]} {high|medium|normal|low} //定義隊列號及隊列優先級

(3.1.2) :基於默認優先級隊列:

(config)#priority-list {listnumber} default {high|medium|normal|low} //定義默認的優先級隊列,未分類的流量默認被分配到該隊列,優先級默認爲normal


(3.1.3):基於接口:


(config)#priority-list {listnumber} interface {high|medium|normal|low} //基於進站接口進行隊列分配


(3.2)定義每個隊列中數據包的最大個數:

(config)#priority-list {listnumber} {high_limit|medium_limit|normal_limit|low_limit} //定義每個隊列最多的數據包個數,默認爲 20 40 60 80 ,可自行更改

即每個隊列最多只能有多少個數據包

(3.3)把定義的優先級列表應用於接口上:


(config-if)#priority-group {listnumber}


實例:



(4)CQ自定義隊列


報文最多可分成16個隊列的流量分類。實際上隊列號是0--16,共17個隊列。

0號隊列是超級優先隊列,只有0號隊列中的數據傳輸完才傳輸其他16個隊列中的數據。以保證高優先級業務數據。

1-16號隊列按用戶給其分配的帶寬比例以循環的方式傳送。不像PQ隊列,高一級的傳完才能傳一下個等級的數據。

默認每個隊列一次處理1500字節數據,依次傳輸。可手工指定一個隊列一次處理的字節數,以改變帶寬利用。

也可按比例分配各隊列的帶寬。這些都是在擁塞的情況下,在沒有擁塞的情況下,其他隊列可以使用剩餘的帶寬。

CQ適用於WAN接口。


(4.1) 分配隊列:


(4.1.1)基於協議分配:

(config)#queue-list {listnumber} protocol {protocol-name [size|acl|tcp port|udp port|fragment]} {queue-number} //按協議進行隊列分配

(4.1.2)基於接口:


(config)#queue-list {listnumber} interface {queue-number} //基於進站接口進行隊列分配


(4.1.3)定義默認隊列:

(config)#queue-list {listnumber} default {queue-number} //定義默熟認隊列

(4.2)給各隊列劃分帶寬:


(config)#queue-list {listnumber} queue {queue-number} byte-count {size}


(4.3)給各隊列設定最大數據包數:


(config)#queue-list {listnumber} queue {queue-number} limit {limit-number}


(4.4)把列表應用於接口:


(config-if)#custom-queue-list {listnumber}


(5)CBWFQ基於類別的加權公平隊列


可定製64個隊列

可根據各種條件爲數據流分類,同一分類佔用一個隊列。然後再對每個隊列設定權重、帶寬、傳輸限制等。

分類時,要指明每個隊列的長度,即該隊列的最大數據存放量。一個隊列超過最大數量限制後,默認將使用尾丟棄的方法把超量的數據丟棄。也可配置爲WRED。

當數據不匹配任何類時,會被劃分到默認類中。默認類中的數據使作WFQ隊列共享帶寬。

CBWFQ不支持子接口

CBWFQ可用接口帶寬不超過接口的75%,另外25%用於負載控制和路由流量


配置CBWFQ:

(5.1.1)定義數據的分類策略,並設置匹配語句

(config)# class-map [match all |match-any] {map-name} //定義分類映射表

(config-cmap)# match access-group {ACL} //基於訪問列表的分類

(config-cmap)# match protocol {protocol} //匹配協議,NBAR分類

(config-cmap)# match ip {dscp dscp} //匹配IP DSCP值。

(config-cmap)# match ip {precedence precedence} //匹配IP 優先級

(config-cmap)# match input-interface {interface} //匹配進站接口

(config-cmap)# match destination-address {mac mac-address} //匹配目標MAC地址

(config-cmap)# match dsource-address {mac mac-address} //匹配源MAC地址

(config-cmap)# match qos-group {group ID} //匹配組ID

(config-cmap)# match class-map {map-name} //匹配CLASS MAP ,用於CLASS嵌套

(config-cmap)# match vlan {vlan-id} //匹配VLAN


(5.1.2)爲每類數據定義處理策略。通過policy map來定義。

(config)#policy-map {plicymap-name} //定義一個策略名

(config-pmap)#class[class-map |class-default] // 把分類映射表與策略表相關聯。

(config-pmap-c)#bandwidth[kbps| percent percent] //設置策略,即爲匹配的隊列設置策略。這裏是分配帶寬。

(config-pmap-c)#queue-limit {packets} //設置每個隊列的最大數據包個數。超過的將實現尾丟棄

(config-pmap-c)#random-detect //丟棄方法使用WRED,而不是尾丟棄

(config-pmap-c)#shape xxx //令牌桶參數,即整形流量控制,詳見上面的策略與整形

(config-pmap-c)#policy xxx //car限速,即策略流量控制。詳見上面的策略與整形

(config-pmap-c)#priority {bandwidth} //優先級,低延遲隊列LLQ


(5.1.3)把定義的策略應用於接口


(config-if) server-policy output {policcymap-name}

(config-if)#max-reserved-bandwidth {percent} //設定佔用接口的最大帶寬,默認是佔用75%,這裏可更改默認值。


(6)LLQ低延遲隊列


低延遲隊是一個有較高優先級的隊列。僅次於二層協義隊列,如CQ中的0號隊列。

一個或多個分類的報文可以被設定進LLQ隊列中。即LLQ隊列中,可以擁有不同分類的報文。

只有LLQ隊列中的報文傳完,纔會傳輸其他普通隊列中的報文。與CQ中的0隊列相同。


(7)WRR加權輪詢隊列


交換機每個隊列配置權重值,根據權重值按比例給隊列分配帶寬。(交換機支持4個隊列)

各隊列之間進行輪流調度,保證每個隊列都得到傳遞。當然每個隊列的數據傳遞量是按比例分配的。

僅當發生擁塞的時候,才使用WRR來調度隊列中的數據包。

HQ-WRR:這個調度算法是加以改進了,即把隊列3定義爲高優先級隊列,只有 隊列3中的數據傳輸完了,其他隊列才輪流調度。


配置WRR:


A:進入接口

B:給隊列指定出站cos值

(config-if)#wrr-queue cos-map {queue-id} {cos1 cos2........cos8} //COS 有8個值,即將不同的COS值映射到相應的隊列中。


例:(config-if)#wrr-queue cos-map 1 2 3

(config-if)#wrr-queue cos-map 3 4 6 //即把COS值爲 2和3的數據包放入隊列1,把COS值爲4和6的數據包放入隊列3


C:配置嚴格優先級隊列,交換機默認是隊列4


(config-if)#priority-queue out //3550交換機通過此命令,把隊列4配爲嚴格優先級


D:配置WRR隊列的WRR權重:


(config-if)# wrr-queue bandwidth weight1 weight2 weight3 weight4 //根據權重值來分配隊列的帶寬比。


E:定義傳輸隊列長度比例,取值1-100%

隊列長度即排隊列的長度。優先級高的排隊短,級別越低,排隊就越長


5、擁塞管理


通過監視網絡通信流負載,擁塞避免能夠預測和避免常見的網絡瓶頸點發生擁塞。通過複雜算法來丟棄數據包可避免擁塞。


擁塞避免的種類:尾丟棄;RED隨機預檢測;WRED加權隨機早檢測


5.1尾丟棄


(1)即數據包到達交換機或路由器速率超過了路由器、交換機的緩存通信能力時,路由器將丟棄數據包。即路由器沒有能力緩和存數據包了,就把超過的數據包全丟棄,直到有能力有空間儲存數據包。

(2)尾丟棄平等對待所有通信流。而不管內部DSCP值的大小。

(3)多個TCP會話並行時,當多個TCP流的總量超過緩存能力時,這些TCP會話將同時進入TCP慢啓動。其結果是所有的TCP會話都降低了速度。當緩存空出時,所有的TCP會話又都傳送數據到緩存,又會造成緩存缺失。又進入慢啓動,形成鋸齒狀流量,而不能對單個TCP會話進行管理。

5.2 RED


當輸出緩衝器達到配置的閾值時,RED將隨機丟棄數據包。隨着輸出隊列中的數據包增多,交換機將隨機丟棄數據包來避免擁塞。

僅當輸出隊列未滿時,RED才發揮作用。輸出隊列填滿程度超過RED的閾值後,數據包的丟棄概率將呈線性增加。當輸出隊列被填滿後,RED失效,將使用尾丟棄方式丟棄數據包。


(config-if)#random-detect //啓用隨機早期檢測


5.3 WRED

WRED與RED的區別是,WRED用ip優先級\DSCP值來區別丟棄策略,可以爲不同ip優先級\DSCP值設定不同的隊列長度,隊列閾值,丟棄概率。從而對不同優先級的報文提供不同的丟棄特性。

如:DSCP值不超過20的盡力而爲的WRED丟棄閾值設爲50%,而DSCP值爲20--30的報文的閾值設爲80%。當隊列流滿到50%時,路由器將隨機丟棄DSCP值爲0--20的數據包。隊列填充程度到80% 後,交換機纔開始丟棄DSCP爲20--30的數據包。


過程:


ip數據包根據DSCP值分類-->通過WRED設定DSCP數據流的閾值-->當達到閾值時,對應的DSCP數據流將隨機丟棄數據包-->當隊列充滿時用尾丟棄。


(config-if)#random-detect

(config-if)#random-detect [precednce|dscp] [min max mark] //設置丟棄數據包的最小值,最大值和丟棄數據包的輪循間隔。



三、集成服務(RSVP)


1、提供端到端服務質量預留,支持組播、單播的IP流。是發起主機到目的主機單向的。

2、RSVP也定期發送刷新消息維護RSVP狀態。如果在一定時間內沒收到消息,將刪除預留。需要發起者到目的之間的所有路由器都配置有RSVP預留。

3、RSVP用flowspec和filter spec形成一個流描述,稱流標準。flowspec定義請求主機的質量要求。filter spec定義主機的數據包分類需求。

4、RSVP有兩種流預留的分類:獨立預留和共享預留

獨立預留只有一個發送者發起流量;共享預留至少一個或多個發送者發起流量。通常這些流不同時操作。

5、發送者分爲:顯示發送者和通配符發送者。

顯示發送者用filter spec定義發送者,它定義單個發送者。

通配符發送者:使用相同的filterspec,相同的質量。

(1)顯示發送者對獨立預留使用固定過濾器FF。被一個流所有數據包共享。

(2)顯示發送者對共享預留使用SE過濾器。來自多個源的組播應用程序使用。

(3)通配符發送者對共享預留使用WF過濾。被多個流共享。對獨立預留沒有定義

6、端到端:經過的每臺路由器都必須滿足兩個條件才能提供RSVP服務。

(1)是否有足夠的資源供請求使用。

(2)請求主機是否有權限申請這個服務



7、RSVP發送者:是發起RSVP預留的主機

RSVP接收者:是指資源被預留的主機

RSVP啓用路由器:任何在發送者和接收者之間配置這個RSVP協議的路由器


8、發送者到接收者預留RSVP的過程:


(1)發送者(主機)發送rsvp path消息描述要發的數據

(2)在到達目的地(接收者)路徑中的每一臺RSVP路由器讀取RSVP消息。存儲關於前一跳的IP地址信息,並把自已的地址添加到消息中作爲前一跳,並把消息傳到下一跳路由。

(3)接收者收到PATH消息

(4)接收者收到PATH消息後,反向向發送者主機請求預留資源,使用RSVP RESV消息

(5)途徑的路由器有資源且有權限則同意RSVP預留,否則就拒絕。

(6)發送者主機從最近的下一跳路由器,即從哪個接收到消息的路由器接收請求,並開始使用預留路徑。當發送者發送完數據後,將發出teardown消息。路由器收到此消息清除RSVP預留。


9、 配置共享RSVP預留

(config-if)#fair-queue //開啓RSVP預留的所有路由器的接口都必須配爲加權公平隊列。WFQ

(COFNIG-IF)#ip rsvp bandwidth {bandwidth} {largest-flower}

bandwidth:設爲預留出的接口帶寬,不超過總帶寬的75%。即總帶寬。

largest-flower:設置經過的數據包的最大尺寸,不超過接口每秒可通過流量的75%。即單個RSVP的帶寬。

(config)#ip rsvp neighbor {acl} //只接收符合條件的鄰居路由器的RSVP請求。

(config-if)#ip rsvp precedence [conform|exceed] {precedence} //配置數據流當遵循前面定義的帶寬時和超出帶寬時的優先級和爲多少。

(config-if)#ip rsvp tos [conform|exceed] {tos_value} //配置數據流遵循定義的帶寬和超出帶寬時的TOS值。



10、靜態預留


(config-if)#ip rsvp reservation {destination-address} {source-address} [ip-protocol-number|tcp|udp] {destination-port} {source-port} {next-hop-address} {interface-name} {interface-namber} [ff|se|wf] [load|rate] {average-bit-rate} {maximum-burst}


destination-address:目標IP地址,即接收者地址

source-address:源地址,即發起者地址

[ip-protocol-number|tcp|udp] :協議號,或者TCP,UDP協議

{destination-port} {source-port} :目標端口,源端口

{next-hop-address} :下一跳地址,如果是接收者發起的預留,則這裏就是上一跳地址

[ff|se|wf]:三種過濾器

[load|rate]:load:可控負荷服務; rate:代表確保速率。

{average-bit-rate}:平均速率

{maximum-burst} :最大突發量

發佈了65 篇原創文章 · 獲贊 58 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章