《电力系统自动化 SCADA 网络 QoS 拥塞控制研究.pdf》由会员分享,可在线阅读,更多相关《电力系统自动化 SCADA 网络 QoS 拥塞控制研究.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1电力系统自动化 SCADA 网络 QoS 拥塞控制研究张 然,陈奇志,贾彦萍(西南交通大学电气工程学院,四川成都610031)摘要:本文介绍了基于 TCP/IP 的拥塞控制方法,并提出了将拥塞控制方法引入到电力系统 SCADA 通信网络中,在带宽有限的情况下保障整个网络的 QoS。关键词:TCP/IP;拥塞控制;SCADA;QoS0 引言我国已进入电力系统通信专网建设到电力系统宽带信息网络的过程中,随着 Internet 技术的飞速发展,通信系统中提供的通信业务范围越来越宽,对电力系统的网络要求也越来越高,如各种调度通信、公务通信、专用通信、区间通信、数据业务、以及日益占主要业务范围的图像多
2、媒体业务等。要将我们电力通信专网建设成为既具备支撑电网运营又具备向社会开放信息业务和增值服务运营能力的“高速化、数字化、综合化、智能化”的宽带信息网是一个重大课题。研究整个网络的拥塞控制问题,保证系统业务 QoS 是有实际意义和重大实用价值的。SCADA 子系统肩负着的调度中心和下级各变电站的联系的通信网络的鲁棒性是非常重要的。而目前基于 TCP/IP 的拥塞控制机制是确保网络鲁棒性的关键因素,因此也成为目前研究 SCADA 网络的热点问题。网络产生拥塞的根本原因在用户(或叫端系统)提供给网络的负载(load)大于资源容量和处理能力(overload)。表现为数据包时延增加、丢弃概率增大、上层
3、应用系统性能下降等。拥塞产生的三个直接原因是:存储空间不足。(主要路由器缓存空间不足引起)带宽容量不足。路由器处理速度和链路数据速度不匹配。当网络处于拥塞状态中导致的直接结果是分组丢失,端到端的延迟加大,这对 SCADA 系统的实时性是非常不利的,尤其当重要的数据要传输时,如遥信变位,遥控信息的下达等。当网络处于拥塞崩溃状态时,微小的负载增量都将使网络性能急剧恶化。1986 年 10 月由于拥塞崩溃的发生。美国 LBL到 UC Berkeley 的数据吞吐量从 32Kbps 跌落到40bps。为防止这样严重的事故发生在 SCADA 系统中,研究拥塞控制算法保证网络的 QoS 对网络的稳定性是非
4、常重要的。1 拥塞控制综述1.1 拥塞现象当网络的负载较小时,吞吐量和负载基本上是线性关系,当负载超过膝点(Knee)时,吞吐量增长缓慢,延迟增长,当负载超过崖点(Cliff)时,吞吐量急剧下降,延迟急剧上升。如图所示:图 1 拥塞现象1.2 拥塞控制和 QoS 的关系QoS 可以映射到用户需求的吞吐量、延迟、抖动、丢包率。一个网络能提供良好的 QoS 必须在恰当的层次和粒度上对流量进行必要的管理,其中包括接纳控制、流量整形、队列管理、调度和拥塞控制等方面。实施恰当的拥塞控制是 QoS机制正常工作的必然措施。2 TCP 拥塞控制算法目前 SCADA 系统中的网络通信协议采用TCP/IP,所以研
5、究基于 TCP/IP 的拥塞控制是必须的。2.1 TCP 拥塞控制的四个阶段:慢启动阶段TCP 使用的是闭环反馈机制,使用的发送窗口越大,源端必须等待的确认之前发送的数据就越多。一般 TCP 的自同步机制会选择恰当的发送速2率,但初始化时需要源端在某个相对较大的初始窗口开始,并逼近网络的最大吞吐量,但这也是非常危险的。Jacobson 设计了一种称为慢启动的算法。定义拥塞窗口(cwnd),接受端宣告允许的窗口大小(awnd),慢启动阙值(ssthresh)。拥塞避免阶段慢启动算法在初始化连接方面很有效,但当拥塞发生时,cwnd 的指数增长将加重拥塞,而且网络从拥塞中回复是需要很长时间的,所以
6、Jacobson 设计了拥塞避免阶段。当发现超时或收到三个相同的 ACK 确认时,网络 即 发 生 拥 塞,此 时 进 入 拥 塞 避 免 阶 段。ssthresh=cwnd/2,如果超时重传,cwnd=1 个最大数据段长度。设计思路:当一个连接被建立起来时,发送方将拥塞窗口初始化为当前使用的最大数据段长度,用户发送速率为:Mincwnd,awnd。每一批被确认的长度都会使拥塞窗口加倍,直至发生超时或达到接受方窗口大小。当一次超时发生时,阙值被设置为当前拥塞窗口的一半,而拥塞窗口被重置为一个最大数据段。当增长到阙值时,从这个点开始线性增长。如果不再发生超时,将到达接受方的窗口大小。在这个点上将
7、停止增长。只要不发生超时,拥塞窗口保持不变。图 2 慢启动和拥塞避免 快速重传和快速恢复阶段:快速重传:假设接收方收到一个乱序的有丢包的报文序列,只要发送方窗口不空,而且 RTO 没发生超时,那么发送方将继续传输不用等待收到确认。快速恢复:Tahoe 中,流控窗口是冻结的,即只有经过一个 RTT 时间,才有可能传输新的分组。也就是当重传分组从发出到 ACK 返回发送端的这段时间内,从源端到目的地的 TCP 管道(Pipe)是完全清空的,途径的路由器是空闲也有可能。为防止这样的现象发生,当发送端收到一定数量的重复ACK(tcprexmtthresh)时进入“快速恢复”阶段。图 3 拥塞避免和快速
8、重传2.2 TCP 流量控制算法 TCPTahoe:是 TCP 的早期版本。包括 3 个最从本的拥塞控制算法:“慢启动”、“拥塞避免”和“快速重传”。“快速重传”根据 3 个重复的应答报文来判断报文的丢失减少了超时重传的发生。TCP Reno。Reno 在 Tahoe 的基础上增加了“快速恢复”。“快速恢复”使用“管子”模型的“报文守恒”特性。发送方每收到一个重复的应答。就认为已经有一个报文离开网络。于是将发送力的拥塞窗口加 1。TCP NewReno。NewReo 对 Reno 中“快速恢复”算法进行了补充。它考虑了一个发送窗口内多个报文丢失的情况。在“快速恢复”算法中。发送方收到一个不重复
9、的应答后就退出“快速恢复”状态。而在NewReno 中。只有当所有报文都被应答后才退出“快速恢复”。状态。TCP SACK。SACK 也关注一个窗口内多个报文的丢失。它使用“选择性重复”(selective repeat)策略。TCPVegas。Vegas 通过改用 RTT 的变化判断网络情况,能更好的预测网络带宽的使用情况,对小缓存的适应性强,效率也很好。3IP 拥塞控制策略TCP 的基于窗口的端到端的拥塞控制策略对网络的鲁棒性有很大作用,但随着网络的发展以及数据业务的范围越来越广,仅依靠端到端的拥塞控制是不够的。由于带宽、缓存、CPU 处理速度有限,3所以业务流量会竞争有限的网络资源。可以
10、通过网络的准入控制和 IP 拥塞控制、路由器的排队算法来分配带宽,而丢弃策略通过决定来丢弃报文,减少网络的拥塞程度。3.1 IP 队列管理目前定义 IP 网络节点的外部特性为逐点行为PHB(per-hop-behavior),已经标准化的 PHB 有缺省型 BE(best effort)、加速型 EF(expedited forwarding)、确保型AF(assured forwarding)以及兼容IP优先级的类选择型 CS(class selector)四种。另外还有一些正在讨论发展中。基于这种节点行为的控制方法有:先进先出(FIFO)即先到达路由器的数据包先被传输。但当数据包到达时,路
11、由器的缓存空间已满,那么将丢弃到来的数据,这对 SCADA 系统的可靠性是非常不利的。这种也叫做“去尾”算法(Drop-tail)。简单的改进是将 IP 包头的 TOS(Type ofService)域标明优先级,这样路由器在处理多个FIFO 时,将优先传输优先级高的队列。但这种方法对 TCP 和 UDP 数据流的公平性产生影响,而且对上层的 TCP 快速恢复也不利。随 机 早 期 检 测 算 法RED(RandomEarlyDetection)此算法在路由器监视数据包排队状况,当发现拥塞临近,就丢弃数据包,隐式通知源端拥塞情况,减小拥塞窗口。一)不是等缓存空间全满时才丢弃数据包,而是利用概率
12、判定机制来丢掉分组来预防可能发生的拥塞。二)通过平均队列(avg)而不是即时队列调整分组丢弃概率,来尽可能吸收短暂的突发数据流量。avg(1wq)avg+wqq0wq1,q为采样测量时的排队对长。当分组到达队列时,如果平均队列长度小于最小门限值Qmin安全进入队列,如果平均队列长度位于Qmin和Qmax(最大门限值)之间,就按下式计算丢弃概率。Pb=maxp(avgQmin)/(QmaxQmin)Pa=Pb/(1countPb)maxth为最大丢弃概率。当数据包到达路由器时,RED 将比较队长和阙值,如果qQmax,将加入队列,如果QminqQmax,将以概率P丢弃该包,如果Qmaxq,将丢弃
13、该包。P在Qmax时达到最大值。图 4 丢弃概率 显 示 拥 塞 指 示 算 法(Explicit CongestionNotification,ECN)此算法在源端数据包中加入 ECN 使能发送比特位,路由器根据网络情况在反馈回的数据包中设置 CN(Congestion Experienced),源端根据反馈信息,将随后发出的包中标记为可丢弃。ECN 算法的优势在于不用显示的反馈 ACK,不用超时重传,对时延有一定好处而且会减轻网络负担。公平排队算法(Fair Queuing,FQ)路由器为每一个输出队列使用一组单独的队列,每个队列一个流。当一条线路空闲时,路由器轮询这些队列,将每个队列取出
14、第一个分组,在发送出的 N 个分组中,每个队列一个分组。这些年来出现的改进算法中,有逐字节的,以及加权的公平排队算法(weighted queering)。对 FQ 来说,线路不可能空闲,这种性质称为持续工作(work conserving)。3.2 拥塞控制方法路由器在工作时会定期的更新线路的瞬时利用率,然后根据检查出的结果对网络状况进行评估,进而采取相应的措施。设置警告位如果线路利用率超过警戒位,路由器将会在确认分组中设置警告位,告知源端减慢发送速率,直到警告解除,流量才可加上去。抑制分组(choke packet)路由器给源主机直接送回一个抑制分组,并且在抑制分组中指明原分组的目标地址,
15、同时原分组被加上一个标志,这样不会在路径上产生更多的抑制分组。4源主机随后减少发送到网络上的流量,并同时监听网络,如果在一段时间内没有再收到抑制分组,再通过慢启动算法将速度提升上去。逐跳(hop-by-hop)抑制分组如果网络速度很高或路由器离源端很远,那么发送抑制分组将花费很长时间或进一步增加网络负载,这样的效果很差。那么可以将抑制分组发送到临近路由器,抑制临近路由器发送到它的流量速率。但源端仍然保持原来的速率发送流量,这就使得对越靠近源端的路由器的缓冲区要求越大,因为它要保存更多的发往下一跳的数据包。这是种“脚痛医脚,头痛医头”的方法。负载丢弃对于文件传输而言,似乎老的分组比新的分组要好,
16、但是对于 SCADA 系统来说,结果并不是如此,因为对于实时性要求很高的数据量,新的分组到来时,对调度端更有价值。对于多媒体数据,新的分组会更好。而丢弃帧差中的分组比丢弃完整帧中的数据要好。IP 层的路由器做出丢弃决定时,还应该根据数据包中的优先级,对于优先级高的数据包要保留,尽可能分配带宽优先发送。丢弃优先级低的数据包。4 SCADA 通信网络的拥塞控制SCADA 通信网络采用 TCP/IP 网络协议,业务数据流量范围大,实时性要求高,所以要充分利用现有的 TCP/IP 拥塞控制方法,使网络通畅,给调度中心和下级的各变电所的通信带来无阻碍的联络,保障整个运营网络的 QoS。5 结论基于端到端
17、的 TCP 拥塞控制方法可以让发送方减少发送流量,从而在根本上减轻拥塞,更适于处理长期拥塞。基于 IP 的拥塞控制方法作用于网络层,可以短期的根据各个节点的具体情况处理拥塞,减轻拥塞。由于基于 TCP/IP 的拥塞控制都要用到显示或隐式的反馈机制,所以不可避免的要增加网络的额外负载或使网络的实时性受到影响。所以要结合网络入口处的准入机制,对流量整形接纳才能更好的处理拥塞保证 QoS。基于 TCP/IP 的拥塞控制是保证 QoS 的核心机制,但还有很多问题需要解决。如传输多媒体数据时使用的基于 UDP 的数据包和基于 TCP 的数据包的竞争网络资源时的公平性问题,TCP 拥塞控制和IP 拥塞控制
18、的有机结合问题,对实时性要求高的多媒体数据如果遇到拥塞时使用 TCP 的拥塞控制机制将使发送速率突然改变,这会引起抖动等 QoS 参数显著下降。SCADA 系统通信网络随着 Internet 的迅速发展,也要引入拥塞控制机制来保障服务质量,并在现有条件下尽可能利用带宽,尝试传输多媒体数据。传统的 BE(best effort)服务已经无法适用SCADA 系统通信网络的要求,我们将利用现有的拥塞控制技术来使电力系统自动化网络更加有效的作用。参考文献1任丰原,林闯,刘卫东.IP 网络中的拥塞控制.计算机学报,2003,26(9):102610332章森,吴建平,林闯.互联网端到端拥塞控制研究综述.软件学报,2002,13(3):3553603江小帆,孙金生,工执锉.控制理论在 Internet 拥塞控制中的应用.控制与决策,2002,17(2):130132作者简介:张然(1981-),男,河南郑州人,汉族,硕士研究生,主要研 究 方 向 为 电 力 系 统 网 络 性 能。Email:。陈奇志(1970-),女,四川成都人,汉族,副教授,主要研究方向为电力自动化系统,网络通信与监控系统。Email:。贾彦萍(1981-),女,河北元氏人,汉族,硕士研究生,主要研究信息系统工程,Email:。