基于变电站GOOSE网络的OPNET与NS2仿真比较

2011-06-25 07:54李成鑫吴成恩
四川电力技术 2011年5期
关键词:指数分布网络流量交换机

李成鑫,吴成恩,舒 勤

(1.四川省电力公司,四川 成都 610041;2.四川大学电气信息学院,四川 成都 610065)

网络仿真技术是进行网络技术研究的基本手段。在新技术的研究过程中使用实际的网络来研究代价成本太高,于是出现了各种网络仿真分析软件。网络分析技术在最初局域网技术开始发展的时候就已经出现了,其产生是与网络自身的发展息息相关的,并随着网络技术的发展而发展。本课题利用网络仿真软件OPNET和NS2变电站GOOSE网络进行仿真,并进行比较分析。

1 OPNET仿真软件

1.1 OPNET仿真软件的特点

1)OPNET仿真软件提供了三层建模机制,最底层为Process模型,以状态机来描述协议;其次为Node模型,由相应的协议模型构成,反映设备特性;最顶层为网络模型。三层模型全面反映了网络的相关特性,与实际的网络、设备、协议层次完全对应;OPNET本身包含了比较齐全的的网络模型库,包括:交换机、路由器、客户机、服务器、DSL、ATM、ISDN等设备;OPNET仿真软件能够方便地利用现有的流量数据和网络拓扑建立仿真模型,可以对仿真结果进行理论验证。

2)OPNET采用离散事件驱动的模拟机理,比时间驱动的效率高。OPNET将基于统计的数学建模方法和基于包的分析方法结合起来,这种混合建模机制既可得到细节的模拟结果,同时也提高了仿真效率。OPNET可以直接收集常用的各个网络层次的性能统计参数,能够方便地输出仿真报告,具有丰富的统计量收集和分析功能。

2 NS2仿真软件介绍

NS2是一个用C++语言和TCL语言编写,NS2模拟器采用了面向对象的技术。NS2模拟器支持C++中类的编译层次结构,同时支持OTCL解释器中的解释层次结构。

模拟器使用两种语言来解决两种不同类型的事情。一方面,有些协议算法在执行的时候需要快速有效地控制字节和分组头,实现大规模数据的算法。这些协议算法不需要经常修改,只需要以模块形式保存在模拟器中,使用时调用相应的模块就可以了。协议算法的回转时间,包括执行模拟,找出修正错误,重新编译运行等过程所需要的时间相对而言不是那么重要了。C++能够快速执行算法,使其适用于具体协议的实现。另一方面,当配置网络可变参数时,配置过程和场景都没有太大的变化,只有少量微小变化;当配置网络的时候,所需要的迭代时间即改变模式并重新运行的时间变得更加重要。因为配置网络只需要设置一次(在模拟开始的时候),C++部分的工作执行时间就不再那么重要了。OTCL执行得比较慢却可以以交互式的方式迅速地变化,使其成为模拟配置的理想对象。

NS2为同时满足了这两种需求使用了C++和OTCL两种语言。NS2通过TCLCL类提供了两种语言的对象和变量的纽带。NS2运行流程:TCL类提供了与解释器访问及通信的方法和接口,并且封装的是OTCL解释器真正的实例。

3 GOOSE网络的特点以及OPNET与NS2仿真的不足

GOOSE报文传输的通信过程与其他网络传输的过程不同[8],GOOSE网络没有网络层和传输层,直接由应用层到数据链路层,因此没有主流TCP/IP网络的结构和协议复杂。GOOSE网络主要由发布方的GOOSE控制模块(GoCB)进行控制,发布方在发送端缓冲区填入需要发送的信息,接收方在接收端缓冲区读入自己需要的信息。整个过程由发布方的通用变电站事件控制类控制。

GOOSE网络传输的信息是 GOOSE报文。GOOSE报文携带变电站IED设备的各种信息,这些信息让接收设备知道状态什么时候需要变位,什么时候需要跳闸,或者自上次状态变位以后的时间等等。接收设备可以设置相对于给定事件的当地计时器,这是根据上次状态变位以后的时间确定的,并产生相应的状态变化。

