APP下载

一种OPNET网络仿真与实物终端的互联实现

2011-06-14周丽丽张宗恕

无线电工程 2011年6期
关键词:处理单元实物数据包

周丽丽,张宗恕

(中国电子科技集团公司第五十四研究所,河北石家庄050081)

0 引言

伴随计算机在信息领域的广泛应用,计算机信息网络已成为现代通信的神经中枢。OPNET和Qualnet等仿真软件,通过虚拟网络场景构建和网络特性参数统计,为全网性能分析和网络规划提供了有效手段。但是对于实际复杂的网络系统,由于仅仅依靠数学建模和统计分析的软件网络仿真不能提供准确的性能描述,因此,引入实物系统的半实物仿真技术在网络研究中具有广阔的应用空间。

将实物系统引入仿真回路的半实物仿真,具有下列优点:首先,在网络数学模型和仿真计算模型的基础上,增加了实物终端的信息流量,使整个网络仿真系统的数学模型得到进一步校准;其次,利用半实物仿真,通过网络参数统计,可以对实物终端的功能和性能进行有效验证,降低了设备验证测试的网络构建复杂度。

1 半实物仿真系统构成分析

OPNET是业界公认并广泛使用的通信网络、设施和协议的仿真及建模工具,采用基于数据包的通信机制、基于离散事件驱动的仿真机制和与真实网络相一致的三层建模机制,提供高层架构(High Level Architecture,HLA)接口模块,适用于复杂目标网络试验平台的半实物仿真实现。

半实物网络仿真采用硬件在回路仿真(Hardware-In-the-Loop Simulation,HILS)技术,利用OPNET的HLA接口模块,通过HLA联邦体系结构将实物设备与仿真网络连接起来,使仿真系统从实物设备获得真实的输入输出,并通过协同仿真完成实物设备和仿真网络统一控制,最终实现完整的、可控的网络对抗技术研究和验证试验平台。

1.1 关键技术模块

1.1.1 硬件接口模块

硬件接口模块是半实物仿真网实物系统与仿真系统之间互连的物理接口,满足仿真计算机和实物终端接口的电气特性要求和标准。

1.1.2 数据包截获模块

数据包截获模块捕捉半实物仿真网的实物系统和仿真系统之间数据交互的原始数据包。OPNET网络仿真采用TCP/IP协议栈模拟网络节点并与实物终端互连,所以OPNET SITL仿真通常采用WinPcap API来捕获原始数据包。它直接与网卡驱动程序进行交互,通过“嗅探”传输介质实现数据包的抓取,并向网络发送数据包。

1.1.3 数据包转换模块

OPNET仿真软件的仿真节点是通过有限状态机进行建模实现的,仿真节点实现的是虚拟的协议栈,各层协议以及仿真设备之间采用数据包流进行连接。仿真包会触发节点进程模型的中断,引发协议进程对仿真包的处理。但仿真包不是真正的比特流,是由域组成的OPNET内部的特殊数据类型。因此实物终端与OPNET仿真网之间不能直接通信,必须通过数据包转换模块进行包转换。

1.2 仿真系统构成

半实物网络仿真系统构成如图1所示。

图1 半实物仿真系统构成

仿真系统构成中各部分功能如下:

①实物终端:为半实物仿真网络提供真实的业务数据,通常不少于两个以实现业务交互的完整协议过程,是整网业务通信的仿真基础;

②半实物硬件接口:进行实物电路接口与仿真计算机网络接口之间的互联转换,实现仿真计算机和实物设备之间的物理互联;

③仿真配置模块:配置半实物硬件接口的仿真地址,控制半实物仿真运行过程;

④协仿真处理模块:基于OPNET的协仿真机制,通过OPNET的外部访问接口(External System Access,ESA)实现外部控制程序和OPNET仿真程序的通信交互,保证仿真系统和实物系统的同步运行;

⑤实物映射节点:实物设备在仿真网络中的虚拟映射节点,是仿真网络的组成部分,虚拟映射节点在仿真网络中使用无线管道机制或特定有线链路模型与仿真网络的其他节点互联;

⑥复杂网络仿真:依据目标网络建模需求形成的仿真网络,可包括客户端、服务器、路由器、交换机、无线通信中继等多类型的节点模型。

2 OPNET半实物仿真设计

参照OPNET半实物仿真系统构成,OPNET半实物仿真的核心处理主要包括OPNET网络仿真实现和半实物仿真接口实现2个部分。OPNET网络仿真实现部分可参考专业书籍和相关文章,在此主要介绍半实物仿真接口的设计实现。

在半实物仿真中,OPNET代表的仿真网络在与计算机外界的实物终端进行交互时,必须通过半实物仿真接口。半实物接口软件处理单元主要包括仿真配置和协同仿真处理模块,实现仿真的运行控制和仿真网络数据流到实物设备数据流的协议转换。半实物接口硬件处理单元与仿真计算机的数据交互可以采用串口、以太网口和USB口等,半实物接口硬件处理单元与实物终端的接口根据实际设备的接口要求进行设计实现,考虑实物设备接口以E1接口为例。半实物仿真接口的功能构成如图2所示。

图2 半实物仿真接口的功能构成

2.1 半实物接口硬件处理单元实现

