CBQoS


什么是CBQoS ?

CBQoS (Class Based Quality of Service)是思科IOS 12.4(4)T及更高版本的一部分功能。可以通过SNMP获取,它并提供了关于QoS策略应用的信息以及企业网中基于流量模式的分类。


我为什么需要CBQoS ?

一般来说,网络操作都是基于最大的转发能力,所有的流量都有相同的优先级,转发的机会是均等的。当出现壅塞时,有同样转发机会的流量就 会被删除。QoS选择网络流量,它可以根据流量的重要性给与相应的优先权,并使用壅塞规避机制来提供优先级的索引处理;CBQoS也可以限制网络流量的带 宽占用。CBQoS可以使网络性能更加有预见性,带宽使用更加有效。网络管理员实施了CBQoS策略之后,可以确保他们的重要业务在网络中有最高的优先 级。CBQoS对应用了策略的链接和您的各种分类的流量模式,能提供更深入的可见性。您可以通过预策略、发布策略以及按照序列状态的不同流量分类所做的分 析来验证您的QoS设置的效率。

 

创建一个流量分类

创建一个流量策略

添加一个流量策略到一个接口

验证流量分类和流量策略信息

 

怎么开启CBQoS数据收集?

在路由器上配置策略

 

一开始的时候,CBQoS必须在路由器上手工开启。此外,策略需要在路由器上定义。通常情况下,流量策略要基于企业的类型和业务的需 要。(大的 语音流量,大的文件传输,大的流媒体流量等等其他流量类型)策略(分级)可以基于分类地图和策略映射。

 

分类地图的机制是让您从全部其他流量中隔离并且命名一个特定的转发流(或类)。类映射定义了标准,这些标准用于匹配特定的转发流以便进 一步分类它。标准可以包含通过ACL的定义去匹配访问组,或者匹配DSCP,或者IP优先值列表。如果您想让分类的流量类型不止一种的话,您可以创建另一 个分类地图并用一个不同的名称。一个包没有匹配上分类地图条件之后,您可以通过策略地图指定QoS动作。策略地图为流量分类指定QoS动作。这些动作可以 包含在流量分类中信任的CoS或者DSCP值;在流量分类中设置一个特定的DSCP或者IP优先值;或者指定流量带宽限制以及当流量超出配置之后执行的动 作。在一个策略生效前,你必须将它应用到一个接口。

 

一个包被分类并且指定一个内部DSCP值,策略分配和标识就必须完成。 建立策略是指创建一个策略,为流量指定限制带宽。超过限制的包 是配置以外的或者是不兼容的。每个策略器为包指定动作,他们或者在配置的里面或者外面。这些动 作,由标识器来执行,包括无修改的转发包,删除报或者标识成一个新的DSCP值,这些DSCP值包含在配置的DSCP策略地图中。

返回


从路由器获取策略明细


在QoS配置页签下面,接口上应用的策略就会连同路由器的名字和指定的流入流出策略一同显示。要提高NetFlow Analyzer识别应用在每个路由器级别上的策略,点击 check_status图标。就会调出一个新的窗口显示所有路由器的列表,以及路由器 的读团体字符串&端口等信息。点击“检查状态”或者“检查所有状态”,如果可能的话,就会从上面的每个接口上取到策略详细。

 

从路由器中取到策略详细的话,就会显示下面的信息:"策略详细更新完"。如果没有找到策略,就会显示“没有可用的策略”。

 

轮循CBQoS数据

 

在路由器上设置策略之后,获取策略轮循就可以开启。点击"修改接口"按钮可以选择/反选接口,这些接口正在被轮循。轮循参数中的轮循间 隔和超时值都可以被修改。轮循间隔的值可以是5, 10, 15, 25, 30, 60。超时值可以设置成5, 10, 15。选择/反选借口列表之后,轮循就开始进行,轮循参数可以通过“更新”完成,然后开始轮循动作。

创建一个流量分类

 

要创建一个流量分类,用class-map命令。class-map命 令的语法如下:

class-map [match-any | match-all] class-name
no class-map [match-any | match-all] class-name

match-allmatch-any关键词

只有当配置的流量类型超过一个匹配条件的时候,match-allmatch-any关 键词才需要指定。

为了让一个包被限制在一特定的流量类中,只有当流量类型中的全部匹配标准必须设置,match-all关 键词才被使用。

为了让一个包被限制在一特定的流量类中,只有当流量分类中的一个关键词被使用的时候,match-any关 键词才被使用。

如果没有match-all,也没有match-any关 键词被指定的话,流量分类就会用match-all关键词按照常规的统一的方式处理。

 

关于match not命令

 