GOOSE网络中每一个激活的设备将发送当前数据(状态),这些激活设备包括合上电源和重新服务的IED设备,发送的当前数据状态被当作初始值的GOOSE报文。当状态没有发生变化时,发送GOOSE报文的周期较长,一般为5 s左右,并且发送连续,当状态发生变化时,设备会以指数递增的方式,快速地发送GOOSE报文,指数增长的周期初始值一般为2 ms;之后会以指数递减的方式,逐渐减慢发送报文的周期。

网络仿真软件OPNET和NS2有以下不同。①OPNET与NS2有免费和付费之分,NS2相比于OPNET最大的优势是免费的自由软件,因此NS2的普及度较高。②OPNET的界面友好,功能强大,操作方便,只需对节点的属性进行修改就可以设置网络;但OPNET修改节点时不如NS2方便,需要多层编程建模。③NS2虽然功能强大,但用户有时不能仅仅通过NS2使用手册学习,还需要通过查看源代码了解,并自己编写脚本。由于NS2没有现成的节点框架,需要用C++编想要的节点,操作上不是很方便。

结合变电站GOOSE通信网络的特点,通过OPNET与NS2仿真其网络,都存在如下不足,包括:①因为其所提供的模型库是有限的,现有的OPNET和NS2都没有 GOOSE中的节点模型库。OPNET与NS2软件对某些特殊网络设备的建模必须依靠节点和过程层次的编程方能实现。②OPNET和NS2这些网络仿真软件提供的参数是标准规定的,往往和用户的需要不一致,同时现有的变电站IED提供商提供的网络协议模型与标准存在差异,所以当要使用某些特殊参数时,必须通过编程来实现。对于GOOSE网络的仿真,需要涉及底层编程,需要对协议及网络仿真软件复杂的建模机理掌握十分透彻。③OPNET的编程需要建立在其本身的仿真平台上,这是OPNET的一个局限性。

4 OPNET与NS2仿真比较分析

根据变电站通信网络的特点,设置NS2和OPNET仿真的拓扑结构如图1和图2所示。在变电站GOOSE网络中,数据包大小一般为400字节左右大小,发包的速率在一般为300~500 kb。由于变电站通信网络不是恒定的,有很多突发的情况,因此仿真参数采用相似的设置。

图1 NS2仿真拓扑图

图2 OPNET仿真拓扑图

4.1 网络流量对比分析

(1)在OPNET仿真中,设置的包产生速率是400 kb,包大小为500字节,包格式为 uniform_int,此格式对应NS2应用中的CBR。此时,每秒产生的包数目为100个,包间隔时间为0.01 s,仿真时间设为100 s,下图为OPNET仿真后得到的流量图。其中图3表示通过求时间平均之后流量图,图4表示的是瞬时的网络流量图。然后设置基于指数分布的包格式,图5和6分别表示指数分布时的平均网络流量和瞬时网络流量。

图3 OPNET uniform时间平均流量图

图4 OPNET uniform时间瞬时流量图

图5 OPNET指数分布时间平均流量图

图6 OPNET指数分布时间瞬时流量图7表示NS2仿真时固定比特率平均流量图,NS2仿真时的指数分布比特率平均网络流量

图图8表图,由于NS2中只取了其中时间平均流量,故只有两个仿真结果图。

图7 NS2 CBR平均流量图

图8 NS2指数分布平均流量图

由以上两幅图可以看出,OPNET仿真算法和结果更接近真实网络流量,例如指数分布,NS2也提供了4种流量发生器,NS2中流量发生器产生包比较单一,不能仿真现行的数字化变电站中的GOOSE报文,需要自行添加协议模块和包。OPNET在仿真网络流量时,各种网络流量可以任意选择。其中,OPNET中提供了 ON/OFF的建模机制,它比较逼近真实的网络业务,并作为一种数学上的分析模型。在OPNET中,还可以配置一般应用模型,这些模型已经被模块化到特殊物件拼盘(utilities)中,可以随时使用,作为图形化得界面使用十分方便,这点现行NS2无法做到。

