您现在的位置是:首页 > 文章详情

《Cisco QoS认证考试指南(第2版)》一6.5 基于类的限速配置

日期:2017-05-01点击:354

本节书摘来自异步社区《Cisco QoS认证考试指南(第2版)》一书中的第6章,第6.5节,作者 【美】Wendell Odom , Michael J. Cavanaugh,更多章节内容可以访问云栖社区“异步社区”公众号查看

6.5 基于类的限速配置

Cisco QoS认证考试指南(第2版)
CB限速特性根据数据包是否符合、超出或违反流量契约(本章前文“限速如何工作”小节中详细解释了这3类流量分别表示什么意思),分别使用3种不同的行为来实现限速。一般来说,当数据包到达时有足够的Bc令牌可用,CB限速特性就会将其看作“符合”契约;当数据包到达时Bc不够但Be足够,该数据包就“超出”契约;当数据包到达时Bc和Be都不够,该数据包就“违反”契约

对于每个分类(符合、超出、违反)来说,CB限速特性可以使用不同的行为。本章后文的表6-11中列出了police命令中可以使用的行为关键字。一般有3种选择:丢弃数据包、传输数据包、首先重新标记某些QoS字段,然后传输数据包。CB限速特性使用MQC命令来实施配置。由于CB限速特性是基于类的,因此一旦启用,它可以针对接口或子接口上的流量子集进行限速。CB限速特性所使用的MQC分类命令与其他所有基于MQC的工具相同;你只需要多学一条MQC命令,就可以知道如何配置另一个MQC QoS特性。

在策略映射中使用police命令来配置CB限速特性。在police命令中,你需要以bit/s为单位定义限速速率,以字节为单位定义Bc,以字节为单位定义Be。要注意在CB整形特性的设置中,Bc和Be的单位是比特,而不是字节!

表6-10到表6-12后面有两个CB限速特性的配置案例(例6-7和例6-8)。表6-10列出了CB限速特性的配置命令。表6-11列出了police命令中可以配置的行为(MQC中的match命令没有列在其中,它可以应用在任何基于MQC的特性上,你可以从第3章的表3-2中查看相关内容)。表6-12列出了与CB限速特性相关的show命令。


2e78bdbaf6e764fb329bf3ff674a4833986930e5


5b19ebd423ef9e74f927a5ffe9b2be288609d322

针对数据包是否符合、超出或违反流量契约,对数据包实施的行为归结为:丢弃数据包、传输数据包、首先重新标记某些QoS字段,然后传输数据包。drop和transmit选项的作用很明显。但CB限速特性还提供诸如set-prec-transmit和set-dscp-transmit的关键字,即限速器会在传输数据包之前,将数据包的IP优先级或DSCP字段标记为一个更低的值。你可以回顾一下“限速如何工作”小节,将数据包重新标记非常有用,因为在之后的拥塞中,这种数据包更可能被丢弃,但如果没有拥塞,数据包可以被传输。你也可以配置CB限速特性实施多种行为,比如为超出契约的数据包标记DSCP和LAN CoS字段。

你可以使用CB限速特性来为进入或离开一个接口的所有或部分流量进行限速。在第一个案例中,ISP边界路由器对从一个企业网络来的所有流量进行入向限速。第一个CB限速案例的配置规则如下:

创建单速率三色限速配置;
在ISP边界路由器上,将所有入向流量限速为96 kbit/s;
允许发送与1秒等量的Bc;
允许发送与0.5秒等量的Be;
违反契约的流量被丢弃;
超出契约的流量被标记为DSCP Be;
遵守契约的流量无需重新标记就转发。
图6-20给出了案例的网络结构,例6-7展示了配置信息。

PB帐篷公司的网络


a515553bd01fb84d0c673541b4748ba6ed6fd22b

例6-7 ISP边界路由器,单速率三色CB限速特性,限速速率为96 kbit/s


300044b9fa8cbbbb36966598f1fc3e7a76bd3f1f

这个配置获益于策略映射的一个规则:所有没有匹配到某个类的流量最终都进入class-default类中。由于设计目标是对所有流量进行限速,因此无需明确配置类映射——默认情况下所有流量都会匹配策略映射下的class-default类。因此在策略映射police-all中,可以使用police cir 96000 bc 12000 be 18000conform-action transmit exceed-action set-dscp-transmit 0 violate-action drop命令,为class-default类启用限速特性。

在这里,police命令将限速速率设置为96 000 bit/s,突发容量为12 000字节。整形工具在配置Bc和Be时以比特为单位;IOS限速器在配置这些值时以字节为单位。本例的配置规则中要求使用96 000 bit/s的CIR,允许在1秒内发送与1秒等量的Bc和12 000字节。excess-burst配置参数为6000字节,是Bc的一半。配置规则要求允许与0.5秒等量的Be,以96 kbit/s发送6000字节确实需要0.5秒。

要记住所有IOS整形器在设置Bc和Be时,都以比特为单位;限速器以字节为单位。

