于侯健(1995-),男,北京人,硕士研究生,从事电力通信调研分析工作;
0 引言
通信服务质量(Quality of Service,QoS)保证了接收端所需求数据的时延和可靠性要求。电网内差异化QoS根据主要业务的时延、可靠性需求设定,帮助完成对设备的监视、测量、协调和控制任务,对电网故障处理与预防、维护、电力调度、运行稳定性均有指导性意义。由于QoS有多种实现方法,使用网络资源分配的方法不同,找到一种能保证电网中报文时效性,且有效处理拥塞情况,不易造成拥塞的QoS实现方法是十分重要的。QoS实现过程由数据流分类及标记方法、流量管理与整形、拥塞管理和规避机制组成,文章将对上述内容加以讨论,并对比不同标记方法、流量管理方法、队列调度算法,对电网QoS进行深入探讨。
新能源接入电网后,电网主要业务分类如下。
1)数据业务。包括低速和高速数据业务:高速业务主要是Web业务,如管理信息系统等;低速数据业务由故障信息业务、设备检测、电力调度自动化业务组成,包括SCADA和MIS类数据业务[1]。其中SCADA数据业务对实时性、可靠性和时延要求很高;MIS类数据则有突发流量,对传输带宽的要求很高。
2)语音业务。包括调度电话、行政办公电话等,对可靠性和实时性要求很高。
3)视频业务。由视频监控和视频会议组成,由于线路不可能由人实时看守,而线路的故障却关乎系统运行的稳定性,所以视频类业务需要严格的时延和带宽分配。
1 QoS概述
QoS指一个网络运用各种技术,增强网络通信能力,解决网络拥塞和延迟问题,满足用户要求。QoS性能参数见
IP QoS模型兼容性好,可以完成路由选择和数据转发决策,提高传输效率,最终缓解拥塞问题。除了网络默认的尽力而为服务类型,解决IP网络中QoS问题有2种方法:集成服务型(Integrated Service Model,IntServ)、区分服务型(Differentiated Service Model,DiffServ)[2]。
1)尽力而为服务型(Best-Effort Service Model)。最简单的服务模型,没有针对QoS需求做出网络优化过程。应用层软件在接入网络后,不需要预留资源或通知网络,网络统一对待所有数据,没有加权过程,尽力传输报文,此时QoS没有保障。
2)集成服务型(IntServ)。IntServ是端到端的基于流的QoS技术,在发送流量前,网络设备需要通过资源预留协议(Resource Reservation Protocol,RSVP)向网络申请特定服务质量,包括带宽、时延需求等。在确认网络已经为该流量预留了资源后,网络设备才开始发送报文。IntServ存在局限性,首先,IntServ需要保证所有的节点都支持RSVP协议[3],若存在节点不支持,则信令通过时对此节点无效,无法实现资源预留;其次,IntServ需要定时与周围网络单元交换状态信息,报文开销大,无法在大型网络中使用;最后,端到端基于流的技术需要节点中保留每个流的状态信息,导致核心路由器负担太大,因此扩展性很差。
3)区分服务型(DiffServ)。DiffServ是为了解决IntServ可扩展性差而提出的[4],DiffServ是基于类的QoS技术,在数据包进入网络前,根据数据包内容的优先等级给报文分类并做标记,后续的QoS技术根据IP报文标记的优先等级对应相应的流量整形、流量监管、队列调度等内容。然而,区分服务不需要网络节点接受资源预留的信令,没有端到端的预留带宽,在数据拥塞的情况下服务保证受到一定的削弱。
2 新能源接入通信网数据流分类与标记技术
2.1 以太网优先级标识CoS
服务等级(Class of Service,CoS)是用于传送QoS的一种方法。通常CoS是依据应用程序类型(包括视频、语音、文件和email传输等)、用户类型和其他分类方法,将数据包分类同时赋予不同优
先级。
CoS技术为基于层的优先级分类,分为802.1P第二层技术、服务类型(Type of Service,ToS)第三层技术。以层为类别分组是合理的,因为在数据传输的过程中,需要应用层的原始数据经过OSI 7层模型依次打包处理,通过电磁波的形式经过物理层到达接收点,再经过7层到达应用层供接收用户使用;然而逐层打包会附加能量开销且增加总传输时间,同时,重要的控制信号或信令实际不需要经过逐层添加报文信息,直接传输效果相同,所以存在跨层传输的情况。
2.2 IP优先级(IP-Precedence)
由RFC1122规定,三层报文表头中前3位为IP优先级标志位。
8种优先等级一般给到网络控制数据、语音数据、视频数据、语音数据、数据业务,不同优先级对应了不同的用户时延、可靠性需求,其中优先级0为缺省值。
IP报文报头高3位二进制对应报文的优先级[5]见
2.3 差分业务编码标识
差分业务编码标识(Differentiated Services Code Point,DSCP)在数据包IP头部的服务类别定义字节中,利用已经使用的6 bit和未使用的2 bit,得到DSCP的值的范围0~63,数值越大优先级别越高。IP-Precedence到DSCP的默认映射规则见
第2层CoS到DSCP的映射关系见
2.4 单中继段行为
报头中的DSCP字段为报文选择特定的单中继段行为(Per-Hop Behavior,PHB)[6]。
PHB根据DSCP值反映到入口节点后的内部节点进行路由选择,这些路由分配了不同的网络资源,可以根据QoS最大程度上满足用户需求。PHB服务等级见
3 新能源接入通信网流量管理与整形技术
为了防止流量突发引起网络阻塞,需要通过流量监管和整形技术监督数据流是否超过流量限制,进而对有限的网络资源进行调度,大多使用令牌桶算法完成。
3.1 令牌桶
令牌桶算法通过令牌生成速度控制流量转发速率。令牌是一种虚拟信息包,按照预先设定的生成速度添加到令牌桶中。对于需要流量监管的报文,令牌类似于通行证,每一部分数据包需要同样数目的令牌才能使其进入队列,不管后续动作进入缓存区还是出端口,满足令牌匹配原则才有机会发送到接收端,否则被丢弃。如果是丢弃或者重新标记这个数据包,则是进行流量控制[9],如果等待新的令牌到来再发送,则是进行流量整形;如果桶中无法产生新的令牌,报文将被直接丢弃。
3.2 流量监管
流量监管(Traffic policing)用于限制流入或流出某网络的某连接的流量和突发。一般使用承诺访问速率(Committed Access Rate,CAR)对流量进行控制。CAR示意如
图中,红色报文代表超出EBS的报文,即长度过长或到达速率过快;绿色报文代表可以正常传输报文;黄色报文在图中不需监管,也可以直接传输;蓝色报文的分组长度在承诺突发长度(Committed Burst Size,CBS)和扩展突发长度(Excess Burst Size,EBS)之间。此时,不满足令牌桶要求的红色被丢弃,剩余3种正常通过。
3.3 流量整形
流量整形(Traffic Shaping)作用仅限制流出某网络的某连接的流量和突发。流量整形技术有通用流量整形(Generic Traffic Shaping,GTS)、物理接口总速率限制(Line Rate,LR)。
1)通用流量整形(GTS)。同CAR,均采用令牌桶技术控制流量。2种方法的区别为:使用CAR进行报文流量控制时,将丢弃不符合流量特性的报文;而GTS行程缓冲区,将不符合流量特性的报文保留,减少了报文的丢弃。GTS示意如
2)物理接口总速率限制(LR)。LR依然利用令牌桶原理对流量进行控制,如果路由器的某个接口预先配置了LR,对流量特性做出了规定,则所有经过此端口发送的报文要先进行LR令牌桶控制。根据LR令牌桶中令牌数量的足够与缺失决定报文的发送或并入队列等待发送。
4 新能源接入通信网拥塞管理与规避机制
在TCP/IP网络中,存在可靠传输层传输控制协议(Transmission Control Protocol,TCP)和不可靠传输层用户数据报协议(User Datagram Protocol,UDP),这2种机制与信息重传相关。TCP协议可解释为若接收节点确实收到发出节点所发出的报文,那么会反馈相应数据包通知发出节点;若没有收到,经过设置的时间阈值后,发出节点会再次发送认为丢失的数据。UDP协议则为发出节点不重新发送数据,并不在意接收节点是否真实收到数据,或数据丢失。这种情况下,即使采取流量监管和整形,也无法控制发送端由于重传机制重新发送数据包的产生
速度。
由于到电网中的报文传输需要精确性和可靠性,重传机制需要纳入考虑范围。由此,QoS需要使用拥塞避免和拥塞管理机制。
4.1 拥塞避免机制
拥塞是指到达通信子网中某一部分分组过多,网络来不及处理,网络性能因此下降[10],严重时造成死锁现象,使得网络通信业务中断。
拥塞避免机制用于降低重传动作频率,在缓冲区有拥塞情况或即将出现拥塞情况时丢弃部分报文,控制流量为网络减负。由于UDP协议不考虑重传,由支持UDP协议节点发送的报文可以通过流量监管和整形进行限制流量;支持TCP协议的节点发送的报文则通过拥塞避免机制完成控制发送速度的目的[11]。
4.1.1 随机早期监测算法
随机早期监测算法(Random Early Detection,RED)的基本思路是通过对输出端口队列平均长度的监测判断拥塞,一旦出现拥塞趋势,将拥塞信息传输给发送端,进行流量控制,减小拥塞窗口。
RED设置了2个门限值T1和T2[12],当队列报文小于T1时报文不丢弃;当报文大于T2时新来的报文按照尾部丢弃;当在T1和T2之间时按照一定概率随机丢弃。RED过程如
设T1=32,T2=40,按照上述规律,平均队列长度在T1和T2之间时,进行报文丢弃过程,报文丢弃时采用线性丢弃概率,丢包率上升到10%最大。当平均队列长度超过T2时,采取尾部全丢弃。
RED算法缺陷如下。
1)公平性。如果链接不响应拥塞通知,RED算法无效,同时此类链接将极大占用网络带宽。
2)参数设置。2个门限值和最大丢包概率需要合适的取值,取值将对算法结果起决定性作用,由于RED算法的取值敏感性,参数设置成为RED算法需要解决的难题。
3)网络性能。RED算法中平均队列长度会随着连接数目增长而增长,平均队列长度过长时将造成传输抖动、时延加剧,影响网络稳定性。
4.1.2 加权早起随机预测
加权早起随机预测(Weighted Random Early Detection,WRED)原理上与RED完全一致,不同点在于WRED可以根据不同的权重分配RED丢弃策略,优先丢弃权重设置较低的数据包,权重分配由IP优先级或DSCP确定。WRED过程如
所示。
4.2 拥塞管理技术
拥塞发生时,多个报文会同时竞争使用资源,导致某些报文等待时间过长,失去报文本身的时效性。根据拥塞避免技术可知,报文在缓冲区堆积后,存在被丢弃的可能。如果不采用一定的报文调度机制,将无法保证重要报文的发送,影响接收端的反应
动作。
4.3 典型队列调度算法
4.3.1 先入先出队列
先入先出队列(First In First Out,FIFO)算法是队列调度机制中的默认模式,是尽力而为的队列机制。FIFO算法不需要对数据流进行分类,对所有类型的报文相同对待[13],仅按照到达出队口的时间先后决定出队先后[14]。FIFO采用尾丢弃机制,如果队列满后丢弃后续进队的报文。FIFO调度算法原理如
4.3.2 优先队列
优先队列(Priority Queuing,PQ)设置了优先级递减的队列分组[15],优先队列分为高优先级队列(Top)、中优先队列(Middle)、正常优先队列(Normal)和低优先队列(Bottom),调度器严格优先调度优先级高的队列,当优先级别高的队列为空时才服务低优先级队列。PQ调度算法同样使用尾丢弃机制,当高优先级报文发送时,若其他分组产生报文溢出现象,后进入分组的报文将被丢弃,各组队列内部遵循FIFO原则。PQ调度算法原理如
4.3.3 定制队列
定制队列(Custom Queuing,CQ)[16]调度算法是在PQ的基础上改进的算法。由于在PQ调度算法中,若高优先级数据流过多,将造成其他优先级报文无法发送。CQ做出了以下改善:将4个优先等级改为17个分组,其中队列0是系统队列,类似于协议报文,优先等级最高,不允许用户自己配置,调度原则也为优先发送0队列,0队列内容发送完毕后,开始发送1~16号队列。队列1~16没有优先级关系,仅代
询[17]的方式按照预先配置的宽带比例依次从1~16分组中发送一部分报文出去。CQ调度算法原理如
4.3.4 加权公平队列(Weight Fair Queuing,WFQ)
报文到达接口处时,存在一个分类动作,将报文赋予不同的权重,同时调度器根据权重分配不同的网络资源。权重数值越大,代表报文重要性越高,所得到的网络资源越多;权重数值越小,报文重要程度下降,所分到的资源支持越少。分类动作由IP-Precedence和DSCP值决定,具有相同特性的报文属于一个流。
4.3.5 实时传输协议优先队列
实时传输协议(Real-time Trasport Protocol,RTP)优先队列是一种保证语音与视频业务QoS的队列技术。其原理为使用高优先级网络资源,将RTP报文赋予高优先级队列,使其优先传送的同时满足时延和抖动需求,保证了RTP报文(语音和视频) 中的服务质量。
4.3.6 队列调度算法比较
队列调度算法比较见
队列调度算法的最终选择,需要根据节点所在位置和节点本身需求。例如,若节点需要很强的扩展性,类似中心节点,则可选用扩展性强的PQ调度算法;若节点对实时业务流有特殊时延需求,比如需要实时传输视频或语音数据包,则可以使用RTP调度方法。
5 结语
本文介绍了差异化QoS的实现原理和步骤,解释了数据流分类和标记技术、基于令牌桶算法的流量整形和管理、拥塞避免机制和队列调度算法的原理和作用,并在标记技术中比较了几种不同的标记方法以及他们之间的映射关系;同时,在队列调度算法中,对几种常见调度算法进行了对比分析。随着多种新能源接入电网的趋势,未来电网中对QoS需求会更加严格,差异化QoS的实际应用性待日后进一步研究。
(编辑:张京娜)
参考文献
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]