词条 | CBWFQ |
释义 | CBWFQ 基于类别的加权公平排队。 CBWFQ(通常使用ACL)定义数据流类别,并将注入宽带和队列限制等参数应用于这些类别。 基于类的加权公平队列(class-based weighted fair queuing)是网络中的一个队列配置方案,其允许通信基于标准分类,例如访问控制列表,输入界面名,协议和服务质量(QoS)标志。CBWFQ扩展了加权公平队列(weighted fair queuing)功能的标准来提供自定义通信类型支持。 一、顾名思义Class-Based首先要定义一个Class; Example:(config)#class-map [match-all | match-any] myclass match-all 指名条件必须全部满足,才可以执行,此为Default值;match-any表示匹配任何一个条件就可以执行。class-map的名字不要超过64个字符,同时要满足Cisco 命名字符要求。 接下来输入匹配条件 1、匹配另一个CLass-map Example:(class-map)#match class-map comclass match 为匹配关键字,class- map comclass 为另一个Class-Map,一个Class-map可以调用另外一个Class-map可以实现复杂的匹配条件。 2、匹配一种协议类型: Example:(class-map)#match protocol myprotocol protocol是协议关键字,其协议类型源于NBAR(Network-Based Application Recognition),可以从Cisco网站下载PDLM (Packet Description Language Module,分组描述语言模块)文件,装到Flash中,增加协议类型。其中类型包括 EGP,ICMP,EIGRP,DNS,HTTP,Telnet等上百种具体协议。 3、可以匹配访问列表: Example:(class-map)#match access-group [number | name myname],可以匹配基于号码的list和基于Name的Access list,大家都很熟了,不多说了。 4、匹配CoS (class of Servie) Exampleclass-map)#match cos mycos1 mycos2.. 匹配分组标识CoS值,最多可以连续匹配四个值,Cos取值范围0(低)->7(高)。 5、匹配IP优先级(IP Precedence) Example:(class-map)#match ip precedence myprecedence1 myprecedence2.. 类似COS,最多4个值,取值范围0-7。 6、匹配DSCP值(Differentiated Services Code Point)DSCP采用IP分组的服务类型字节(TOS)。 Exampleclass-map)#match ip dscp mydscp1 mydscp2... dscp取值范围0-63,最多连续匹配8个dscp值。 7、匹配实时协议RTP(Real-Time Protocol)(一般语音或视频) Example:(class-map)#match ip rip start-port port-range 起始端口为2000-65535,范围从0到16383,用来匹配UDP端口。 8、匹配入接口(为什么只有入接口?猜测看) Example:(class-map)#match input-interface type number 不说了,一看就懂。 9、匹配目的MAC: Example:(class-map)#match destination-address mac mymacaddress 同上。 10、还有一些不常用的,就不提了,感兴趣的朋友可以看看相关资料。 二、类别定义好了,就看如何使用了: 1、定义策略映像:(globle)#policy-map my-policymap 简单。 2、指定一种或多种流量类型(最多64个类型):(pmap)#class myclass 注意在Policy-map配置模式下,别和Class-Map混淆了。 3、使用Default类型,缺省情况下思科早为你准备好了一个Default class,适用于任何你没有定义的其他类型,名字叫class-default ,要记住,打?是看不到的。 Example:(pmap)#class class-default 类型都指定了,我们总该做点什么吧?该用SET命令了。 4、设置FR的FRDE(Frame Relay Discard Eligibiltiy),12.2(2)T 以上才有呢。 Example:(pmap-class)#set fr-de 注意当前配置模式,此命令没有参数。 5、SET COS Example:(pmap-class)#set cos cos 6、SET IP Precedence Example:(pmap-class)#set ip precedence myprecedence 7、SET IP DSCP Example:(pmap-class)#set ip dscp mydscp 说了老半天,下面才是我们想要的。 8、给类型分配带宽: Example:(pmap-class)#bandwidth { mybandwidth | percent mypercent} mybandwidth 指定具体带宽,如果知道接口总带宽就可以使用; percent关键字指定接口可用带宽百分比,0-100取值,默认情况下接口可用最大带宽为物理带宽的75%(其余25%留给系统自己用),所以percent 值是75%的percent,而不是物理带宽的percent,我们可以使用max-reserved-bandwidth precent 更改最大可用带宽,注意了,不用随意更改!!!,如果你只定义了你喜欢的流量而没有指定default-class,或者给default-class 很小的带宽,你就惨了,有可能连路由学不到,而且还不知道什么原因。该带宽是按照WFQ算法进行,不一定完全符合,下面介绍一个完全符合的。 9、将LLQ用于严格的优先级类型: Example:(pmap-class)#priority { mybandwidth | percent mypercent} mybandwidth 完全符合,类似PQ算法,主要适用于低延迟的语音,要仔细规划好才使用,免得出错。 10、使用流量管理来控制流量速率 Example:(pmap-class)#police bps burst-normal burst-max conform-action action exceed-action action [violate-action action] 这条命令稍微复杂些,bps 指定平均流量速率(bit/s),burst-normal burst-max 分别是流量能突发超出平均值和过度超出平均值,都以字节为单位;我们可以根据流量速率和管理阀值之间的关系,制定相应的措施。如果流量符合bps速率或者升高但低于正常的突发burst -normal,会采取conform-action;如果流量升高到介于burst-normal和 burst-max之间,则采取exceed- action;最后,如果流量超过burst-max值,如果指定了violate-action,则会采取相应措施,如果没有指定,则burst- max对流量没有任何影响。action可以是drop, set-qos-transmit, set-dscp-transmit,就不一一说明了。 11、还有一些其他参数,使用较少就不介绍了。 三、最后,将policy-map 应用到接口上。 (interface)#service-policy {input | output} mypolicymap 分为出和入两个方向,该接口就可以乖乖的执行你的策略了。 以上对Qos中的一点技术做了大概说明,如果能灵活掌握,以后如果再遇到类似“冲击波”病毒,对网络性能造成影响,就可以摆平了。 QoS技术博大精深,可以应用的地方很多,几乎出现在思科全系列产品上,但是会用的人太少,随着网络应用愈来愈复杂,QoS越来越有用武之地了,感兴趣的朋友可以参考《Administering Cisco QOS in IP Network》,四位CCIE的力作,syngress出版,获得过大奖。 补充:查看流量: 最好用流量分析仪,不过很贵,下面介绍几款穷人的“分析仪” 1、用扩展访问列表做log记录,最好先清一些buffer和logging,此方法有局限性,只有对协议类型或者地址熟悉的情况下使用。 2、IP accounting,先定义阀值,免得累坏了你的路由器,在关键接口启用,入或出方向都可以,用show ip accounting 看看,里面的东东比较详细,自己看好了。 3、Netflow, 启用CEF的路由器可以定制想要观察的FLow,不过对MEM要求较高,要仔细看清楚了再用,其输出内容非常丰富。 4、还有几款复杂的,不太实用,就不介绍了。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。