police命令中定义了单速率,但事实上这是一个三色限速配置,而不是一个双色配置,乍一看可能并不好分辨。为了配置三色限速器,你需要配置大于0的Be值或者配置一个违反行为,或者同时配置上述两点。在本例中就同时配置了这两个参数,同时告诉IOS使用双令牌桶,以便将数据包分为3类。

在例6-7中,police命令传输遵守契约的数据包,将超出契约的数据包标记为DSCP 0,并丢弃违反契约的数据包。show policy- map命令的输出内容重复了配置命令,与阴影部分相同。show policy-map interface s1/0命令显示了遵守、超出和违反契约的数据包数量。

6.5.1 对流量子集进行限速

使用CB限速特性的一大好处在于可以针对每个类进行限速。第二个案例(例6-8)展示使用CB限速特性,将Web流量与其他流量分类进行限速。其中CB限速特性的配置规则如下所示。

在ISP边缘路由器上,将入向Web流量限速为80 kbit/s。传输符合和超出契约的流量,丢弃违反契约的流量。
在ISP边缘路由器上,将入向所有其他流量限速为16 kbit/s。将超出和违反契约的流量标记为DSCP 0。
允许发送与1秒等量的Bc。
允许发送与0.5秒等量的Be。
例6-8给出了配置信息。

例6-8 ISP边界路由器,CB限速特性限制Web流量为80 kbit/s,其他流量16 kbit/s并标记为Be


552c3488e747962e36a0032181451455e014ce5b

若你现在开始习惯使用MQC配置命令,这个配置应该相对比较好理解。class-map match-all match-web命令创建了一个新的类,并使用NBAR来匹配所有Web流量。policy-map police-web命令创建了一个新的策略映射,其中使用class match-web来分类Web流量,使用class class-default来分类所有其他流量。

在策略映射的每一个类中都使用了police命令,分别设置了配置规则中要求的参数。举例来说,police cir 80000 bc 10000 be 5000 conform- action transmitexceed-action transmit violate-action drop命令将速率设置为80 kbit/s,与1秒等量的Bc值10 000字节,并将Be配置为5 000字节。

show policy-map interface s1/0命令列出了统计信息,本例中能看到在策略映射police-web中有两个类。这里还能看到每个类的限速统计信息,因为为每个类都启用了CB限速特性。

6.5.2 配置双速率限速

在CB限速特性配置部分展示的前两个案例,都使用单速率双令牌桶。通过使用双令牌桶,CB限速特性可以创建3类数据包,分别为符合、超出和违反流量契约。使用RFC 2496中定义的术语,这两个案例中配置的CB限速特性都使用单速率三色限速器,“三色”表示3个类别(遵守、超出、违反)。

注释:为了创建单速率双色CB限速配置,只需要在police命令中不配置violate-action关键字和Be值即可。
本小节将给出一个配置双速率三色限速器的案例。你可能还记得前文“CB限速:双速率三色(双令牌桶)”小节中,双速率限速器使用两个速率,一个称为CIR,另一个称为PIR。使用双速限速器的目标是定义两个速率,低于CIR的数据包为遵守契约,高于CIR但低于PIR的数据包为超出契约,所有其他数据包为违反契约。

为了配置两个不同的速率,仍可以使用police命令。但语法结构与前文有一些不同,具体语法如下所示:


c63a52d96cff83b23dd66dfa34a04e3abfbb22ee

注意在这个命令的语法中,你必须配置CIR和PIR(大括号表示必须配置的参数)。你还可以在命令中设置Bc和Be值,以及遵守、超出和违反行为。

比如若你希望配置双速率限速特性,CIR为96 kbit/s,PIR为128 kbit/s,那么你需要使用police cir 96000 pir 128000命令。

6.5.3 CB限速其他内容

对于CB限速特性来说,还有一些你需要知道的内容。这里分别介绍这些内容。

1.多行为限速
当数据包违反契约时,不将其丢弃,而是将其标记为DSCP 0。这样一来,若网络没有拥塞,数据包可以通过,若网络发生拥塞,其他路由器可能会更容易丢弃这个数据包。

有时候工程师可能希望标记数据包头部的多个字段。比如帧中继交换机会根据帧中继头部中的DE位来判断是否优先丢弃该数据包,拥塞发生时,设置了DE位的数据包比未设置DE位的数据包更容易丢弃。当数据包违反了契约时,工程师可能希望既标记DSCP,又标记FR DE。

Cisco能够支持在限速特性中,为同一个类标记多个字段。为了实现这一目的,首先要在police命令中设置速率,但行为不在police命令中配置。这并不是省略了行为配置,police命令会使用户进入另一个子模式,在那里可以逐条配置行为。在配置多个行为时,要用到多条conform-action、exceed-action或violate-action子命令。例6-9给出了案例,本例将违反流量契约的数据包标记为DSCP 0和FR DE。

例6-9 多行为限速特性


3ddab60e2c4d2ab749c12210dce8173fee0b2a65

要注意上述配置并不是通过_一条police命令完成的,而是在police命令的子模式中分别配置的。尤其是注意本例中使用了两条violate-action子命令,分别定义了不同的行为。

