16.2.2.1 mls qos

    命令:mls qos

    no mls qos

    功能:全局下启动qos;本命令的no 操作为关闭全局的qos。

    命令模式:全局配置模式

    缺省情况:关闭qos。

    使用指南:qos 提供八个队列支持处理八种优先级别的流量。该功能同流控功能互斥。

    举例:打开和关闭qos 功能。

    switch(config)#mls qos enable

    switch(config)#no mls qos enable

    16.2.2.2 class-map

    命令:class-map [class-map-name]

    no class-map [class-map-name]

    功能:建立一个class-map(分类表),并进入class-map 模式;本命令的no 操作为删除指定的class-map。

    参数: [class-map-name] 分类表的名称。

    缺省情况:缺省不存在分类表。

    命令模式:全局配置模式

    使用指南:

    举例:创建和删除一个命名为c1 的class-map。

    switch(config)#class-map c1

    switch(config-classmap)# exit

    switch(config)#no class-map c1

    16.2.2.3 match

    命令: match {access-group [acl-index-or-name] | ip dscp [dscp-list]| ip precedence [ip-precedence-list]| vlan [vlan-list]} no match {access-group | ip dscp | ip precedence | vlan }

    功能:设置分类表中的匹配标准;本命令的no 操作为删除指定的匹配标准。

    参数:access-group [acl-index-or-name] 匹配指定的acl 表,参数为acl 的编号或名称;ip dscp [dscp-list] 匹配指定的dscp 值,参数为一个dscp 值列表,最多由8 个dscp 值组成;ip precedence [ip-precedence-list] 匹配指定的ip 优先级值,参数为一个ip 优先级值列表,最多由8 个ip 优先级值组成,范围为0~7;vlan [vlan-list] 匹配指定的vlan id 值,参数为一个vlan id 列表,最多8 个vlan id。

    缺省情况:缺省不存在匹配标准。

    命令模式:class-map(分类表)配置模式

    使用指南:每个分类表内,只能设置一条匹配标准。当匹配acl 时,acl 内只能设置perimit规则。

    举例:创建一个命名为c1 的class-map,设置此class-map 的分类规则是匹配ip precedenc优先级为0,1 的报文。

    switch(config)#class-map c1

    switch(config-classmap)#match ip precedence 0 1

    switch(config-classmap)#exit

    16.2.2.4 policy-map

    命令:policy-map [policy-map-name]

    no policy-map [policy-map-name]

    功能:建立一个policy-map(策略表),并进入policy-map(策略表)模式;本命令的no操作为删除指定的policy-map。

    参数:[policy-map-name] 策略表名称。

    缺省情况:缺省不存在策略表。

    命令模式:全局配置模式

    使用指南:进入策略表配置模式后,可以进行一系列qos 的分类匹配和标记等操作。

    举例:创建和删除一个命名为p1 的policy-map。

    switch(config)#policy-map p1

    switch(config-policymap)#exit

    switch(config)#no policy-map p1

    16.2.2.5 class

    命令:class [class-map-name]

    no class [class-map-name]

    功能:对应一个class(分类表),并进入策略分类表模式;本命令的no 操作为删除指定策略分类表。

    参数:[ class-map-name ] 指定策略分类表采用的分类表名称。

    缺省情况:缺省不存在策略分类表。

    命令模式:策略表配置模式

    使用指南:建立策略分类表以前,必须先建立一个策略表并且进入策略表模式;在策略分类表模式中,可以对按照分类表分类的包流量进行分类和策略配置。

    举例:进入一个策略分类表模式。

    switch(config)#policy-map p1

    switch(config-policymap)#class c1

    switch(config--policy-class)#exit

    16.2.2.6 set

    命令:set {ip dscp [new-dscp] | ip precedence [new-precedence]}

    no set {ip dscp | ip precedence}

    功能:为分类后的流量分配一个新的dscp 和ip precedence 值;本命令的no 操作为取消分配新的值。

    参数:[new-dscp] 新的dscp 值;[new-precedence] 新的ip 优先级值。

    缺省情况:缺省不进行分配。

    命令模式:策略分类表配置模式

    使用指南:只有符合匹配标准被分类出来的流量才会被重新分配新的值。

    举例:将满足c1 分类规则的报文里的ip precedence 值都设为3。

    switch(config)#policy-map p1

    switch(config-policymap)#class c1

    switch(config--policy-class)#set ip precedence 3

    switch(config--policy-class)#exit

    switch(config-policymap)#exit

    16.2.2.7 police

    命令: police [rate-kbps] [burst-kbyte] [exceed-action {drop | policed-dscp-transmit}]

    no police [rate-kbps] [burst-kbyte] [exceed-action {drop | policed-dscp-transmit}]

    功能:为分类后的流量配置一个策略;本命令的no 操作为删除指定的策略。

    参数:[rate-kbps] 分类后的流量的平均波特率,单位是千比特/秒,范围是1000~10000000;[burst-kbyte] 分类后流量的突发值,单位是千字节,范围是1~1000000;exceed-action drop 当超出指定的速率时,采取丢包的策略; exceed-action policed-dscp-transmit 当超出指定的速率时,根据policed-dscp 的映射关系,采取mark down 包dscp 值的策略。

    缺省情况:缺省没有策略。

    命令模式:策略分类表配置模式

    使用指南: [rate-kbps] [burst-kbyte] 值的范围很大,如果配置超过了端口的实际速率,应用这条策略的策略表就不会被捆绑到交换机端口。

    举例:将满足c1 分类规则的报文的带宽设置为20m 比特/秒,突发值设置为2m 字节,超出此带宽的报文一律丢弃。

    switch(config)#policy-map p1

    switch(config-policymap)#class c1

    switch(config--policy-class)#police 20000 2000 exceed-action drop

    switch(config--policy-class)#exit

    switch(config-policymap)#exit

    16.2.2.8 mls qos aggregate-policer

    命令: mls qos aggregate-policer [aggregate-policer-name] [rate-kbps]

    [burst-kbyte] exceed-action {drop |policed-dscp-transmit}

    no mls qos aggregate-policer [aggregate-policer-name]

    功能:定义一个集合策略,这个策略可以在同一个策略表内部被多个策略分类表使用;本命令的no 操作为删除指定的集合策略。

    参数:[aggregate-policer-name] 集合策略的名称;[rate-kbps] 分类后的流量的平均波特率,单位是千比特/秒,范围是1000~10000000;[burst-kbyte] 分类后流量的突发值,单位是千字节,范围是1~1000000;exceed-action drop 当超出指定的速率时,采取丢包的策略;exceed-action policed-dscp-transmit 当超出指定的速率时,根据 policed-dscp 的映射关系,采取mark down 包dscp 值的策略。

    缺省情况:缺省没有定义集合策略。

    命令模式:全局配置模式

    使用指南:如果一个集合策略被某个策略表所采用,不能直接删除,必须先在对应的策略表内用no police aggregate [aggregate-policer-name]命令取消对这个集合策略的引用,才能在全局模式下用no mls qos aggregate-policer [aggregate-policer-name]删除该

    集合策略。

    举例:将创建一个集合策略aggregate-policer,命名为agg1,此集合策略的定义为报文带宽设置为20m 比特/秒,突发值设置为2m 字节,超出此带宽的报文一律丢弃。

    switch(config)#mls qos aggregate-policer agg1 20000 2000 exceed-action drop

    16.2.2.9 police aggregate

    命令:police aggregate [aggregate-policer-name]

    no police aggregate [aggregate-policer-name]

    功能:为分类后的流量应用一个集合策略;本命令的no 为删除指定的集合策略。

    参数:[aggregate-policer-name] 集合策略的名称。

    缺省情况:缺省没有定义集合策略。

    命令模式:策略分类表配置模式

    使用指南:可以在不同策略分类表内引用同一个集合策略。

    举例:将满足c1 分类规则的报文应用集合策略agg1。

    switch(config)#policy-map p1

    switch(config-policymap)#class c1

    switch(config--policy-class)#police aggregate agg1

    switch(config--policy-class)#exit

    switch(config-policymap)#exit

    16.2.2.10 mls qos trust

    命令: mls qos trust [cos [pass-through-dscp]|dscp [pass-through-cos]|

    ip-precedence [pass-through-cos] |port priority [cos]] [no] mls qos trust

    功能:配置交换机端口信任状态;本命令的no 操作为禁止交换机端口的当前信任状态参数:cos 配置端口信任cos 值;cos pass-through-dscp 配置端口信任cos 值,但是不更改包的dscp 值;dscp 配置端口信任dscp 值;dscp pass-through-cos 配置端口信任dscp 值,但是不更改包的cos 值;ip-precedence 配置端口信任ip 优先级;ip-precedence pass-through-cos 配置端口信任ip 优先级,但是不更改包的cos 值。

    port priority [cos]为给物理端口分配一个优先级,cos 为分配的优先级参数,从该端口进来的报文的优先级都设置为此cos 值,与报文自身携带的优先级无关,不对报文进行任何修改。

    缺省情况:不信任任何值。

    命令模式:接口配置模式

    使用指南:对于同时具有cos 值和dscp 值的包,如果不希望在classification 后,不被信任的那个值被更改,使用pass-through 关键字进行保护。

    举例:在端口ethernet 0/0/1 配置信任cos 值,即报文按cos 值分类,同时不改变报文里的dscp 值。

    switch(config)#interface ethernet 0/0/1

    switch(config-ethernet0/0/1)#mls qos trust cos pass-through-dscp

    16.2.2.11 mls qos cos

    命令:mls qos cos {[default-cos] }

    no mls qos cos

    功能:配置交换机端口的缺省cos 值;本命令的no 操作为恢复缺省情况。

    参数:[default-cos] 交换机端口的缺省cos 值,范围为0~7。

    缺省情况:缺省cos 值为0。

    命令模式:接口配置模式

    使用指南:

    举例:在端口ethernet 0/0/1 配置缺省cos 值为5,即从此端口进来的报文如果不带cos 值,则分配默认cos 值为5。

    switch(config)#interface ethernet 0/0/1

    switch(config-ethernet0/0/1)#mls qos cos 5

    16.2.2.12 service-policy

    命令:service-policy {input [policy-map-name] | output [policy-map-name]}

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

    功能:在交换机端口上应用一个策略表;本命令的no 操作为删除应用到交换机端口的某个指定策略表。

    参数:input [policy-map-name] 将指定名称的策略表应用到交换机端口的入口;output [policy-map-name]将指定名称的策略表应用到交换机端口的出口。

    缺省情况:缺省端口没有捆绑策略表。

    命令模式:接口配置模式

    使用指南:配置端口的信任状态和在端口上应用策略表是互斥的,较后的配置会覆盖以前的配置;每个端口在每个方向上只能应用一个策略表。目前在出口不支持出口策略表。

    举例:在端口ethernet 0/0/1 的入口上绑定策略p1。

    switch(config)#interface ethernet 0/0/1

    switch(config-ethernet0/0/1)# service-policy input p1

    16.2.2.13 mls qos dscp-mutation

    命令:mls qos dscp-mutation [dscp-mutation-name]

    no mls qos dscp-mutation [dscp-mutation-name]

    功能:在交换机端口上应用dscp 转换映射;本命令的no 操作为恢复dscp 转换映射的缺省值。

    参数:[dscp-mutation-name] dscp 转换映射的名称。

    缺省情况:缺省没有dscp 转换映射。

    命令模式:接口配置模式

    使用指南:在交换机端口配置dscp 转换映射,该端口的信任状态必须为trust dscp 才会生效,应用dscp 转换映射,可以使指定dscp 值不经过class 和policy 直接转换为新的dscp 值;dscp 转换映射只对本端口有效,此时trust dscp 是针对dscp mutation 之前的dscp 值。

    举例:在端口ethernet 0/0/1 上配置信任dscp,采用mu1 的dscp 转换映射。

    switch(config)#interface ethernet 0/0/1

    switch(config-ethernet0/0/1)#mls qos trust dscp pass-through cos

    switch(config-ethernet0/0/1)#mls qos dscp-mutation mu1

    16.2.2.14 wrr-queue bandwidth

    命令:wrr-queue bandwidth [weight1 weight2 weight3 weight4 weight5 weight6

    weight7 weight8] no wrr-queue bandwidth

    功能:设置交换机端口出队列的wrr 权重;本命令的no 操作为恢复缺省值。

    参数:[weight1 weight2 weight3 weight4 weight5 weight6 weight7 weight8] wrr 权重值,范围为0~15。

    缺省情况:缺省weight1 到weight8 为1 到8。

    命令模式:接口配置模式

    使用指南:wrr 权重的绝对值是没有意义的,wrr 通过八个权重值的比率来分配带宽,如果设置0,则此队列为最高优先级队列,当多个队列配置为0 时,则高队列的优先级更高。

    举例:将8 个出队列的带宽比重设为1:1:2:2:4:4:8:8。

    switch(config-ethernet0/0/1)#wrr-queue bandwidth 1 1 2 2 4 4 8 8

    16.2.2.15 qos priority-queue out

    命令:priority-queue out

    no priority-queue out

    功能:配置队列出队模式;本命令的no 操作为恢复缺省值,并且出口队列权重也恢复为缺省值。

    参数:

    缺省情况:非priority-queue 模式。

    命令模式:接口配置模式

    使用指南:当采用priority-queue 出队模式后,不再采用wrr 加权算法来发生报文,而是当前队列的报文发生完毕以后才发送下一个队列的报文。

    举例:将出队工作方式设置为priority-queue 工作方式。

    switch(config-ethernet0/0/1)#priority-queue out

    16.2.2.16 wrr-queue cos-map

    命令:wrr-queue cos-map [queue-id] [cos1 ... cos8]

    no wrr-queue cos-map `queue-id`

    功能:设置交换机端口出队列于cos 值的映射;本命令的no 操作为恢复缺省值。

    参数:[queue-id]为出队列的id,范围为1~8;[cos1 ... cos8] 映射到出队列的cos 值最多为8 个,范围为0~7。

    缺省情况:

    default cos-to-egress-queue map when qos is enabled

    cos value 0 1 2 3 4 5 6 7

    queue selected 1 2 3 4 5 6 7 8

    命令模式:全局配置模式

    使用指南:全局qos 关闭时,为默认映射值。

    举例:将cos 值为2,3 的报文映射到出队队列1。

    switch(config)#wrr-queue cos-map 1 2 3

    16.2.2.17 mls qos map

    命令:mls qos map {cos-dscp [dscp1...dscp8] | dscp-cos [dscp-list] to [cos] | dscp-mutation [dscp-mutation-name] [in-dscp] to [out-dscp] |ip-prec-dscp [dscp1...dscp8] | policed-dscp [dscp-list] to [mark-down-dscp]} no mls qos map {cos-dscp | dscp-cos | dscp-mutation [dscp-mutation-name] | ip-prec-dscp | policed-dscp}

    功能:设置class of service(cos)-to-differentiated services code point (dscp) 映射,dscp-to-cos 映射,dscp-to-dscp-mutation 映射,ip-precedence-to-dscp 映射和policed-dscp 映射;本命令的no 操作为恢复缺省映射值。

    参数: cos-dscp [dscp1...dscp8] 定义cos 值到dscp 值的映射,[dscp1...dscp8] 为8 个dscp 值分别对应cos 值的0~7,每个dscp 值之间用空格隔开,dscp 值的范围为0~63; dscp-cos [dscp-list] to [cos] 定义dscp值到cos值的映射,[dscp-list]为dscp 值的列表,最多容纳8 个dscp 值,[cos]为列表中的dscp 值所对应的cos值;dscp-mutation [dscp-mutation-name] [in-dscp] to [out-dscp] 定义dscp 值到dscp 值的转换映射,[dscp-mutation-name] 为转换映射的名称,[in-dscp] 入dscp 值,最多有8 个,每个dscp 值之间用空格隔开,dscp 值的范围是0~63,[out-dscp] 出dscp 值,只有一个,在入dscp 中定义的8 个值将被转变成出dscp 值;ip-prec-dscp [dscp1...dscp8] 定义ip 优先级到dscp 值的转换,[dscp1...dscp8]为8 个dscp 值分别对应ip 优先级值的0~7,每个dscp 值之间用空格隔开,dscp 值的范围为0~63;policed-dscp [dscp-list] to [mark-down-dscp] 定义dscp mark down 映射,

    [dscp-list] 为dscp 值的列表,最多容纳8 个dscp 值,[mark-down-dscp]为mark down 以后的dscp 值。

    缺省情况:缺省映射值为:

    default cos-to-dscp map

    cos value 0 1 2 3 4 5 6 7

    dscp value 0 8 16 24 32 40 48 56

    default dscp-to-cos map

    dscp value 0–7 8–15 16–23 24–31 32–39 40–47 48–55 56–63

    cos value 0 1 2 3 4 5 6 7

    default ip-precedence-to-dscp map

    ip precedence value 0 1 2 3 4 5 6 7

    dscp value 0 8 16 24 32 40 48 56

    dscp-mutation 和policed-dscp 缺省没有配置

    命令模式:全局配置模式

    使用指南:在police 命令中,可以设置超过规定平均速率或突发值的分类包流量进行mark down 处理,policed-dscp [dscp-list] to [mark-down-dscp] 可以设置将这些包的dscp 值mark down 为新的dscp 值。

    举例:将cos-to-dscp 的映射值由默认的0 8 16 24 32 40 48 56 改为0 1 2 3 4 5 6 7。

    switch(config)#mls qos map cos-dscp 0 1 2 3 4 5 6 7