match not命令,除了识别指定的匹配参数作为匹配标准,也用于指定一个匹配标准来防止一个 包被识别成一个分类的成员。例如,如果match not qos-group 6命令执行了的话,QoS组6就变成唯一的不作为成功的匹配标准的QoS组。全部其他的QoS组就将是成 功的匹配标准。

 

程序

 

要创建一个流量分类包含匹配标准,使用class-map命令来指定流量分类名。使用一个或者更 多match命令可以指定合适的匹配标准。您指定的包匹配标准就放在下面的流量分类中。

 

Note

下面的步骤中,列出来match命令。特定的match命 令变量依赖于平台和Cisco IOS的版本。对于match命令的有效性,参考你所使用的Cisco IOS命令指南。

 

配置步骤

 

命令和动作

目的

Step 1

Router> enable

Enables privileged EXEC mode.

Step 2

Router # configure terminal

Enters global configuration mode.

Step 3 

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

Creates a class to be used with a class map, and enters class-map configuration mode. The class map is used for matching packets to the specified class.

 

Note : The match-all keyword specifies that all match criteria must be met. The match-any keyword specifies that one of the match criterion must be met.

 

Use one or more of the following match commands, as applicable.

Step 4

Router(config-cmap)# match access-group

{access-group | name access-group-name

(Optional) Configures the match criteria for a class map on the basis of the specified access control list (ACL).

 

Note: Access lists configured with the optional log keyword of the access-list command are not supported when configuring a traffic class.

Step 5 

Router(config-cmap)# match any

(Optional) Configures the match criteria for a class map to be successful match criteria for all packets.

Step 6 

Router config-cmap)# match class-map class-name

(Optional) Specifies the name of a traffic class to be used as a matching criterion (for nesting traffic class [nested class maps] within one another).

Step 7

Router(config-cmap)# match cos cos-number

(Optional) Matches a packet based on a Layer 2 class of service (CoS) marking.

Step 8 

Router(config-cmap)# match destination-address mac address

(Optional) Uses the destination Media Access Control (MAC) address as a match criterion.

Step 9 

Router(config-cmap)# match discard-class class-number

(Optional) Matches packets of a certain discard class.

Step 10 

Router(config-cmap)# match [ip] dscp

dscp-value [dscp-value dscp-value dscp-value

dscp-value dscp-value dscp-value dscp-value]

(Optional) Identifies a specific IP differentiated service code point (DSCP) value as a match criterion. Up to eight DSCP values can be included in one match statement.

Step 11 

Router(config-cmap)# match field protocol

protocol-field {eq [mask] | neq [mask] |

gt | lt | range range | regex string}

value [next next-protocol]

(Optional) Configures the match criteria for a class map on the basis of the fields defined in the protocol header description files (PHDFs).

Step 12

Router(config-cmap)# match fr-dlci dlci-number

(Optional) Specifies the Frame Relay data-link connection identifier (DLCI) number as a match criterion in a class map.

Step 13 

Router(config-cmap)# match input-interface interface-name

(Optional) Configures a class map to use the specified input interface as a match criterion.

Step 14 

Router(config-cmap)# match ip rtp starting-port-number port-range

(Optional) Configures a class map to use the Real-Time Protocol (RTP) protocol port as the match criterion.

Step 15

Router(config-cmap)# match mpls experimental mpls-values

(Optional) Configure a class map to use the specified value of the Multiprotocol Label Switching (MPLS) experimental (EXP) field as a match criterion.

Step 16

Router(config-cmap)# match mpls experimental topmost values

(Optional) Matches the MPLS EXP value in the topmost label.

Step 17

Router(config-cmap)# match not match-criteria

(Optional) Specifies the single match criterion value to use as an unsuccessful match criterion.

Step 18

Router(config-cmap)# match packet length

{max maximum-length-value

[min minimum-length-value]

| min minimum-length-value

[max maximum-length-value]}

Optional) Specifies the Layer 3 packet length in the IP header as a match criterion in a class map.

Step 19

Router(config-cmap)# match port-type {routed | switched}

{routed | switched} (Optional) Matches traffic on the basis of the port type for a class map.

Step 20

Router(config-cmap)# match [ip] precedence precedence-value [precedence-value precedence-value precedence-value]

(Optional) Identifies IP precedence values as match criteria.

Step 21 

Router(config-cmap)# match protocol protocol-name

(Optional) Configures the match criteria for a class map on the basis of the specified protocol.

 

Note: There is a separate match protocol (NBAR) command used to configure network-based application recognition (NBAR) to match traffic by a protocol type known to NBAR.

Step 22 

Router(config-cmap)# match protocol citrix [app application-name-string] [ica-tag ica-tag-value]

(Optional) Configures NBAR to match Citrix traffic