2.百分比限速
与shape命令一样,IOS也允许你使用链路带宽百分比来配置限速特性。你也可以以毫秒为单位配置Bc和Be,这样的话,IOS在计算真实的Bc和Be值时,会根据多少毫秒内允许发送多少比特来计算。例6-10所示的双速率限速配置中使用了百分比选项。

例6-10 配置基于百分比的限速特性


cea0914b44c4db228745a70ee1bdbf97682c85fa

包含percent关键字的police命令告诉IOS将配置的CIR和PIR值转换成链路百分比。然后在interface serial0/0上启用,接口S0/0上配置了bandwidth256命令,IOS能够将百分比转换为实际的比特率。比如在show policy-map interface s0/0命令的输出中可以看到,在一行中显示出CIR为25%,下一行显示出CIR为64000 bit/s。计算方法很简单,就是将接口带宽乘以百分比,也就是256 kbit/s的25%。PIR的计算方法也一样,本例中PIR为50%,即128 kbit/s的50%。

注意在本例中,在配置Bc和Be值之后,还添加了关键字ms(表示毫秒)。这是为了计算实际的Bc和Be,计算也同样简单。IOS会计算出使用该速率,在这么多毫秒内可以发送多少比特。比如Bc设置为500毫秒,CIR为64 kbit/s,那么在500毫秒内可以发送32 000比特(0.5秒×64 000 bit/s),从而计算出的Bc值为32 000比特。但在限速特性中,Bc和Be是以字节为单位的——因此在show policy-map interface命令中显示出Bc为4000字节。同样地,Be等于PIR×毫秒数(128 000 bit/s×0.5秒),即64 000比特。在show policy-map interface命令的输出中将其转换为字节,即8000字节。

3.Bc和Be的CB限速默认设置
若你没有配置Bc值,CB限速特性会根据以下公式计算出默认值:

Bc=CIR/32

即使算法很简单,这个公式看起来却有些随机。这个公式背后的逻辑是要计算出,根据CIR定义的速率,在1/4秒内可以发送多少字节。要记住CIR的单位是bit/s,而Bc设置的单位是字节。因此下面这个公式可能更好理解:

Bc=(CIR×0.25秒)/8比特

还要注意,CB限速特性不允许计算出的默认值低于1500——若计算结果低于1500,CB限速特性就会使用1500。

对于Be来说,默认值取决于你配置的是单令牌桶(双色)限速器,还是双令牌桶(三色)限速器。要想配置单令牌桶/双色限速器,只需省略Be和violate-action选项。这样一来,Be默认是0。只要你配置了违反行为,或者将Be设置为非0的值,IOS就认为你想要实现双令牌桶/三色限速功能。这样一来,IOS默认Be=Bc。

在使用双速率限速特性时,若没有配置Bc和Be,IOS会使用前文公式来计算Bc的值。同时使用有一点不同的公式来计算Be的值,即根据PIR来计算:

Be=(PIR×0.25秒)/8比特=PIR/32

图6-13总结了Bc和Be的默认配置。表中列出了所有3种情况,并且给出了如何分辨使用的是哪种配置的方法。


92add7f8ad42ac520d5053120af9343f318b9a5c

4.百分比限速
与shape命令一样,police命令也可以使用链路带宽百分比进行配置。配置的概念也与shape命令相同。举例来说,若一个接口的bandwidth设置是128 kbit/s,限速速率为64 kbit/s,那么可以使用policecir percent 50命令。使用百分比选项的police命令语法如下:


94b19f4a67619841f0a12bd4c6271aa61ed1e436

在police命令中使用percent选项时,你只需配置CIR百分比。要想配置单速率限速器,只需要不配置pir即可;要想配置双速率限速器,就要配置pir选项。无论用这条命令定义单速率还是双速率限速特性,只要没有配置Bc和Be值,IOS就会使用上述规则来计算Bc和Be的默认值。

6.5.4 CB限速配置小结
Cisco IOS中的CB限速特性包含很多功能,本章介绍了其中的大部分。命令语法、police命令的用法、show命令的输出内容都很重要。如何在Cisco IOS中实施CB限速特性也同样重要,下面总结了这些核心特性。

单速率双色限速特性,它使用单令牌桶和两个行为分类(符合和超出)。
单速率三色限速特性,它使用双令牌桶和3个行为分类(符合、超出和违反)。
双速率三色限速特性,它使用双令牌桶,同时支持CIR和PIR速率。
“双色”和“三色”表示限速器能够分类的行为类别——符合、超出和违反。
通过使用MQC中的类,可以对流量子集实施限速,即在需要被限速的流量类中使用police命令。
支持多行为限速特性,即重复使用conform-action、exceed-action和/或violate-action关键字。
在使用单速率限速特性时,若没有配置Bc和Be,IOS将Be和Bc值计算为:Be=0,Bc=1500或Bc=CIR/32。
在使用双速率限速特性时,若没有配置Bc和Be,IOS将Be和Bc值计算为:Bc=1500或Bc=CIR/32,Be=1500或Be=PIR/32。
police命令中可以通过配置链路带宽的百分比来配置速率,即将Bc和Be设置为多少毫秒。

原文链接:https://yq.aliyun.com/articles/102957
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章