维普资讯 http://www.cqvip.com Computer Engineering and Applications计算机工程与应用 2008,44(26) 71 ◎研发、设计、测试◎ 一种开放分布式的网络监测平台设计 袁小坊 ,王 东 ,谢高岗 YUAN Xiao—fang1,WANG Dong1,XIE Gao-gang 1.湖南大学计算机与通信学院,长沙410082 2.中国科学院计算技术研究所下一代互联网研究中心,北京100080 1.School of Computer and Comnmnication,Hunan University,Changsha 410082,China 2.Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100080,China E-mail:jt_xfyuan@hnu.cn YUAN Xiao—fang.WANG Dong,XIE Gao-gang.Design of open and distributed network measurement system・Computer Engineering and Applications,2008,44(26):71—73. Abstract:In this paper an open and distributed network measurement system is introduced.In addition to existing technology, OPC interface is firstly employed to lnake the system more open and convenient to transfer data tO other OPC client tools for further analysis.Through OPC interface,other network service systems ale able to get the data they need to do service control easily. Key words:network measurement;Object Linking and Embedding(OLE)for Process Control(OPt);MATLAB 摘要:提出建立开放分布式的高速网络流量监测平台的一种设计方法,在以前的监测平台的基础上提供一个专门的OPC服务 器,此0PC服务器与监测平台软件通过共享内存交换数据,同时提供数据接13'供其它的OPC client工具进行访问。这是业界首次 将OPC这种自动化控制领域中的世界标准用于网络监测平台中,使平台更有开放性和扩展性,可方便使用具有OPC client功能 的工具对网络数据做各种分析。其它网络服务系统可以通过这种通用的接口访问到所需要的网络数据指标,进行相关的服务控制。 关键词:网络监测;0PC标准;MATIAB工具箱 DOI:10.3778/i.issn.1002—8331.2008.26.021 文章编号:1002—8331(2008)26~0071—03 文献标识码:A 巾图分类号:TP393 1引言 且其它网络服务系统可以通过这种通用的接口访问到所需要 目前,网络规模日趋庞大,技术日趋复杂,网络的性能也变 的数据,进行相关的服务控制,实现数据指标的实时共享。经 得越来越不可预测,有效评估和研究网络技术、协议、性能成了 过仔细地比较分析,采用了自动化控制领域中的OPC国际接 迫切的需求,对高速网络的监测平台应运而生。高速网络测试 口标准,现在越来越多的通用工具软件开始支持OPC ̄[IMAT— 平台往往采用分布式体系,由一个或多个探针负责对网络数据 LAB、LABVIEW,使做数据的实时和后期分析,算法的原型设 包进行实时处理并进行各种监测任务,一个测试中控平台软件 计变得更便利,其它网络服务系统只要能支持OPC client功 提供人机界面,负责对探针进行管理调度,下达各种监测任务 能,即能方便地访问到监测平台所提供的数据指标,所用代价 并从探针获取数据做分析,显示以及存储。显然监测平台软件 很小。 要负责的事情相当多,在进行一些算法较复杂,费时的分析 时,会力不从心,从而影响系统的整体功能。同时,当前存在众 2 oPC的背景 多的网络管理系统和流量监测系统,如HP的Openview[ 1、 2.1什么是OPC IBM的NetviewI21,Cisco的NetlfowI 1等,它们各有特点和优势, 0PC自动化控制领域中的国际软件接口标准,OPC是 但缺乏开放性,系统的数据不能实时与其它系统或科学分析 OLE for Process Control的缩写,是一种利用微软的COM/ 工具进行共享交互。如果能提供一种标准的数据接口,使运行 DCOM技术来达成自动化控制的协定。在自动化控制领域中, 在其它机器上的工具软件能访问到采集到的网络数据并进行 硬件厂商提供各自硬件的OPC数据接口,透过硬件厂商提供 处理,就能将费时复杂的分析任务转移到其它机器上进行,而 的0PC Server接口,软件开发者不必考虑各项不同硬件间的 基金项目:国家自然科学基金网络与信息安全重大专项(No.90604015);国家重点基础研究发展规划f973)(the National Grand Fundamental Re~ search 973 Program of China under Grant No.2007CB310702);湖南省自然科学基金(the Natural Science Foundation of Hunan Province of China under Grant No.06JJ4078)。 作者简介:袁小坊f1971一),男,讲师,博士研究生,主要研究方向:网络监测、流量测量与特征分析。 收稿日期:2008—04—01 修回日期:2008—06—16 维普资讯 http://www.cqvip.com
Compu ̄r Engineering and Applications计算机工程与应用 差异,便可从硬件端取得所需的信息,所以软件开发者仅需专 注于程序本身的开发。.iitCb,由于COM/DCOM隐藏了网络的细 节,透过OPC可以很容易地达成远程控制的理想。 2.2 OPC的工作方式 由于COM是通过一组一组的接口(Interface)提供服务,所 有COM组件的使用者,都必须通过这些Interface来使用组件 提供的功能。OPC的规格中定义了许多OPC Server应该提供 的Interface,要写一个OPC Server的COM组件,必须在组件中 加入这些接口,并提供它们的实现,Client便可以通过这些接 口连接到OPC Server的硬件装置,这也就是OPC serv r/client 图4开放分布式网络测试系统结构 方式,见图1。 图1 OPC Selwer/Client方式 2.3 OPC Server的结构 ’ 在实际的结构上,OPC Server共分为3层:分别是OPC— Server、OPCGroup、OPCItem。其中每一个OPCItem对应到一个 实际的硬件上的某一个channel或port;每一个OPCGroup则包 含了许多的OPCItem,同时并定义这些OPChem更新的时问、 方式,以及提供读取OPCItem值的接口;而每一个OPCSevrer 则包含若干个OPCGroup,同时提供操作这些OPCGroup的接 口。图2可以较清楚地说明OPCSmwer/OPCGroup/OPCItem问 的关系。 图2 OPCServer/OPCGroup/OPCItem间的关系 3监测平台的改进 图3是自主开发的高速网络监测平台。该平台是一套完整 的可提供2-7层网络性能测试与流量分析的分布式系统。它由 支持多种速率及接口的分布式探针和集中式分析子系统组成。 现在希望将一些繁重的分析任务转移到其它机器上运行,就在 监测软件平台机器上提供一个OPCServer,使其它的工具软件 可方便访问并采集网络数据,形成一个开放的分布式结构。如 图4所示 图3高速网络流量监测平台 为了保证监测软件平台的健壮性和性,没有直接在监 测平台软件上添加OPCServer接口,而是设计了一个运行 的OPCServer程序,由这个OPCSe. ̄ver程序承担与OPCClient 问的数据交换任务,而测试软件与OPCServer程序通过共享内 存进行高效的数据交换。监测平台软件负责对探针的集中管理 与控制以及基本指标数据的处理与显示。 4实现方法与效率测试 OPC服务器接口规范中定义了3种服务器接口:OPC DA Server(数据服务器)、OPC HDA Server(历史数据服务器),OPC AE Server(报警事件服务器)、在这里只采用了OPC DA Serv— er接口。 4.1设计oPC DA Server 在服务程序中一般需要实现OPCserver、OPCGroup、Enu— mOPCItemAttributes等对象,其中OPCSe ̄er对象需要实现10一 PCCommon、IOPCServer、IOPCItemProperties、IconnectionPointCo— ntaniner等接口的方法;OPCGroup对象需要实现IOPCSyncIO、 IOPCGroupStateMgt、10PCAsvne102、IOPCItemgt、IeonnectionPoi— ntContainer- ̄接口方法;EnumOPChenAttributes需要实现IEnu— mOPCItemAttributes接口的方法。 。OPCServer标准接口如图5所示,在这些接口中,IOPC Server是OPC Server的主接口,通过它实现OPC Server在操 作系统中的安装和注册。此接口是必须要实现的,其所有方法 也必须实现。其它的接口都是可选。 IOPCServer [IOPCServerPublicGroups] [IOPCSmverBrowseSereerAddressSpace] [IPersistFile] IOPCServerDisp [IOPCServerPublicGroupsDisp】 [IOPCServerBrowseServerAddressSpaceDisp] 图5 OPC Server标准接口 OPCGroup对象是真正用来传送数据的对象。IOPCSyneIO 是同步数据传送接口,IOPCAsynclO2是异步数据传送接口。在 Client端可以自定义GROUP,以及它所包含的Items,并可设定 它的读写方式和时问间隔。 EnumOPCltenAttributes是用于查看某Item的属性的接口。 维普资讯 http://www.cqvip.com
袁小坊,王 东,谢高岗:一种开放分布式的网络监测平台设计 2008,44(26) 73 4.2 用MATLAB的OPC Toolbox访问OPC DA 务器端设定了两个有16 000项的double类型数组,在 Server MTALAB中用OPC Toolbox命令同时进行200次渎取并写入 MATLAB是众所周知功能强大的科学分析工具,具有极 磁盘LOG,读取时间间隔为5 s,中控软件端对数据采集的最 强的矩阵运算能力并提供了很多很多科学领域的工具箱。 小间隔为5 s。测试机器配置都为AMD Sempron 64 2500,1 G MATLAB的最新版,MATLAB7.1(RI4) ̄了一个新的工具箱一 内存。 OPC Toolb0x阁,可方便地对OPC DA Server进行实时访问以及 从表1结果看,读取期间服务器与客户端的CPU占用率 保存,读取历史数据。 没有明显的上升,大数组的传递是没有问题的。但是如果使用 MATLAB对OPC的支持包含以下3部分: oDctool图形化工具进行读取的话,CPU占用率会马上变成 (1)OPC命令工具,基本命令有opcda,connect,addgroup, 100%,原因是opctool图形化工具会将数组显示在界面上,这 additem set,start,wait,一个基本的应用框架如下: 样很消耗CPU时间。 %连接服务器 表1,压力测试 da=opcda(‘dasever’,‘nettest.dasmwerl0’) connect(da); %添加组以及组中的项 grpl=addgroup(da,‘Test’); 6结论 itml=additem(grpi,‘topnflow1.Array’); 首次将自动化领域中的OPC软件接口标准用到网络测试 %设置组的访问方式 平台上,将监测平台打造成一个良好的开放式系统,更好地实 set(grpl,‘UpdateRate’,5); set(grpl,‘RecordsToAcquire’,200); 现数据共享,特别是通过使用MATLAB,LABVIEW这样强大的 %采集开始 ’ 计算与仿真工具可方便地进行很多复杂的计算,图形绘制和算 start(grp1); 法的原型设计,其它网络服务系统只要能支持OPC client功 wait(grp1); 能,即能方便地访问到监测平台所提供的数据指标,所用代价 (2)opctool图形化界面工具,相当于一个功能强大的OPC 很小。 Explorer,可以方便地设计Client端的访问方式,并可转化为以 上命令形式。 参考文献: (3)OPC SIMULINK工具,包含OPC Configuration、OPC [1]Hewlett Packard.Hp openview[EB/O L1.http://www.openview.hp.corn/. Read、OPC Write、OPC Quality P.arfs四个组件。 [2]IBM.Netview for AIX.[EB/OL].http://www.tivoli.corrCproducts/index/netview/. [3】Cisco.NetFlowFlowCollector[EB/OL].http://www.ciseo.com/univercd/cc/ 5数据传递效率与测试 td/doc/product/rtrmgmthffc. 5.1保证传递效率 [4]OPC DA 3.O0 Specification[EB/O .http:IAwa ̄w.opcfoundation.or . [5]OPC Toolbox2.0.I[EB/OE1.http://www.mathworks.eom/products/opc/. 在传输网络流量指标数据时,要传递大量的数组,因此 [6】ZHANG Guang-xing,XIE Gao—gang,YANG Jian—hua,et al,Self— OPC DA Server的远程调用、数据传输效率以及资源占用 similar characteristic of traffic in euiTent metro area network[C]// 情况是最关心的问题。可以从以下几个方面来保证系统的 15th IEEE Workshop on Local and Metropolitan Area Networks, 效率: Princeton NJ,USA,June 10—13,2007. (1)减少接口的远程调用 [7]lnternet World Stats.Internet usage and population statistics[EB/ 接口的远程调用是很耗时的,尽量避免不必要的远程调用 OL],(2005—02).http://www.internetworldstats.com/stats.htm. 可以减少网络的roundtrip,增加系统的执行效率。 【81 Hernandez—Campos F,Jeffay K,Smith F D Tracking the evolution (2)减少需要在网络中流动的数据 of Web traffic:l995—2Oo3[c]//l lth IEEE International Symposimn 在数据的 亟上也可以做一些控制,如在中控软件端对指 on Modeling,Analysis,and Simulation of Computer and 标做一些处理,减少传送量。采用回调机制,保证只有在数据发 Telecommunications Systems(MASC0Ts’03),2003. 生变化时,服务端才将数据传给客户端,也可大大减少数据传 [9】MeCreary S,Claffy K.Trends in wide area IP traffic patterns;a 递量。 view from ames Internet exchange[C/OL】/,ITC Specialist Seminar, 2000.http:llwww.caida.org/publieations/p印er 2【】00/AIX00O5/. (3)各种数据类型的传递负荷成本有差异,要区别对待 『101 Thompson K,Miller G J,Wilder R.Wide—area Internet traffic COM中使用Variant类型传递数据和参数,Variant能代表 patterns and characteristics[J].IEEE Network,1997,11(6). 任何类型的数据,但使用的成本也很高。 [11]Xie Gao-gang,Zhang Guang—xing,Yang Jian—hua,et a1.Smwey on 5.2压力测试 traffic of metro area network with measurement on—line[c]// 为了检测服务端的服务能力,专门做了压力测试。在服 International TeletraffiC Congress,2007:666—677.