08-QOS配置
本章节下载: 08-QOS配置 (160.77 KB)
在传统的分组网络中,所有报文都无区别的等同对待,每个OLT/路由器对所有的报文采用先入先出的策略(FIFO)处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的延时、延时抖动等传输性能不提供任何承诺和保证。
随着计算机网络的高速发展,人们对网络的要求也越来越高。由于对带宽、延迟、抖动敏感的语音、图象、重要数据越来越多地在网上传输,一方面使得网上的业务资源极大地丰富,另一方面则由于经常遭遇网络拥塞,人们对网络传输的服务质量(Quality of Service,简称QoS)提出了更高的要求。以太网技术是当今所使用的最为广泛的网络技术。目前,以太网不仅成为各种独立的局域网中的主导技术,许多以太网形式的局域网也成为了Internet网的组成部分。而且随着以太网技术的不断发展,以太接入方式也将成为广大普通Internet 用户的主要接入方式之一。因此要实现端到端的全网QoS 解决方案,不可避免地要考虑以太网上的QoS 业务保证的问题。这就需要以太网交换设备应用以太网QoS 技术,对不同类型的业务流提供不同等级的QoS保证,尤其是能够支持那些对延时和抖动要求较高的业务流。
(1) 流
流即业务流(traffic),指所有通过OLT的报文。
(2) 流分类
流分类(traffic classification)是指采用一定的规则识别出符合某类特征的报文。而分类规则(classification rule)指配置管理员根据管理需求配置的过滤规则,可以很简单,比如可根据IP 报文头的ToS 字段,识别出有不同优先级特征的流量;也可以很复杂,如综合链路层(Layer 2)、网络层(layer 3)、传输层(layer 4)信息诸如MAC 地址、IP 协议、源地址、目的地址或应用程序的端口号等相关信息来对报文进行分类,即复杂流分类规则。一般的分类依据都局限在封装报文的头部信息,使用报文的内容作为分类的标准是比较少见的。
(3) 访问控制列表
进行流分类的目的是为了有区别地提供服务,它必须与某种流控和资源分配动作关联起来,这样才有意义。具体采取何种流控动作,与所处的阶段以及网络当前的负载状况有关。例如,当报文进入网络时依据承诺的平均速率对报文进行监管,流出结点之前进行队列调度管理等。
(4) 包过滤
包过滤就是将业务流进行过滤操作,如丢弃操作(deny),即将匹配流分类规则的业务流丢弃,而允许其他所有流量通过。由于系统采用了复杂的流分类规则,这样可以针对业务流的二层报文的各种信息进行过滤,丢弃那些无用的、不可靠、值得怀疑的业务流,从而增强了网络的安全性。
实现包过滤,有两个关键的环节:
第一步:是对进入端口的流量按既定的规则进行流分类;
第二步:对区分出来的流进行过滤——丢弃操作(deny)。deny 为缺省的访问控制操作。
(5) 流量监管
为了使有限的网络资源可以更好地为用户服务,QoS 在输入端口上可以对特定用户的业务流进行监管,使之适应分配给它的那部分网络资源。
(6) 端口限速
端口限速就是基于端口的速率限制,它对端口输出报文的总速率进行限制。
(7) 重定向
用户可以基于自身QoS 策略的需要,重新指定报文的转发端口。
(8) 优先级标记
以太网OLT可为特定报文提供优先级标记的服务,标记内容包括TOS、DSCP、802.1p 等,这些优先级标记分别适用于不同的QoS 模型,在不同的模型中被定义。
(9) 为报文选择端口输出队列
以太网OLT可为特定报文选择相应的输出队列。
(10) 队列调度
当网络拥塞时,必须解决多个报文同时竞争使用资源的问题,通常采用队列调度加以解决。这里介绍三种各具特色的队列调度算法,PQ(Strict-Priority Queue,严格优先级)调度、WRR(Weighted Round Robin,加权轮询)调度和带最大迟延的WRR 算法。
a. PQ
PQ(Priority Queueing)队列调度,是针对关键业务型应用设计的。关键业务有一重要的特点,即在拥塞发生时要求优先获得服务以减小响应的延迟。优先队列将所有报文分成最多至4 类,分别为高优先队列、中优先队列、正常优先队列和低优先队列(依次为3、2、1、0 队列),它们的优先级依次降低。
在队列调度时,PQ 严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务(如E-Mail)的分组放入较低优先级的队列,可以保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
PQ 的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”。
b. WRR
WRR 队列调度将每个端口分为四个或8 个输出队列(EL5600-08P(04P) 为4 个队列,依次为3、2、1、0 队列,它们的优先级依次降低),队列之间轮流调度,保证每个队列都得到一定的服务时间,WRR 可为每个队列配置一个加权值(依次为w3、w2、w1、w0),加权值表示获取资源的比重。如一个100M 的端口,配置它的WRR 队列调度算法的加权值为50、30、10、10(依次对应w3、w2、w1、w0),这样可以保证最低优先级队列至少获得10Mbit/s 带宽,避免了采用PQ 调度时低优先级队列中的报文可能长时间得不到服务的缺点。
WRR 队列还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
c. 带最大迟延的WRR 算法
带最大时延的WRR 队列调度与一般的WRR 相比,一个特别之处是,保证在优先级最高的队列中的报文从进入队列到离开队列的最大时间不超过所设定的最大时延。
(11) 硬件优先级队列与802.1p协议优先级之间的映射关系
系统会在报文的802.1p协议优先级和硬件队列优先级之间进行映射。对每个进入OLT的报文,系统都会根据报文中的802.1p协议优先级映射到特定的硬件队列优先级。
(12) 流镜像
流镜像,即能将指定的数据包复制到监控端口,以进行网络检测和故障排除。
(13) 基于流的流量统计
基于流的流量统计,针对用户感兴趣的报文作统计分析。
(14) 报文拷贝到CPU
用户可以基于自身QoS 策略的需要,将指定报文拷贝到CPU。
系统通过对访问控制列表的引用来完成QoS 功能,它实现的QoS 功能包括流量监管、端口限速、报文重定向、优先级标记、队列调度、流镜像、流量统计、报文拷贝到CPU等。
QoS 配置包括以下任务
· 报文重定向配置
· 优先级标记配置
· 队列调度配置
硬件优先级队列与802.1p协议优先级的映射关系。
最好首先定义相应的访问控制列表,再进行以上的QoS 配置。
当网络拥塞时,必须解决多个报文同时竞争使用资源的问题,通常采用队列调度加以解决。
可以使用下面的命令来进行队列调度配置。
请在系统视图下进行下列配置。
· 设置队列调度算法
queue-scheduler { strict-priority | wrr queue1-weight queue2-weight queue3-weight queue4-weight }
· 关闭队列调度算法使用
undo queue-scheduler
· 显示队列调度的命令
display queue-scheduler
系统支持2 种队列调度模式:严格优先(strict-priority)、加权轮询调度(WRR)。缺省情况下OLT采用先进先出处理。
关闭队列调度算法后,报文的转发按先进先出处理。
关于命令的详细描述请参见本章对应的命令参考。
表1-1 队列调度配置
操作 |
命令 |
说明 |
设置队列调度算法 |
queue-scheduler { strict-priority | wrr queue1-weight queue2-weight queue3-weight queue4-weight } |
系统视图 |
关闭队列调度算法 |
undo queue-scheduler |
系统视图 |
显示队列调度 |
display queue-scheduler |
系统视图 |
系统有4个硬件优先级队列,从0~3,3优先级最高。系统优先发送优先级高的芯片队列中的数据包。
802.1p建议的映射关系如下:
802.1p: 0 1 2 3 4 5 6 7
硬件队列优先级: 0 0 1 1 2 2 3 3
本命令用来设置系统的4个硬件优先级队列与802.1p协议中定义的8个优先级之间的映射关系。
· 在系统视图下,利用以下命令设置
queue-scheduler cos-map [ queue-number ] [ packed-priority ]
· 显示优先级映射的命令如下:
display queue-scheduler cos-map
例如:
# 设置硬件优先级队列1映射802.1p协议优先级6。
[H3C]queue-scheduler cos-map 1 6
表1-2 硬件优先级和协议优先级的映射的配置
操作 |
命令 |
说明 |
配置映射关系 |
queue-scheduler cos-map [ queue-number ] [ packed-priority ] |
系统视图 |
显示映射关系 |
display queue-scheduler cos-map |
系统视图 |
表1-3 QoS的监控和维护
操作 |
命令 |
说明 |
显示所有QoS 动作的参数设置 |
display qos-info all |
系统视图 |
显示所有QoS 动作的统计信息 |
display qos-info statistic |
系统视图 |
显示队列调度模式及参数 |
display queue-scheduler |
系统视图 |
显示硬件优先级队列与802.1p协议优先级之间的映射关系 |
display queue-scheduler cos-map |
系统视图 |
显示所有端口的QoS的统计信息 |
display qos-interface statistic |
系统视图 |
显示重定向的参数设置 |
display qos-info traffic-redirect |
系统视图 |
显示流量统计信息 |
display qos-info traffic-statistic |
系统视图 |
相关命令显示信息及说明请参见命令参考手册。
可以通过配置端口隔离来禁止不同端口间用户的通信。
在端口隔离功能中,端口分为两种,一种为上行端口,一种为下行端口。上行端口可以转发任何报文,下行端口只能转发目的端口为上行端口的报文。将用户计算机连接到下行端口,更高级交换设备连接到上行端口,则既可以屏蔽用户间的通信,又不影响用户通过更高级的交换设备访问外部网络。
可以用port-isolation命令来配置端口隔离,添加端口隔离下行端口。该命令的undo命令删除端口隔离下行端口。请在系统视图下执行以下命令:
· 添加端口隔离下行端口
port-isolation { interface-list }
· 删除端口隔离下行端口
undo port-isolation { interface-list | all }
interface-list为选择的端口列表,表示一个或多个以太网端口。添加端口隔离下行端口时,不能将全部端口都添加为端口隔离下行端口,并且只有删除端口隔离下行端口时,才能选择all。当删除端口时选择all,则删除所有的端口隔离下行端口。默认情况下所有端口都为端口隔离上行端口。
表1-4 端口隔离配置
操作 |
命令 |
说明 |
添加端口隔离下行端口 |
port-isolation { interface-list } |
系统视图 |
删除端口隔离下行端口 |
undo port-isolation { interface-list | all } |
系统视图 |
可以通过配置风暴控制来限制端口接收广播/IP多播/DLF(包括单播和多播)报文的速率。
可以用storm-control命令来配置风暴控制,该命令的undo命令删除风暴控制。配置速率rate(对于百兆端口,取值范围为64~102400Kbps;对于千兆端口,取值范围为64~1024000Kbps),端口速率指的是端口实际能转发的速率,即如果打开了端口限速功能,则按端口限速来计算。速率和类型在系统视图下配置,端口可使能或关闭风暴抑制功能。
表1-5 风暴控制配置
操作 |
命令 |
说明 |
配置风暴控制的速率 |
storm-control { broadcast | multicast | unicast } rate |
系统视图/端口视图 |
关闭某端口的的风暴控制 |
undo storm-control { broadcast | multicast | unicast } |
系统视图/端口视图 |
相关命令显示信息及说明请参见命令参考手册。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!