Step 23 

Router(config-cmap)# match protocol fasttrack file-transfer "regular-expression"

(Optional) Configures NBAR to match FastTrack peer-to-peer traffic.

Step 24

Router(config-cmap)# match protocol gnutella file-transfer "regular-expression"

(Optional) Configures NBAR to match Gnutella peer-to-peer traffic.

Step 25 

Router(config-cmap)# match protocol http [url url-string | host hostname-string | mime MIME-type | c-header-field c-header-field-string | s-header-field s-header-field-string]

(Optional) Configures NBAR to match Hypertext Transfer Protocol (HTTP) traffic by URL, host, Multipurpose Internet Mail Extension (MIME) type, or fields in HTTP packet headers.

Step 26

Router(config-cmap)# match protocol rtp [audio | video | payload-type payload-string]

(Optional) Configures NBAR to match Real-Time Transfer Protocol (RTP) traffic.

Step 27

Router(config-cmap)# match qos-groupqos-group-value

qos-group-value (Optional) Identifies a specific QoS group value as a match criterion.

Step 28 

Router(config-cmap)# match source-address mac address-destination

(Optional) Uses the source MAC address as a match criterion.

Step 29 

Router(config-cmap)# match start {l2-start | l3-start} offset number size number {eq | neq | gt | lt | range range | regex string} {value [value2] | [string]}

(Optional) Configures the match criteria for a class map on the basis of the datagram header (Layer 2) or the network header (Layer 3).

Step 30 

Router(config-cmap)# match tag {tag-name}

(Optional) Specifies tag type as a match criterion.

Step 31

Route(config-cmap)# exit

(Optional) Exits class-map configuration mode.

 

 

 

创建一个流量策略

 

要配置一个流量策略(有时候也称一个策略地图),用policy-map命令。policy-map命 令允许您指定流量策略名,并允许您输入策略地图配置模式(开启QoS功能的先决条件,例如流量映射)。


关联流量策略到流量分类

用了policy-map命令之后,使用class命令来关 联流量分类(在"创建一个流量分类"部分创建)到流量策略。

 

class命令的语法如下:

 

class class-name
no class class-name

 

对于class-name参数,用您创建的分类名,他们是您用class-map命 令创建的流量分类(第三步"创建一个流量分类"部分)。

 

输入class命令之后,您就自动进入策略映射分类配置中。策略映射分类配置模式用于开启指定的 QoS功能。

 

程序

 

要创建一个流量策略(或叫策略地图)并开始一个或者多个QoS功能,执行下面的步骤。

 

Note

这里列出用于开启一个或者更多QoS功能的命令。例如,开启Class-Based Weighted Fair Queuing (CBWFQ),您需要用bandwidth 命令。不是所有QoS功能在所有平台上或者所有Cisco IOS版本上都有效。您可以使用的功能或者命令,请参考您正在使用的平台以及Cisco IOS的版本。

 

配置步骤

 

命令或者动作

目的

Step 1

Router> enable

Enables privileged EXEC mode.

Step 2

Router# configure terminal

Enters global configuration mode.

Step 3 

Router(config)#  policy-map policy-name

Creates or specifies the name of the traffic policy and enters policy-map configuration mode.

Step 4

Router(config-pmap)#  class {class-name |class-default}

Specifies the name of a traffic class (previously created in the "Creating a Traffic Class" section) and enters policy-map class configuration mode.

 

Use one or more of the following commands to enable the specific QoS feature you want to use.

Step 5 

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

(Optional) Specifies a minimum bandwidth guarantee to a traffic class in periods of congestion. A minimum bandwidth guarantee can be specified in kbps or by a percentage of the overall available bandwidth.

Step 6 

Router(config-pmap-c)# fair-queue number-of-queues

(Optional) Specifies the number of queues to be reserved for a traffic class.

Step 7

Router (config-pmap-c)# police bps [burst-normal][burst-max] conform-action action exceed-action action [violate-action action]

(Optional) Configures traffic policing.

Step 8 

Router(config-pmap-c)# priority {bandwidth-kbps | percent percentage} [burst]

(Optional) Gives priority to a class of traffic belonging to a policy map.

Step 9 

Router(config-pmap-c)# queue-limit number-of-packets

(Optional) Specifies or modifies the maximum number of packets the queue can hold for a class configured in a policy map.

Step 10 

Router(config-pmap-c)# random-detect [dscp-based | prec-based]

(Optional) Enables Weighted Random Early Detection (WRED) or distributed WRED (DWRED).

Step 11 

Router(config-pmap-c)# set atm-clp

(Optional) Sets the cell loss priority (CLP) bit when a policy map is configured.

Step 12

