3550 交换机QoS 时序及队列( 二 )



l 在使用Cisco IP电话端口可靠的边界特性时,确信IP电话配置于其它应用是可信的

l 修正进入绝对优先级队列的数据流 。在千兆端口上修正数据流的流量限制为100M 。

在3550上,可以配置一个队列为优先队列,(总是Q4),在端口模式下使用如下命令:

3550(config-if)# priority-queue out

假如某个端口没有配置优先队列,则Q4被当做标准的WRR 队列(下节将具体描述) 。你可以通过输入和下面一样的IOS命令来验证某端口是否被配置为绝对优先级队列,命令如下:

NifNif#sh mls qos interface gig 0/1 queueing

GigabitEthernet0/1

Egress eXPedite queue: ena

Catalyst 3550上的WRR(Weighted Round Robin)

在3550上,WRR是一个对输出时间序列进行治理的机制 。WRR在三个或四个队列(假如没有绝对优先级队列)之间工作 。使用WRR模式的队列在循环方式下是置空的,可以为每个队列配置相应的权值 。

例如,配置了不同的权值,不同的队列将提供不同的服务,如下所示:

Serving WRR Q1 : 10% of time


Serving WRR Q2 : 20% of time

Serving WRR Q3 : 60% of time

Serving WRR Q4 : 10% of time

对每个队列,你可以在端口模式使用以下命令来配置四个权值(各自相对于一个队列):

(config-f)#wrr-queue bandwidth weight1 weight2 weight3 weight4

示例如下:

3550(config)# interface gigabitethernet0/1

3550(config-if)# wrr-queue bandwidth 1 2 3 4

注重:权值是相对的,下面是计算方式

Q1 = weight 1 /(weight1weight2weight3weight4) = 1/(1 2 3 4) = 1/10

Q2 = 2/10

Q3 = 3/10

Q4 = 4/10

WRR可通过以下两种方式执行:

1. WRR per bandwidth: 每个权值描述了可以用于发送的非凡带宽 。权Q1答应使用大约 10%的带宽,Q2 将获得大约20%的带宽,以此类推 。改方案目前仅在Catalyst 6000 系列交换机上实现 。

2. WRR per packet: 该算法在 3550 交换机上实现 。这表示每个权值表示了某个数量的数据包将被发送,而不管包的大小如何 。

3550上实现WRR per packet表现为如下形式:

l Q1 传输 1/10 的数据包

l Q2 传输 2/10 的数据包

l Q3 传输 3/10 的数据包

l Q4 传输 4/10 的数据包

假如被传送的包是同样大小则是最理想的情况 。在4个队列中你依然能够获得理想的共享带宽 。然而,假如队列间的平均包大小有差异,则会在拥塞事件发生时对传输产生巨大的影响 。

例如,假设当前交换机只有两个数据流,同时假设处于以下的情形:

一个千兆口的队列2(Q2)以Cos 3类别方式每秒传输少量的交互应用数据流(80字节/帧)

一个千兆口的队列1(Q1)以Cos 0类别方式每秒传输大型文件数据流(1518字节/帧)

两个队列都将以传输1 Gbps 的速率传输数据 。

两个数据流需要共享同一个输出的千兆口 。假设我们已经为Q1 和 Q2 设置了同样的权值,WRR 应用到每个数据包,并且每个队列内传输的数据量不同于两个队列之间的数据量 。每个队列都转发了同样数量的数据包,然而交换机实际上发送了下面数量的数据:

77700 包/秒由Q2输出 = (77700 x 8 x 64) bits/sec (大约 52 Mbps)

77700 包/秒由Q1输出= (77700 x 8 x 1500) bits/sec (大约 948 Mbps)

注重:

假如你想要每个队列都公平的接入网络,需要考虑每个数据包的平均值 。每个数据包都被假设放置在同一个队列,因而权值得到改善 。

例如:假如你想要为四个队列赋予相同的接入(每个队列各自分配到1/4的带宽),流量表现为如下形式:

¨ Q1: 最佳的互联网数据流量 。假定数据流的平均包大小为256字节 。

推荐阅读