安防之家讯:摘 要:为解决变电站综合信息传输中的流量冲突问题,本文设计了基于Linux平台的网关流量管理系统。文中分析了变电站综合信息业务类型,提出依据各种信息的QoS(Quality)要求,对不同的信息流规范其传输带宽和优先级。系统阐述了Linux平台的流量管理机制,并给出变电站综合信息传输中的网关流量管理的具体程序实现。经系统实测表明,该网关流量管理系统可以有效解决变电站综合信息传输中的流量冲突问题。
关键词:变电站综合信息传输Linux网关流量管理
Gateway-basedflowmanagementrealizationforintegrativeinformation
transmissioninsubstation
ChenZheng,TuGuangyu,LuoYi
(HuazhongUniversityofScienceandTechnology,Wuhan430074,China)
Abstract:Inordertosolvetheproblemofflowscollisioninintegrativeinformationtransmissionofsubstation,thispaperproposesaLinux-basedflowsmanagementsystemingateway.Thetransmittedinformationtypesofsubstationareanalyzed,andtheinformationflowsmanagementsystemregulatesbandwidthandpriorityaccordingtotheQoSrequirementofinformationtransmitting.ThetheoryofLinux-basedflowsmanagementiselaborated,andtherealizationsofgatewaybasedflowsmanagementinintegrativeinformationtransmissionofsubstationareexplainedindetail.Alsotheprogrammingcodeisgiven.Thetestofrealsystemindicatesthattheproposedflowsmanagementsystemcaneffectivelysolvetheflowscollisioninintegrativeinformationtransmissionofsubstation.
Keywords:substation;integrativeinformationtransmission;Linux;gateway;flowsmanagement
1引言
在变电站信息一体化传输中,传统SCADA信息和各种新兴多媒体业务信息、MIS信息等都基于同一平台上网传输。各种信息流的带宽和QoS要求各不相同,在综合传输中往往存在流量冲突的问题。这对于变电站通信中某些QoS要求苛刻的数据流而言是不能容忍的,因此必须建立有效的流量管理体制实施流量管理。
现有变电站综合信息网络传输方案中很少考虑流量管理的问题,上网信息暴增造成网络流量阻塞亦成为潜在隐患。本文针对如何解决这一问题,提出了基于Linux平台的网关流量管理系统方案,其基本原理是:面向变电站综合信息传输网络中不同类型信息业务的传送带宽和QoS要求,通过Linux的TC(TrafficControl,流量控制)来实现对各类业务划定相应带宽,从而避免信息综合传输中的流量冲突问题。在实际的网络架构中,网关是沟通内外网的枢纽,控制着所有网络数据流的传输,因此在网关机上添加流量管理功能可以最为简单有效地达到规范站内综合信息传输的目的。同时采用基于Linux实现的流量管理系统具有如下优势:
1)Linux中的TC具有强大的流量管理功能,其性能可与专业级流量管理系统媲美;
2)Linux是完全免费共享的,可以节约投资成本;
3)基于Linux的网关流量管理系统实现简单,可以方便地嵌入现有变电站综合信息传输网络。
2变电站综合信息业务分析
建立变电站信息综合传输流量管理系统,首先要对变电站的业务类型进行分类,确定不同类型业务的传送带宽和QoS要求等。目前变电站中的信息业务类型及其传输要求大致分类如下[3]:
1)数据业务。主要包括SCADA系统数据和MIS类数据。SCADA数据流量一般较小(300-800Kbps),但是可靠性和实时性要求严格;MIS类数据流的突发流量很大(峰值可达4-6Mbps),但实时和可靠性要求相对不高。
2)视频业务。无人值班变电站及其他视频监视,一般采用MEPG1标准压缩时每路传输速率为1.5Mbps。这类业务的特点是对网络时延及带宽均有较高要求。
3)其他业务:话音、信息检索、电子邮件、Web应用、可视图文、电子商务等。
随着变电站中需要上网传输的信息量越来越多,就不可避免地存在流量冲突的问题。而且现今很多网络应用程序,多以爆发式进行数据传输,尤其是UDP类数据由于缺乏有效流量控制往往瞬时抢占大量带宽。这类数据将对变电站中的某些重要数据流如SCADA数据等的传输产生很大的冲击,因此对其采取有效的流量管理措施势在必行。
3Linux系统的流量管理实现原理
Linux通过TC实现的带宽管理系统可以实现数据包分类、优先级处理、带宽共享和输入/出流量限制等功能。TC代码位于内核,不同的功能块既能编译为模块,也能直接编进内核。通过用户级程序tc可完成与内核代码或模块的通信和配置。
流量管理系统包含两个基本单元:分类器(classfilters)和队列(queues)。分类器依据约定规则将数据流进行分类过滤,并将分类过滤后的数据包提交给队列;队列则收集流量,然后决定是否优先发送、延迟发送或丢弃。Linux提供的流量控制系统实现原理如图1所示。
TC中包含的分类器有多种:fwmark(防火墙标识)分类器、u32分类器、route分类器和RSVP分类器(rsvp和rsvp6分别用于IPV6、IPV4)等。fwmark分类器通过识别防火墙标识进行分类,支持使用Linuxnetfilter程序选择流量;u32则允许依据任何包头(header)标识选择流量,应用最为广泛。
类(class)是分类器根据属性得到的数据包集合,包含相应的数据流管理规则。一个完整的类定义表述:来源于IP为192.168.1.8的数据包发送速率不能超过1Mbps。
队列可以看作流量/数据包管理器,控制数据流的转发。主要的队列有:ClassbasedQueue(类基队列,简作CBQ),优先级和CSZ(Clark-Shenker-Zhang)等。其中CBQ是一种超级队列,能够包含其它队列(甚至其它CBQ)。
一些队列规则可以绑定到类上,包括FIFO(先进先出)、RED(随机早期探测)、SFQ(随机公平队列)和TokenBucket(令牌桶),默认的队列规则是FIFO。另外CBQ、CSZ和优先级也能用于类及子类。这表明使用TC,可以轻松地实现非常复杂的流量控制。管理类的队列规则称为类队列规则(classqueuingdisciplines)。类队列规则管理该类的数据和队列,决定延迟、丢掉或者重新分类它所管理的包。
由于Linux的TC具有强大的流量管理功能,因此在变电站综合信息传输网中采用Linux实现流量管理成为优选。通过给不同的数据业务类赋予不同的管理规则,可以有效地解决综合信息的流量冲突问题,保证高QoS等级的数据的传输带宽。
4变电站综合信息传输网的网关流量管理实现
典型变电站综合信息监控网络拓朴如图2所示,其中网关机作为站级局域网与SPDNet广域网的桥梁,控制着所有变电站综合信息的上传下发,常存在传输瓶颈问题。因而在网关机上采取有效的流量控制措施,是解决变电站综合信息传输中流量管理问题的关键。
在基于Linux平台的网关机流量控制系统中,由于采用不同的分类过滤器,可以有多种系统设计方案。本文主要讨论两种不同的分类器设计模式:一种是基于数据源IP分类的流量管理,另一种是基于业务优先级分类的流量管理。
4.1基于不同数据源分类的流量管理实现
在变电站综合信息监控LAN中,不同的业务类型往往有相应的服务器或工作站(如图2所示),因此通过区分不同的数据源IP可以实现多种数据业务的流量管理。
由图2所示的网络架构,假定网关机到SPDNet的带宽为10Mbps,站内数据业务如表1所示:
根据表1分析,该网络中主要有三类数据业务:SCADA数据、视频流和MIS类数据业务。显而易见,由于总的带宽只有10Mbps,假如不采取适当的流量管理措施,峰值达4Mbps的MIS数据流必然会对SCADA类和多媒体类数据流产生冲击。因此必须为各种类型的业务划定相应的流量带宽,保证SCADA类数据的传输质量。
调用Linux的TC可以实现前述的流量控制策略,依据数据源IP进行数据包分类,然后设定相应队列规则进行包处理。具体的程序指令(部分)如下所示:
#生成根类,配置了eth1根(root)队列规定,类型为CBQ;带宽为10M,平均包大小为1000字节;eth1(202.114.22.221)是网关机连接外网的网卡地址,eth0(192.168.1.1)连接内网
#生成SCADA数据类,分配800kbps的带宽,并不允许超过阀值
#生成MIS及其他数据类,分配3Mbps的带宽,并不允许超过阀值
在向内核提交建立的类之后,还有必要通知选用何种队列规则内核如何管理类数据:
#采用sfq(随机公平队列),消耗CPU资源较少,性能较好
选用u32分类器,建立网络数据包和类的映射关系:
matchipsrc192.168.1.12flowid10:300
以上程序段对变电站中的上传(出口)业务带宽进行了分配,通过限定MIS类的数据传送带宽,保证了SCADA类和视频类数据的传输质量。为了实现更好的流量控制效果,可以添加其他的队列规则如令牌桶等,但往往会耗费更多的CPU资源。另外,还可以仿照上述步骤分配下传带宽。
4.2基于业务优先级(TOS)分类的流量管理实现
由于通过u32分类器可以实现识别任意标头的数据包分类,因此可以考虑建立识别TOS字段的包分类模式。IP头中的TOS字段的高端3位用来标识服务类型,假定各种数据业务终端均打上服务类型标识。例如:SCADA类数据服务级别为1,视频类数据服务级别为2,MIS及其他数据服务级别为3等。
部分程序指令清单如下:
三种类型数据业务对应的服务类型标识分别为:0x20(1)、0x40(2)和0x60(3),则采用u32分类器可以设置如下数据包与类的映射关系:
基于业务优先级(即TOS字段)分类的流量管理模式,因为采用了面向业务类型的分类标准,更能有效地对变电站LAN中的综合信息传输进行流量管理。但是,该模式实现的前提是各数据源端在发送时,对各数据业务打上了业务标识,即设定了TOS字段值。
4.3其他实现模式
Linux的TC具有强大的流量管理功能,还有其他多种实现方式,如基于防火墙标识的fwmark分类器也是常用的模式之一。前述两种模式都是基于IP层信息来进行过滤分类的,事实上还可以通过对传输层的信息进行分类辨识,如辨识端口号的分类流量管理等。总之,Linux的流量管理系统可以根据需要配置出各种满足需求的复杂管理模式。
5系统运行测试
在出口带宽为10Mbps的LAN上对基于不同数据源分类的流量管理模式进行了测试。试验中LAN内三个终端分别往远端发送三类业务:预期发送速率分别为1.5Mbps(恒值)、5Mbps(恒值)和4Mbps(峰值),对应业务类型为SCADA类数据、视频类数据和MIS类数据。采取流量管理措施前后实际传输速率如表2所示。
通过实测数据对比,可以发现采用基于Linux平台网关的流量管理系统可以显著地改善网络中流量冲突的问题,提供给高QoS要求业务以足够的传输带宽,保证了传输质量。
6结语
本文针对现今变电站综合信息一体化传输的发展趋势,着重研究解决其中的各种类型信息业务传输的流量冲突问题。在分析Linux中的TC提供的强大的流量管理功能的基础上,设计了基于Linux平台网关实现的针对变电站综合信息传输的流量管理系统。该流量管理系统设计思路简单,实施容易,可以广泛用于变电站综合信息传输领域。
安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/