4.2 网络延迟对比分析

在比较OPNET和NS2仿真局域网网络延迟时,由于NS2中没有交换机,只能设置为总线型局域网,而OPNET通过交换机设置局域网。在OPNET中,设置链路的长度为100 m,链路延迟设为0.002 s,仿真时间设为100 s。图9表示的是瞬时的网络延迟,从图中可以看出,网络延迟略大于0.002 s,为0.0022 s左右;其中的0.002 s为链路延迟,多出的0.0002 s为交换机处理延迟,符合实际网络中的情况。

图9 OPNET时间瞬时延迟图

图10为设置同样的参数,通过网络仿真软件NS2仿真后,得到的网络延迟图。从图中可以看出,网络延迟的大小同样为0.0022 s左右。其中,0.0002 s是网络链路延迟,是在仿真时自行设立的,同样,0.00022 s是交换机处理延迟,同样符合真实网络情况。

图10 NS2时间平均延迟图

通过以上OPNET和NS2仿真软件,对同样拓扑网络的仿真比较。得出OPNET和NS2仿真同样的网络拓扑,设置相同的链路延迟的时候,得到的网络延迟是相同的。不同的是,当仿真的时候,OPNET的交换机延迟是通过交换机设置参数得到的,在OPNET中,除了可以设置交换机处理延迟外,还可以通过交换机和发送节点设置发送延迟和排队延迟,同时,OPNET可以通过设置,同时显示时间平均延迟和瞬时延迟,给仿真带来了方便,这在NS2中是不能做到的,需要重新编写分析程序才能得到;在NS2中,由于没有交换机装置,通过网络节点代替交换机,设置的参数也是通过网络节点设置的,当设置交换机处理延迟时候,是通过设置链路带宽得到的交换机处理延迟,这与仿真不相符,于是,需要给NS2增加交换机模块,同时可以设置交换机的处理延迟等。

5 结语

综上通过NS2和OPNET仿真对比分析,由于OPNET结合了众多厂家的设备和参数,OPNET内部仿真算法比较接近网络真实情况,且界面上十分工整,修改属性和搭建网络过程比较简单。而NS2由于源代码公开,内部算法和逻辑节点可以自行修改。由于NS2和OPNET都没有现成的处理基于IEC 61850协议的智能变电站GOOSE网络模块,故都不能直接用于变电站通信网络的仿真。课题采用修改NS2源代码实现数字化变电站通信网络内部算法和逻辑结构,采用了OPNET相似的界面设计。这是后期的研究方向。

[1]徐雷鸣,庞博,赵耀.NS与网络模拟[M].北京:人民邮电出版社,2003.

[2]杨路明,李谢华.网络仿真软件比较分析及仿真过程探讨[J].2002,21(4):65 -70.

[3]雷擎,王行刚.计算机网络模拟方法与工具[J].通信学报,2001(9):84-90.

[4]ReTurner.D等.NS2中文手册.

[5]Introduction to Modeler[J].OPNET Simulation Technology,2000.

[6]陈敏.OPNET网络仿真[M].北京:清华大学出版社,2004.

[7]Tor Skeie,Svein Johannessen,Christoph Brunner.Ethernet in substation[J].2002 IEEE,2002:43 -51.

[8]IEC 61850 - 7.Communication Networks and Systems in Substations Part 7:Basic Communication Structure for Substations and Feeder Equipment[S].FDIS,2003.

猜你喜欢
指数分布网络流量交换机
基于多元高斯分布的网络流量异常识别方法
基于神经网络的P2P流量识别方法
修复损坏的交换机NOS
AVB网络流量整形帧模型端到端延迟计算
使用链路聚合进行交换机互联
指数分布抽样基本定理及在指数分布参数统计推断中的应用
二元Weinman型指数分布随机变量之和、差、积、商及比率的分布
PoE交换机雷击浪涌防护设计
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700
网络流量监控对网络安全治理的重要性