半实物接口硬件处理单元实现实物终端到仿真网计算机之间的双向数据交换,具有实时性和实物终端协议匹配的特性,通常选择FPGA进行功能实现。

采用IP接口和E1接口实现PC仿真环境与实物设备的互连。IP接口实现分为物理层实现和协议实现,物理层实现采用专用芯片,完成从线路码型到数字信号的转换;协议的实现采用IPCore软核,完成IP接口MAC协议的解析。E1接口物理层实现同样采用专用芯片,满足标准要求;协议层的成帧和解帧处理采用FPGA编程实现,符合标准要求。半实物接口硬件处理单元的接口架构如图3所示。

图3 半实物接口硬件处理单元接口架构

2.2 半实物接口软件处理单元实现

如上所述,半实物接口软件处理单元主要包括仿真配置和协仿真处理模块,实现仿真的运行控制和OPNET仿真网数据流到实物设备数据流的协议转换。

仿真配置模块:是半实物仿真接口的仿真配置和管理的主要工具。主要完成的仿真配置和仿真操作功能。仿真配置功能用于对半实物接口设备的IP接口进行MAC地址、IP地址、网关和掩码设置,进行仿真时间推进步长设置等;仿真操作功能包括仿真的运行、暂停和结束操作。

协仿真处理模块:基于OPNET的协仿真机制情况下,协仿真处理模块的实现是通过OPNET的ESA接口实现与OPNET仿真程序的通信交互,由数据处理模块和仿真控制模块组成。数据处理模块完成仿真系统与实物系统之间的数据交互,仿真控制模块实现对仿真系统的运行控制,保证整体半实物仿真平台的实时性。

协仿真处理模块的数据处理功能包括:

①协仿真程序从半实物硬件接口的数据流中读取从实物终端发送的数据帧,将数据帧进行解析和重新封装,并把重封装后的数据映射到仿真网的内部处理程序;

②协仿真程序从仿真网内部处理程序接收仿真数据流,解析并获取向实物终端发送的数据信息,根据实物终端的数据帧格式进行数据帧重封装,并把数据发送给实物设备。

协仿真处理模块的仿真控制功能包括:

①向OPNET仿真网络查询要执行的仿真事件的时间;

②等待仿真网络与实物终端交互的数据包,根据数据的流向调用数据处理模块进行数据解帧、封装和转发处理;

③在实际时间执行仿真网络的仿真事件。

协仿真处理进程的关键函数如下:

①GetModuleIDByMacAddress():根据地址获取仿真模块ID;

②GetObjectIDByName():根据对象名称获得对象ID;

③SimDataToReal():完成仿真报文到实际数据的转换;

④RealDataToSim():完成实际数据到仿真报文的转换;

⑤GetPacketLength():从比特流中定位数据包并获取包长度。

3 仿真结果分析

实物终端A、B与目标终端DEST之间通过2个路由器节点和4个交换机节点进行互联;协调接口模块完成半实物接口的协仿真处理功能实现;OPNET仿真计算机通过网络交换机与半实物仿真硬件接口设备互联,实物终端通过E1接口与半实物仿真硬件接口互联。在仿真网络各层协议栈的协议交互过程中增加了仿真统计量,对实物终端的网络性能进行评估。半实物仿真网络采用实物—仿真—实物的工作模式。在试验过程中,对吞吐量、信道数量、丢包率、重传率、传输时延和可达性等多类统计量进行了统计分析。经仿真验证,半实物仿真网的统计分析曲线清晰且全面地体现了各实物终端在仿真网络的通信能力、通信可信性和通信可用性,也指导了实物终端 的工作性能优化。半实物仿真场景设置如图4所示。

图4 半实物仿真网络场景图

4 结束语

通过半实物网络仿真平台,实物终端与仿真网络有效结合,避免了终端性能测试所需复杂网络的实物平台构建,提供了对实物节点进行验证、分析和评估的有效手段。半实物仿真方法在网络设备研究方面具有技术优势,应用于大规模网络背景下的网络研究是一条可行、有效的技术途径。

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

[2]段 威,任 华,柳海峰.基于OPNET的通信网络半实物仿真方法研究[J].计算机仿真,2009,24(11):138-143.

[3]刘 芸,顾晓鸣,匡 晓.一种基于OPNET的网络半实物仿真方法研究[J].软件导刊,2009,8(2):125-127.

[4]张 筱,林孝康.一种基于OPNET的网络半实物仿真模型[J].仿真技术,2007,23(1):257-258.

[5]李于衡,关 晖,李广鹏.OPNET在计算机网络和通信工程中的应用[J].无线电工程,2002,32(11):52-56.

猜你喜欢

处理单元实物数据包
带你学习实物电路图的连接
不同生物链组合对黄河下游地区引黄水库富营养化及藻类控制
城市污水处理厂设备能耗及影响因素分析研究
长填龄渗滤液MBR+NF组合工艺各处理单元的DOM化学多样性
一种高可用负载均衡网络数据采集处理的方法及系统
SmartSniff
当手绘遇上实物
基于Arduino控制的半实物模拟驾驶系统
实物与宣传不符,卖方担责吗?
基于Libpcap的网络数据包捕获器的设计与实现