史景龙 邢小磊 冉小旭
【摘要】 本文对限制网络发展的关键技术QoS进行了分析,并针对某次卫星发射试验任务网络特点,从流量分类思路上分析了如何实现DiffServ区分服务,以达到优化网络服务质量的目的。
【关键字】 QoS DSCP PQ DiffServ
一、前言
随着IP网络及应用的飞速发展, 能够融合语音、视频、数据的三网合一将是网络发展的必然趋势。IP网络能够有如此巨大的发展,IP 作为其核心技术起到了决定性的作用。但其无连接、每包路由、尽力服务的特点,使其发展到今日成为支持新型需要服务保证的业务的最大障碍,这也使 IP 网络的Qos(Quality of Service)研究和实施成为当前 IP 网络进一步发展的关键。QoS服务质量技术的出现便是致力于达到区分服务、保证服务质量的目的。QoS 旨在针对各种应用的不同需求,为其提供不同的服务质量。对于具有不同网络服务要求的语音、视频和数据应用通信而言,要求 IP 网络核心具有区分出不同的通信的能力,进而为之提供不同的服务,达到区分服务、保证服务质量的目的。
二、Qos概述
QoS所评估的就是网络投递分组的服务能力。由于网络提供的服务是多样的,因此对QoS的评估可以基于不同方面。通常所说的QoS,是对分组投递过程中可为延迟、延迟抖动、丢包率等核心需求提供支持的服务能力的评估。QoS并不能提高带宽,但它可以通过对网络资源的合理分配与监控,最大限度地减少网络延时与抖动,确保关键业务的质量。用于定量衡量QoS的指标包括:
业务可用性:业务有保证的正常运行时间。 延迟:数据包在两个参考点间从发送到接收的时间间隔。 抖动:经同一路由发送一组数据包,在接收侧收到该组数据包的时间时隔差异。 吞吐量:网络中发送数据包的速率,可用平均速率或峰值速率表示。 丢包率:在网络传数据包时丢弃数据包的最高比率。数据包丢弃一般由网络拥塞引起。 通过对接入的业务流做不同的QoS策略,从而提供有区分的服务,使得链路满足上述指标。QoS机制包括流分类、CAR和队列调度。
2.1流分类
流分类是将数据报文划分为多个优先级或多个服务类,如使用DSCP(Differentiated Services Code Point)CoS域的前6位,则最多可分成64类。在分类后,就可以将其它的QoS特性应用到不同的分类,实现基于类的拥塞管理、流量整形等。流分类是对报文实施QoS策略的前提条件。简单流分类作用于DS域的内部节点,一个DS域内的所有节点的简单流分类规则一致。简单流分类实现网络中的报文原有的优先级和设备内部的优先级相互映射,使报文在设备内部按照设定的优先级进行传送。简单流分类相对于复杂流分类形式单一,配置简单,使DS域内的各节点QoS配置简单化。
2.2 CAR
CAR(Commit Access Rate)即约定访问速率,通过对接入的报文进行速率限制的一种方式。CAR的目的就是为了对进入的报文进行染色(或者标记),以及限定接入的报文速率,往往是和其他的QOS策略共同来提供全网QOS保障的。
CAR的主要功能有两个:
标记功能:由染色和重标记实现。
流量限速:由对染色后的报文进行具体的行为处理实现。
流量限速则是对染色后的报文是否丢弃进行处理,以便限定该流量的接入速率。
基于流的CAR策略是指对进入该接口的满足特定条件的某一类或几类报文进行流量控制,而非所有报文。具体实现时,首先根据五元组(源地址、源端口号、协议号码、目的地址、目的端口号)等报文信息对报文进行分类,对于不同类的报文配置不同的CAR行为,通过流策略将流分类与流量控制行为相结合,然后在接口应用流策略。
2.3 队列调度
(1)PQ调度。PQ(Priority Queuing)调度,就是严格按照队列优先级的高低顺序进行调度。只有高优先级队列中的报文全部调度完毕后,低优先级队列才有调度机会。采用PQ调度方式,将延迟敏感的关键业务放入高优先级队列,将非关键业务放入低优先级队列,从而确保关键业务被优先发送。PQ调度的缺点是:拥塞发生时,如果较高优先级队列中长时间有分组存在,那么低优先级队列中的报文就会由于得不到服务而“饿死”。
(2)WRR调度。WRR(Weighted Round Robin)调度即加权轮询调度。WRR在队列之间进行轮流调度,保证每个队列都得到一定的服务时间。以端口有8个输出队列为例,WRR可为每个队列配置一个加权值(依次为w7、w6、w5、w4、w3、w2、w1、w0),加权值表示获取资源的比重。例如:一个100M的端口,配置它的WRR队列调度算法的加权值为50、50、30、30、10、10、10、10(依次对应w7、w6、w5、w4、w3、w2、w1、w0),这样可以保证最低优先级队列至少获得5Mbit/s带宽,避免了采用PQ调度时低优先级队列中的报文可能长时间得不到服务的缺点。
WRR还有一个优点是,虽然多个队列的调度是轮询进行的,但对每个队列不是固定地分配服务时间片——如果某个队列为空,那么马上换到下一个队列调度,这样带宽资源可以得到充分的利用。
WRR调度有两个缺点:一是WRR调度按照报文个数进行调度,而用户一般关心的是带宽。当每个队列的平均报文长度相等或已知时,通过配置WRR权重,用户能够获得想要的带宽;但是,当队列的平均报文长度变化时,用户就不能通过配置WRR权重获取想要的带宽。二是低延时需求业务(如语音)得不到及时调度。
三、Qos在网络中的应用
3.1 DiffServ模型
DiffServ模型是一种多服务模型,它针对不同的业务提供有差别的服务质量,可以满足不同的QoS需求。通过对接入的业务流做不同的QoS,能够对其客户提供有区分的服务。DiffServ模型中,网络不需要为每个流维护状态,它根据每个报文携带的优先级来提供特定的服务。可以用不同的方法来指定报文的QoS,如IP报文的优先级(IP Precedence),报文的源地址和目的地址等。网络通过这些信息来进行报文的分类、流量整形、流量监管和队列调度。
3.2 QoS配置流程
以某次卫星发射任务为例,若对其进行流分类,则可简单分为语音调度类和数据传输类,可在汇聚层对每个流添加对应的ACL规则、流行为和流策略,从而使得每个流对应不同的Qos策略。
(1)添加流分类表
system-view 进入系统视图
acl acl-number 创建一个ACL, acl-number取值范围为2000~3999
rule [ rule-id ] permit udp source IP address 0 source-port range 3000~6000增加ACL规则
traffic classifier classifier-name 流分类并进入流分类视图
if –math acl acl-number对流分类的匹配规则进行定义
quit 退出视图
(2)添加流行为
system-view进入系统视图
traffic behavior behavior–name定义行为进入流行为视图。
car { cir cir-value
remark [ ipv6 ] dscp dscp-value重新标记IPv4/IPv6报文的DSCP值
(3)添加流策略
traffic policy policy-name创建一个流策略并进入对应的流策略视图
traffic classifier class-name behavior behavior-name把流分类和流行为进行绑定
quit 退出视图
(4)将流策略应用到端口
system-view进入系统视图
interface gigabitethernet 0/0/1进入端口视图
traffic-policy p1 inbound
quit 退出视图
(5)互联端口策略
system-view进入系统视图
interface gigabitethernet 0/0/1 进入端口视图
trust dscp配置接口信任报文的DSCP值
qos pq 配置端口队列的调度模式
quit 退出视图
四、结论
随着各种网络业务的增加,用户对QoS要求不断提高,因此,在资源有限的条件下,研究IP网络对Qos的支持显得意义非凡。同时,为了保证网络畅通并提供高服务质量,对其添加Qos策略必要性重要性不言而喻。
参 考 文 献
[1] 吴功宜,计算机网络应用技术教程,清华大学出版社,2007
[2] NealAllen.网络维护与故障诊断指南[M].北京:中国科学技术出版社,1999.
[3] 朱艳琴,钱龙华,陈承勤.计算机组网技术教程.北京希望电子出版社.2