Router(config-pmap-c)# set cos {cos-value | from-field [table table-map-name]}

(Optional) Sets the Layer 2 class of service (CoS) value of an outgoing packet.

Step 13 

Router(config-pmap-c)# set discard-class value

(Optional) Marks a packet with a discard-class value.

Step 14 

Router(config-pmap-c)# set [ip] dscp {dscp-value | from-field [table table-map-name]}

(Optional) Marks a packet by setting the differentiated services code point (DSCP) value in the type of service (ToS) byte.

Step 15

Router(config-pmap-c)# set fr-de

(Optional) Changes the discard eligible (DE) bit setting in the address field of a Frame Relay frame to 1 for all traffic leaving an interface.

Step 16

Router(config-pmap-c)# set precedence {precedence-value | from-field [table table-map-name]}

(Optional) Sets the precedence value in the packet header.

Step 17

Route(config-pmap-c)# set mpls experimental value

(Optional) Designates the value to which the MPLS bits are set if the packets match the specified policy map.

Step 18

Router (config-pmap-c)# set qos-group {group-id | from-field [table table-map-name]}

(Optional) Sets a QoS group identifier (ID) that can be used later to classify packets.

Step 19

Router(config-pmap-c)# service-policy policy-map-name

(Optional) Specifies the name of a traffic policy used as a matching criterion (for nesting traffic policies [hierarchical traffic policies] within one another).

Step 20

Router(config-pmap-c)# shape {average | peak } mean-rate [burst-size [excess-burst-size ]]

(Optional) Shapes traffic to the indicated bit rate according to the algorithm specified.

Step 21 

Router(config-pmap-c)# exit

(Optional) Exits policy-map class configuration mode.

 

添加一个流量策略到一个接口

 

要添加一个流量策略到一个接口,用service-policy命令。service-policy命 令允许指定流量策略将被应用的方向(或者包流入接口或者包离开接口)。

 

service-policy 命令语法如下:

 

service-policy {input | output} policy-map-name
no service-policy {input | output} policy-map-name

 

 

程序

 

要添加一个流策略到一个接口,执行下面的步骤。

 

Note

基于您是使用的平台和Cisco IOS版本,流量策略可以添加到一个ATM permanent virtual circuit (PVC)子接口,Relay data-link connection identifier (DLCI),或者另外的接口类型。

 

 

 

命令或者动作

目的

Step 1

Router> enable

Enables privileged EXEC mode.

Step 2

Router# configure terminal

Enters global configuration mode

Step 3 

Router(config)# interface serial0

Configures an interface type and enters interface configuration mode.

Step 4

Router(config-if)#  service-policy output [type access-control] {input | output} policy-map-name

Attaches a policy map to an interface.

Step 5

Router (config-if)# exit

(Optional) Exits interface configuration mode.

 

Note

如果接口被关联到其他接口的话,隧道接口和物理接口不支持多流量策略。例如,如果一个流量策略被添加到一个隧道接口,另一 个流量策略被添加到一个物理接口,这个物理接口和隧道接口相关联,只有隧道接口上的流量策略有效工作。

 

验证流量分类和流量策略信息

 

要显示和验证关于流量分类或者流量策略的信息,执行下面的步骤。

 

 

命令或者动作

目的

Step 1

Router> enable

Enables privileged EXEC mode.

Step 2

Router# show class-map [type {stack | access-control}] [class-map-name]

(Optional) Displays all class maps and their matching criteria.

Step 3 

Router# show policy-map policy-map class class-name

(Optional) Displays the configuration for the specified class of the specified policy map.

Step 4

Router# show policy-map policy-map

(Optional) Displays the configuration of all classes for a specified policy map or all classes for all existing policy maps.

Step 5

Router# show policy-map interface [type access-control] type number [vc [vpi/] vci] [dlci dlci] [input | output]

(Optional) Displays the packet statistics of all classes that are configured for all service policies either on the specified interface or subinterface or on a specific permanent virtual circuit (PVC) on the interface.

Step 6

Router# exit

(Optional) Exits privileged EXEC mode.

 

使用CBQoS数据

一旦轮循开始,就会在CBQoS页签下面看到报表。报表包括流量,包个数,流量速度和队列。预策略,发布策略以及不同流量分类和序列状 态的分析可以让你验证您的QoS设置的有效性。不同的图形显示预策略,发布策略和丢弃的情况。CBQoS 策略应用之前,参考预策略。CBQoS策略发布之 后,参考发布策略。丢弃部分给出应用策略之后包被丢弃的情况。

 

基于这些信息再做适当调整就能让网络更加适合您组织的业务目标。

 

返回

 


Prev Home Next

Copyright © 2010, ZOHO Corp. All Rights Reserved.