3550 交换机QoS 时序及队列

简介
输出时序被用来确保重要的业务不会在端口流量在某些严重超出预定流量时的状况下导致数据丢包 。本文档讨论了Catalyst 3550 交换机有关输出时序的所有技术和算法 。本文档着重于介绍如何配置及验证Catalyst 3550 交换机上的输出时序 。

用到的组件

本文档的运行环境为 Catalyst 3550交换机,软件版本 12.1(12c)EA1.

本文档所表述的信息均是通过在非凡的实验室环境下的设备所创建的 。文档中所用到的所有设备都是采用明确的(缺省的)配置命令 。若你是在一个现实的网络环境下工作,在使用一些简写命令时应确保你已经完全理解了该命令的含义 。

Cisco Catalyst 3550 交换机QoS 时序及队列

交换机

3550 交换机有两种不同类型的端口:千兆端口和非千兆端口(10/100M端口)

两种端口具有不同的性能,这些性能下面会作简单描述,而且相关的描述会贯穿整篇文档 。

两种端口均支持的性能

每个3550的端口上都有4个不同的输出队列 。这些队列中的一个可以被配置为优先级队列 。余下的几个端口被配置为非绝对的优先级队列,并使用Weighted Round Robin (WRR) 。所有的端口上,数据包根据各自的服务类别(CoS)被分配为四中可能的类别之一 。

千兆端口支持的特性

千兆端口还能支持每个队列的治理机制 。每个队列可以使用Weighted Random Early Discard (WRED)或者双线程的tail drop。队列大小可调(每个队列均分配相应的缓冲区) 。

非千兆端口支持的特性

非千兆端口不支持任何队列治理机制,例如WRED或者双线程tail drop

10/100M端口支持FIFO 队列 。每个端口队列的大小都不可改变 。但是你可以为每个队列分配最小的保留带宽 。

CoS 到队列映射

本节讨论3550如何决定将每个数据包放置到队列中去 。数据包队列取决于服务类别(CoS ) 。通过使用CoS 到队列的接口映射命令,每个八种可能的Cos数值将被映射到相应的四个队列 。下面是该命令的示例:

(config-if)# wrr-queue cos-map queue-id cos1... cos8

下面是一个例子:

3550(config-if)# wrr-queue cos-map 1 0 1

3550(config-if)# wrr-queue cos-map 2 2 3

3550(config-if)# wrr-queue cos-map 3 4 5

3550(config-if)# wrr-queue cos-map 4 6 7

该示例将 CoS 0 和1映射到 Q1, CoS 2 和3 映射到 Q2, CoS 4和5 映射到 Q3, CoS 6 和7映射到Q4 。

每个端口的CoS到队列的映射情况可以通过使用下面的命令来进行验证:

cat3550# sh mls qos int gig 0/1 queueing

GigabitEthernet0/1

...Cos-queue map:

cos-qid

0 - 1

1 - 1

2 - 2

3 - 2

4 - 3

5 - 3

6 - 4

7 - 4...

绝对的优先级队列

绝对的优先级队列在初始状态下通常是空的 。这就意味着一旦有数据包进入队列,该包将马上被转发 。当WRR 队列中所有的数据包都被转发后,优先级队列根据需要关闭并清空 。

绝对的优先级队列被非凡设计来处理对延迟/抖动比较敏感的数据流,例如语音 。绝对的优先级队列将导致其他队列严重滞后 。在其他三个WRR中的数据包在绝对的优先级队列中数据传输完成之前,将不会被转发 。

注重

要避免其他队列的严重滞后,要非凡注重放到优先级队列中的流量 。

该队列通常用于语音数据流,而此类型应用并不占用很高的带宽 。但是若有人将一些占用带宽较多的应用(例如数据转移或备份) 放到绝对的优先级队列,这将引起其他流量的严重滞后 。要避免该问题,非凡的数据流应被放置在分类/准入,并在网络中标记该数据流 。例如,你可能需要采取一下预防措施:

l 在非可信的源端口使用非可信的端口QoS状态;

推荐阅读