(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} :最大突发量
本文出自
“网行天下”
博客,请务必保留此出处
http://kuangkuang.blog.51cto.com/838/284644

