OPNET仿真平台
OPNET仿真平台(精选8篇)
OPNET仿真平台 第1篇
关键词:LTE-Hi,OPNET仿真平台
随着人们通信需求层次的不断提升, 移动通信系统已经经历了从语音时代到数据时代的转变, 而智能终端的爆炸性增长更为数据业务注入了新的活力, 人们对数据传输速率的要求越来越高。3GPP提出的LTE/LTE-Advanced长期演进标准为此做了充分的准备, 采用以MIMO和OFDM为代表的先进的物理层信号处理技术以及全新的扁平化网络结构, 大幅提高了数据速率和系统容量。已有的调查结果表明, 有超过70%的数据业务发生在室内, 因此3GPP在2012年10月的会议上通过了针对室内和热点场景的Small Cell Enhancement项目, 即LTE-Hi (LTE Hotspot/Indoor) , 以满足不断增长的数据传输需求。
本文基于OPNET开发了LTE-Hi系统级动态仿真平台, 该平台采用了OPNET的分层网络模型及其离散事件驱动机制, 支持最高8×8多天线传输以及256-QAM高阶星座调制。下面对平台模型及仿真流程逐一进行介绍。
1 仿真平台模型设计
本平台采用了OPNET的分层网络模型结构, 按层次分为网络、节点和进程。其中网络场景参考ITU-R M.2135的推荐, 为120m×50m的长方形区域, 包括16个15m×15m的房间和1条120m×20m的走廊。场景内的节点包括1个全局仿真控制器 (Controller) 、2个位置固定的基站 (BS) 以及若干个位置可配置的终端用户 (UE) 。网络场景如图1所示。
1.1 全局仿真控制器
全局仿真控制器内包含两个进程:Parameters_Initialization和Global_Timer。Parameters_Initialization进程负责读入配置参数, 进行基本数据的初始化, 平台中的无线信道也在这里通过离线文件的方式读入内存, 以加快仿真速度。接着分别对BS、UE以及链路数据结构做初始化, 最后发送初始化结束中断信号, 告知其他进程已经完成参数初始化工作。Global_Timer进程主要完成全局定时工作, 以1ms (即LTE协议中一个子帧的时间) 为周期将定时信号分发给BS节点和UE节点, 各个节点会产生相应的响应处理。在定时时间超过所配置的最大仿真时间时, 该进程将结束仿真并进行统计量的收集。这两个进程的状态转换分别如图2和图3所示。
1.2 BS节点
BS节点包含一个名为BS_Process的进程。在收到前面所述的Parameters_Initialization进程初始化完成的中断信号之后, 该进程开始为BS所管理的全局数据做内存分配, 并初始化下行共享信道 (PDSCH) 的资源块。该进程的核心功能是实现下行无线资源调度, 本平台实现了最大载干比调度 (Max C/I) 、轮询调度 (Round Robin) 以及比例公平调度 (Proportional Fairness) 这三种典型的LTE系统的调度算法, 可通过参数进行配置。该进程的状态转换如图4所示。
1.3 UE节点
UE节点包含一个名为UE_Process的进程, 与BS_Process进程类似, 在收到Parameters_Initialization进程初始化完成的中断信号之后, 该进程也开始自身的初始化工作, 然后等待接收BS所发送的下行PDSCH信号。在接收机的处理过程中, UE需要根据自己分配到的资源块 (Resource Block, RB) 、CQI信息、邻小区的干扰信息以及多天线传输模式来计算接收信干噪比 (Signal to Interference and Noise Ratio, SINR) , 通过指数等效信干噪比合并[5]的方式进一步得出等效信噪比并对数据包是否正确接收进行判决。因室内场景信道条件较好, 本平台支持的最大天线配置为8×8, 即支持最高8层数据流同时传输。另外, 本平台实现了LTE-Hi所特有的高阶星座调制256-QAM的接收解调建模, 该技术可在理论上使LTE-Hi系统的峰值传输速率相对宏蜂窝场景提升33%。
2 仿真平台流程设计
LTE-Hi系统仿真平台流程如图6所示。在仿真开始时, 全局仿真控制器中的Parameters_Initialization将完成参数初始化工作, 在这个过程中, 系统仿真平台将预先生成离线室内信道文件读入到内存中, 该信道建模的方式能够有效解决同类仿真平台实时生成信道的耗时问题, 能够显著提升仿真速度。之后将发送初始化中断给其他进程, 收到该中断后, Global_Timer、BS_Process、UE_Process进程分别开始各自的初始化工作。
在初始化完毕之后, 仿真平台中的Global_Timer进程将为网络中的各个节点发送定时中断, 从而将仿真时间不断向前推进。该中断的周期为1ms, 恰好为LTE标准中1个子帧的时间长度, 即本平台将以1个LTE子帧为粒度进行资源调度和数据接收。在网络节点收到中断之后, 会进行相应的操作。例如, 当BS节点收到中断之后, 会准备分配给UE的资源, 在分配资源的时候, BS会根据不同的调度算法来决定某一个资源块应该分配给哪个用户。调度完成后BS会给UE发送中断, 告知UE进行数据接收。UE接收到中断之后, 会判断该资源块是否是分配给自己的资源块, 如果是则计算该用户在该资源块上的信干噪比 (SINR) , 并且计算可以正确接收的数据量。当预先设定的仿真时间到达时, 仿真结束, 此时Global_Timer进程会保存在该模块中定义的全局统计量, 比如平均SINR数值、CQI数值、小区吞吐量、用户吞吐量等等。至此, 仿真工作正式完成, 可以通过OPNET的相应菜单查看仿真结果并进行分析。
3 结论
本文给出了基于OPNET开发的LTE-Hi系统级仿真平台的设计, 对仿真平台中的各个模块和仿真流程进行了逐一介绍。本平台支持最高8×8高阶多天线传输以及256-QAM高阶星座调制, 能够有效的对LTE-Hi的系统性能进行精确的评估。
参考文献
[1]3GPP TR 36.814.Further Advancements for E-UTRA Physical Layer Aspects[S].2010.
[2]3GPP TR 36.872.Small Cell Enhancement for E-UTRA and E-UTRAN[S].2013.
[3]陈敏.OPNET网络仿真[M].北京:清华大学出版社, 2004.
[4]ITU-RM.2135.Guidelines for evaluation of radio interface technologies for IMT-Advanced[J].2008.
OPNET仿真平台 第2篇
单片机课程是电子信息类专业的核心课程。单片机芯片中包含微处理器、存储器和外部接口。单片机系统是以单片机芯片为核心开发的应用系统,单片机系统的应用的领域非常广泛,几乎涉及到我们能够想到的各个领域,如生产、生活、军事、教育等各个方面。
单片机芯片的性能直接决定单片机系统的功能,所以单片芯片在高速发展以适应单片机系统功能不断发展的新要求。单片机课程的特点是应用性非常强,使用的芯片发展非常快,整个课程的开发应该围绕使用什么芯片使课程保持先进性,课程有哪些应用项目使课程提高理论结合实践的应用性两个核心,以教学为主题展开。围绕着两个核心,我们做了做了大量研究工作,结合课程的应用项目开发了单片机实验平台。在以教学为主题的研究中将单片机实验平台和PROTUES构建的仿真平台相结合,形成立体化的教学模式,提高教学的效率和效果。
一、单片机实验平台的开发
(一)、使用什么芯片
单片机实验平台开发的第一个要确定的是使用什么样的芯片。在当前流行的众多单片机芯片中,我们选择了AVR单片机芯片ATmega16。AVR单片机芯片是ATMEL公司的`产品,发展非常快,正在逐步成为主流单片机芯片。其优点是它是新型的高速8位单片机,运行速度高,AVR单片机的片上资源非常丰富,具有极高的性价比。因此AVR最小系统构成简单,程序下载方便,只需要一条ISP下载线,进入AVR单片机开发的门槛较低,费用低廉,基于以上出发点,我们选择了AVR单片机芯片。
(二)、实验平台的功能模块和课程项目
实验平台的功能模块来源于实际应用,我们对单片机的应用领域进行了分析,提取了一些公共的应用和特殊应用,做为实验平台的功能模块。在实验平台的开发过程中课程项目开发和实验平台功能模块的开发是相辅相成的。这些模块直接支持课程开发中的具体项目。
1.8-12V电源模块:为电路板提供电源。
2.ATmega16L最小系统模块:是整个实验板的核心,它提供系统的复位、系统所使用的时钟电路和并口下载的接口。
3.16路开关:用于对各功能模块的开关控制。
4.8位发光二极管:可实现LED的指示、流水灯和学习C语言基础等项目。
5.8位数码管:可实现数码的显示功能,如数码的静态显示,动态显示,时钟显示等项目;
6.8*8LED显示:可实现字符点阵的显示项目。
7.液晶1602:可实现16*2液晶显示功能项目
8.74HC595芯片:可实现数字I/O口的串行扩展项目。
9.键盘:可实现4个按键的输入和外部中断源实验项目。
10.4*3矩阵键盘:可实现12个按键的输入项目。
11.频率发生器MC4060:实现单片机定时/计数器的外部时钟及时钟分频等项目。
12.EEPROM存储器:可实现ATmega16外部存储器的的扩展项目。
13.时钟芯片DS1302:是一个时钟功能芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。利用它可构成一个时间可调的实时时钟。
14.I2C总线24C01:
15.AD转换器:可实现数/模转换和模/数转换项目。
16.MX232串口通信:可实现ATmega16单片机的异步串行通讯项目。
17.温度传感器DS18B20:可实现ATmega16单片机的温度控制项目。
18蜂鸣器:发声的执行部件,可实现报警和音乐播放等的执行项目。
19.红外接收头:红外信号的接收部件,可实现遥控等项目。
20.放大电路LM358:可实现电流信号的放大功能。
(三)、软件开发工具
在编程语言中我们选择了C语言,在软件平台的选择上,我们使用了CodeVisionAVR作为C语言程序的编辑和编译工具,使用SLISP作为程序的下载工具。
二、仿真平台的应用
在课程的开发中仅研究教什么还远远不够,还应该研究怎样教。使用自己开发实验平台是一个好的解决方法,但还存在效率不高,灵活性不够的缺点。因此,我们在研究怎样教时,使用了单片机的仿真平台Protues。Protues软件是英国Labcenter electronics公司出版的EDA工具软件,它是目前最好的仿真单片机及外围器件的工具。
使用实验平台和仿真平台配合进行单片机教学和学习的过程如下
1. 分析项目要求;
2. 在Protues中画出电路原理图;
3. 根据原理图在CodeVisionAVR中编写、编辑、编译C语言程序;
4. 在Protues中将编译好的目标程序加载到Mega16芯片中;
5. 在Protues中仿真;
6. 在单片机实验平台中连接电路;
7. 使用SLISP软件通过下载线将目标程序下载到实验平台,完成一个学习过程。
三、基于实验平台和仿真平台的单片机实验室建设
从上面的讨论可知,硬件的实验平台和软件的仿真平台的结合,使单片机的课程即保证了实践第一的特色,又做到了灵活多变,事半功倍。在单片机实验室的建设上也就自然将实验平台和仿真平台有机地结合。下面是以上课规模50人,一人一机的单片机实验室建设方案。
1.奔腾及以上的PC电脑50台;
2.并口下载线,50根;
3.5V高稳定专用稳压电源50台;
4.AVR单片机JTAG仿真器个;
5.自行开发的单片机嵌入式开放实验平台50台;
6.C语言程序的编辑和编译环境CodeVisionAVR
7.SLISP单片机程序下载软件
8.PROTUES单片机仿真软件
9.Multisim电子仿真软件
四、课程的考核体系的建立
考核中结合实验平台和仿真平台的项目应用情况,采用过程化考核,注重平时考核,建立日常考核、测验和期末考核三级考核体系,均采用项目考核,以培养学生的实际应用能力。将平时随堂小项目的完成做为日常考核,如流水灯、数码管、LED点阵、LCD液晶显示、按键控制、定时计数器等、将具有典型代表性的项目作为测验如矩阵键盘、音乐播放器、串行通信等,将综合项目做为期末考核如数字时钟、温度测量等。在三级考核体系中日常占30%,测验占30%,期末占40%。
OPNET仿真平台 第3篇
在矿井作业、野外勘探、地铁施工、水下操作以及军事野战通信等既有设施匮乏、无线通信环境恶劣、通信建立与撤收时限要求高等极端情况下, 迫切需要一种新型的轻便快速的、可广泛应用的有线通信设备。这种有线通信手段可以通过中继节点的自适应多跳转发, 实现在一条电缆线路上远距离分布式跨接几十部终端进行无中心的信息交换。
本文试图借鉴Ad Hoc网 (即无线多跳自组网) 的理念与技术, 从实际通信需求出发, 提出一种基于OPNET平台的同线自组织网通信系统仿真, 旨在掌握同线多跳自组网的关键技术, 验证同线自组网满足各种通信业务种类要求的能力;验证系统具有自组织、路由中继能力等, 为同线自组织网通信系统的研制提供定量依据。
1 同线自组织网通信系统仿真设计
OPNET平台使用无限嵌套的子网来建立复杂的网络拓扑结构。其建模过程分为三个层次:网络 (Network) 层次、节点 (Node) 层次、过程 (Process) 层次。在过程层次中模拟单个对象的行为, 在节点层次中将互连成设备, 在网络层次中将这些设备互连成网络。因此, 同线多跳自组网的建模分为三级。
1.1 网络域模型
网络域模型处于建模工作的最顶层, 定义了系统中网络对象的物理位置、互联关系及全体对象在全网范围内整体性的仿真属性, 主要建立整个同线系统的网络布局。在本系统为总线型系统, 典型的网络拓扑为放置32个终端节点在一条总线上, 如1所示。由于固定节点的位置是不能改变的, 我们可将各终端节点的位置设为一个随机变量, 服从均匀分布, 也就是说各站随机分布在总线的任意位置上, 更符合真实的网络拓扑。只要改变随机变量的取值范围, 就可以更改总线的长度, 便于多次不同的仿真。再按此模型建立多个场景, 每个场景结构都是一致的, 不同之处在于用户数量的不同, 如24个、12个等。另外, 设置一个配置节点, 用来进行初始化配置, 如设定节点的随机位置, 确定总线长度等。
1.2 节点域模型
节点域模型采用模块化设计, 由类似协议栈的多层功能进程模块组成, 在本系统中主要是结构统一的用户终端模型。节点模型完成对两种节点 (多个终端节点和一个配置节点) 的建模, 见图2。配置节点用作初始化, 如确定各节点地理位置、设定各站设备串号等。终端节点由五个模块构成。其中, rcv模块和tx模块分别为总线接收器和总线发送器, rcv模块接收来自总线的各种控制及业务信息, tx则将各种信息发送至总线。节点的主控部分由control, RC, Call三个模块构成, control模块作为整个节点的核心模块, 用来维护拓扑及同步, 控制呼叫流程及多跳通信时选择路由等。Call模块控制呼叫的发起, 释放等。RC模块协调control模块与Call模块之间的通信, 并按照control模块分配的业务信道承载语音通信。
1.3 进程域模型
进程域模型是组成节点模型的各个功能进程的描述。进程模型仿真实现节点模型的行为动作。其中, 各层进程模型都包含相应层次的统计量收集功能, 用于从多个层次上评估网络的性能。
图3所示为OPNET的模型分级情况, 由图可以看出其主要包括三级模型, 用户可以在三个层次的任何地方切入编程, 建立所需的网络、节点或进程模型。
2 同线自组织网通信系统仿真模型的建立
通信网络一般由通信节点设备、传输链路以及通信协议组成, 是对各种信息进行处理和传输的信息处理系统。结合面向对象的观点, 这样的信息系统可以视为一系列的节点对象和链路对象组成, 其中, 节点对象对信息进行输入、处理和输出, 而链路对象表示节点对象之间的信息的传输关系。通信协议是一套关于通信信息传输顺序、信息格式、信息内容和其控制方法的约定, 由它控制网络的行为方式。根据同线多跳自组网的实际情况, 我们把它的各部件进行抽象, 可以定义网络、节点、链路和业务流等几个概念, 网络由节点和链路组成, 节点和链路分别用于描述同线网络节点和总线式信道, 业务流用于描述用户之间传输的业务信息, 通信协议则通过节点和链路的工作方式表现出来。因此, 仿真模型的建立重点放在, 进程模型、链路模型和业务流模型。
2.1 进程模型
进程域主要反映节点域中各模块工作的行为状况。节点域中关键模块Control的主处理流程见图4。其中, Update进程用来完成网络同步和拓扑更新等功能, Call进程用于呼叫控制和路由选择等, Timer则维护站点的定时器等一些资源。这三个进程分别通过调用相应子进程来完成相应操作, 便于系统维护和升级。这三个子进程如图5所示。
2.2 链路模型
按照传输方式, 网络传输链路可以划分为三种:点对点链路 (point-to-point link) , 总线式链路 (bus link) 和无线链路 (radio link) 。对于总线传输, 按照其所要考虑的因素, OPNET将信道对数据产生的传输效果划分为若干个阶段, 每个阶段对应一个管道状态 (pipelinestage) , 每个pipeline状态反映了信道特性的一个方面。位于前面的pipeline状态为后续的pipeline状态提供计算的依据, 链路模型就是通过对数据经过发信机和接收机之间的一系列pipeline状态进行计算, 来确定节点之间的通信质量。
OPNET为每种链路分别提供了多个pipeline stage, 对总线链路就提供了6个pipeline, 分别是传输时延 (dbu_txdel) 、链路闭锁 (dbu_closure) 、传播延时 (dbu_propdel) 、冲突 (dbu_coll) 、误码率 (dbu_error) 、纠错 (dbu_ecc) , 如图6所示。显然的, 同线自组网的传输链路为总线型。下面结合同线自组网将总线的6个pipeline具体描述如下:
(1) 传输时延pipeline。传输时延就是在站点内包完成传送所需要的时间。
(2) 链路闭锁pipeline。这个阶段只被每个连到总线的接收器调用一次, 以评估每一对收发处理机之间的连通性。不同于其它pipeline状态的是, 它是系统针对每对收发处理机进行连通性判断的一个独立pipeline。缺省认为所有的接收处理机都是任一发送处理机潜在的目的站, 即在仿真开始时, 假定任何一对收发处理机之间都是连通的。
(3) 传播延时pipeline。包从一个总线传输器经总线传输到另一个总线接收器需要经过的时间。
(4) 冲突pipeline。总线上的多个包之间发生碰撞是则调用此阶段。
(5) 误码率pipeline。当包已经进入接收器完成复制, 调用此阶段来估算已经发生的误码率。
(6) 纠错pipeline。经过前面的若干pipeline状态后, 数据包可能发生了传输差错, 在本pipeline状态, 应该可以由用户指定各个接收端口的纠错能力。通过比较误码数目和接收器的纠错门限值, 判决数据包能否被接受, 并打上接收标记。打有接收标记的数据包从本pipeline状态出来以后, 可以进入节点的各层协议模型进行数据包分析;否则, 数据包被丢弃处理。
可见, 同线多跳自组网仿真系统的总线链路模型属于一种离散信道模型。在建模时, 可以对标准pipeline进行修改以得到所需的链路模型, 也可以在pipeline里定义自己的传输数据属性, 还可以调用系统内核里的支持对传输数据属性进行操作的内核过程 (KP) 来编程实现自定义的链路模型。
2.3 业务流模型
通信网络的业务流模型, 一方面可以作为通信网络性能理论分析的组成部分, 另一方面作为通信网络性能仿真研究的离散事件的输入, 业务流信息能够潜在地影响仿真结果, 在仿真中扮演着重要角色。在仿真过程中, 选择能够合理描述业务流量特性的业务流种类和选择正确的流量输入方法对于仿真结果的输出具在重大的影响。
实际网络的流量是很复杂的, 往往带有随机性, 不可能完整精确地描述, 只能是通过分析提取其主要特性, 用尽可能有限的参数来描述, 减少配置时间。另一方面, 业务流模型应尽可能地接近真实业务流的特性, 对业务流的预测和实际测量应该可以转化为一定量的数值, 精确地反映待仿真系统的业务流量。
在通信网络中, 基本的流量特性有包到达率、包到达间隔时间和包大小等等。对于通信网来说, 用户的服务请求往往是随机的, 需要的服务时间也是不可预知的。实践经验证明, 通信网的呼叫间隔、呼叫强度、通信时长、服务时长等等都符合一定的统计分布特性。在仿真中, 我们通过包产生时间概率分布、包大小概率分布、均值和方差等参数来描述简单的统计分布的业务源。在理论分析上, 简单的统计分布特性对于网络传输的性能评价具有简单、有效等显著特点。常用的统计分布模型、参数和典型应用如表1。
终端节点的业务主要有:网络控制、实时话音、短消息数据等业务。不同业务的业务流量具有各自不同的特性。建立业务流模型时, 不可能对每一种业务流采用同一种业务特性描述。一种常用的方法是根据不同的业务种类, 对其流量特性的各个方面分别进行描述, 分别建立其业务源模型。例如:对于话音业务, 一般用呼叫持续时长、呼叫间隔时长、话音编码方案、突发长度、静默长度、呼叫占用带宽及优先级等参数描述;对于数据业务, 一般用发送和接收间隔时长、数据包大小等参数描述。
将业务进行分类描述后, 就可以采用上面所述的几种业务流特性对其各个方面进行定义, 建立同线自组网仿真系统的业务流模型。
3 结语
同线自组网仿真系统是对无线自组织网络技术在有线电缆中应用研究的一个异常复杂的问题, 其模型的构建是一个复杂的系统工程, 课题的研究对恶劣环境下保底通信手段研究具有重要的意义。论文在建立同线自组网拓扑结构模型基础上, 进一步提出了同线自组网节点模型、进程模型、链路模型、业务模型等, 对获得同线多跳自组网支持的网络规模、网络吞吐量、各种业务的服务质量 (包括成功率、时延等) 等性能指标奠定了基础, 为野战同线多跳自组网的研制做好充分准备具有科学的指导意义。在建立网络仿真模型时对传输信道进行了简化, 没有充分考虑节点间的不同传输信道对信号衰耗等因素的影响, 这需要进一步深入研究。
摘要:从恶劣通信环境需求出发, 基于同线Ad Hoc理念和数字化实现方式, 建立了一种基于OPNET平台的同线自组织网通信系统模型, 并进一步提出了同线自组网节点模型、进程模型、链路模型等, 旨在获得同线多跳自组网支持的网络规模、吞吐量、各种业务的服务质量等性能指标, 为深入认识和科学设计同线自组织网做出了有益的探索。
关键词:自组织网同线,通信系统仿真
参考文献
[1]Perkins C E, Royer E M.Ad-hoc on-Demand DistanceVectorRouting[A].Proc.2nd IEEESys.And Apps, Feb.1999:90-100
[2]王金龙.Ad Hoc移动无线网络[M].北京:国防工业出版社, 2004
[3]高嵩.OPNET Modeler仿真建模大解秘[M].北京:电子工业出版社, 2010
[4]钟晓峰, 等.基于时分系统的无线自组织网络同步算法, 清华大学学报 (自然科学版) [J].2005, 45 (1)
OPNET仿真技术及其应用 第4篇
近年来网络仿真作为一种新的网络规划、设计和分析技术,以其独有的方法为网络的规划设计提供客观、可靠的定量依据,缩短网络建设周期,提高网络建设中决策的科学性,降低网络建设的投资风险。OPNET网络仿真工具,提供了一个支持通信网络和离散系统建模的综合开发环境,它具有丰富的技术、协议、设备模型库和适合各个层次的建模工具以及灵活强大的仿真分析工具,特别适合各种网络仿真研究。
目前,以TCP/IP为核心协议的Internet已成为国际上最大的信息网络,以IP为核心的分组网络技术是通信网技术的发展趋势之一。本文在对OPNET软件介绍的基础上,利用OPNET仿真平台,在不同网络环境下,对分组交换网络的重要性能进行了分析比较,给出了仿真结果。
2 OPNET的通信仿真机制
2.1 离散事件仿真机制
OPNET采用离散事件驱动的模拟机理。“事件”代表了网络状态的变化。只有网络状态发生变化时,模拟机才工作,状态不发生变化的时间段不执行任何模拟计算。因此仿真的时间是由有限个离散点组成的,表现为一个跃进式的过程。事件发生的时刻使用OPNET在仿真机器上能够定义的最大精度浮点数表示。对于事件在仿真时间上的分布没有任何特殊的要求。不同的事件可以在同一个仿真时刻发生。事件的发生可以有疏密的变化。与时间驱动相比,这种离散事件驱动的模拟机计算效率得到很大提高。
仿真中的各个模块之间通过事件中断方式传递事件信息。每当出现一个事件中断时都会触发一个描述通信网络系统行为或者系统处理的进程模型运行。通过离散事件驱动的仿真机制实现了在进程级描述通信的并发性和顺序性,再加上事件发生时刻的任意性,决定了可以仿真计算机和通信网络中的任何情况下的网络状态和行为。
2.2 仿真调度机制
OPNET使用基于事件列表的调度机制。采用事件列表的目的是为了确保发生的每一个事件都按照事件发生时间的一定顺序正确的执行,从而保证没有发生的事件不被处理的情况。其基本机制描述如下:
a、每个OPNET仿真都维持一个单独的全局事件表,其中的所有项目受控于全局仿真时钟,且以时间为序调动表中的事件。仿真开始时,首事件处于头部,当该事件被执行后将从表中删除。随着仿真程序的运行,事件列表会随着事件的发生和事件的处理结束而扩大或者缩小。随着最后一个事件执行结束,事件列表变为空表,仿真程序运行结束。
b、作为“组织机构”,仿真核心采用高效的方法维护和管理事件表,并按顺序通过中断将事件递交到合适的模块,同时仿真核心接受来自模块的中断请求,并将新事件插入到事件表中相应的时间位置。仿真控制权伴随中断不断地在仿真核心与模块之间转移。
c、当事件同时发生时,仿真核心以下述两种方法之一决定事件被执行的顺序:一个是按事件到达的时间先后来决定;另一个是按优先因素来决定。OPNET可以通过手动设定事件优先级来区分同一时间内事件执行的顺序。
2.3 通信机制
在OPNET仿真开发系统中,数据分组是最基本的信息载体,也是模块间通信最常见的形式。因此OPNET采用基于分组的建模机制来模拟实际物理网络中分组的流动,包括分组在网络设备间的流动和网络设备内部的处理过程,模拟实际网络协议中的组包和拆包过程。OPNET可以生成、编辑任何标准的或自定义的分组格式,利用DEBUG功能,还可以在模拟过程中查看任何特定分组的头和净荷的内容。
在同一节点模型内,对于发送数据分组的模块都关联一个输出流,该输出流关联到目的模块的输入流。OPNET为目的模块设置了一个队列,队列采用先进先出(FIFO)模式管理分组,位于队首的分组才能被目的模块通过op pk get(stream index)获取并移除,队列允许分组在没有被移除之前在队列中积压。队列隶属于模块,仿真核心不限制队列的大小。
除了支持在同一节点模型中不同模块间的分组传输,OPNET还支持没有物理连接的节点模型之间分组的传递,与前者不同的是,后者需要指定目的模块的对象ID(Objid)。
3 OPNET层次化的建模结构
OPNET采用与实际网络相一致的层次结构设计。OPNET仿真模型分为网络模型、节点模型和进程模型三个层次,分别在图形界面的Project编辑器、Node编辑器和Process编辑器工具中建立。
Project编辑器完成网络模型的结构设计。网络模型是最高层次的模型,由网络节点、连接网络节点的通信链路以及嵌套的子网组成,由该层模型可直接建立起仿真网络的拓扑结构。其中,节点可以是固定节点、移动节点和卫星。为了连接固定节点,OPNET提供单工、双工和总线链路。单工或双工链路提供端到端的连接,总线链路则可以对连接在上面的任意数量的设备提供广播服务。无线版本的OPNET还提供了固定节点、移动节点和卫星节点之间的无线链路。用户从链路库中点取所需的链路将两个节点连接起来,设置好相应的属性,就能正确地连接好这两个节点。还可以根据需要,为一些特殊的信道定制链路模型。
完成网络结构布局之后,就要对节点的功能进行定义。在Node编辑器中,节点的功能都是通过模块来实现的,每个模块的功能划分十分清晰,接口也比较简单,这十分有利于用户的使用。模块间存在三种连接方式:分组流、统计线和逻辑线。分组流承载了模块间数据分组的传输;统计线可实现对模块特定参数变化的监视;逻辑线用于指定节点内的两个模块的逻辑关联,如一对收发信机,逻辑线不在模块间传递任何数据。模块可以分为两类:一类模块已经预先定义了属性和参数;另一类是需要编程的模块,可编程模块内部是进程模型定义的程序。
每一个节点都由一个或多个模块组成,而模块实际上是进程模型。Process编辑器通过状态转移图(STD)来建立进程模型。状态用图标表示,用线表示状态之间的转换。每个状态包含的处理使用内嵌的C/C++代码段来描述。在完全自己开发新技术时,或在基于库中节点模型需要进行底层进程修改时,需要用Process编辑器建立进程模型。而在完全使用库中节点模型时或对库中节点进行修改但不需要修改进程时,不需要进行这一步。
用户可以在上述三个层次的任何地方切入编程,建立所需的网络、节点或进程模型。
4 仿真实现
4.1 仿真模型
下面是OPNET在分组网中的具体应用:
网络模型、节点模型和进程模型如图1所示。这是一个分组交换网,由3个子网pksw 1、pksw 2和pksw 3通过点对点双工链路互连。
每个子网具有相同的星型拓扑结构,由一个中心交换节点hub和四个周边节点node(node 0~node 3)构成。中心交换节点hub在连接同一子网的周边节点node的同时还和其他子网的中心交换节点hub相连。它的功能类似于网络中的路由器。中心交换节点接收到分组后通过对目的地址的解析选择一个合适的发信机将分组送往目的地。当分组在子网间传递时,要进行子网之间的寻址和分组交换,这时每个子网是由它的userid唯一标识。
图1所示的节点模型是中心交换节点hub的节点模型。图中的hub模块是中心交换节点hub的处理模块,中心交换节点的任务主要是由它完成的。收发信机用于接收和发送数据分组。
在hub模块的进程模型中,init状态是状态机的初始状态,这个状态主要完成一些系统的初始化任务。Init的状态代码只在程序开始阶段执行一次,以后就没有机会执行,所以init的状态代码中不能含有对数据分组的处理程序。Idle状态是系统的等待状态。PK ARRVL条件判断hub进程接收的中断是否是流中断,如果进程接收到其他类型的中断则状态找不到转移条件从而导致出错,因此还要为idle状态创建一个指向自身default的转移线。
周边节点node主要是产生分组,然后为每个分组指定一个随机数的目的地址,并且通过点对点发信机传输出去;同时周边节点还要搜集从中心交换节点转发过来的分组,统计分组的端对端延时,还要销毁接收到的分组以便释放缓存空间。因此,周边节点的节点模型应该包括生成模块src、核心处理模块proc和一对收发信机。
4.2 仿真结果
在对上述分组交换网的仿真中,如果分组的大小和收发信机的速率都是恒定的,而src模块产生分组的速率不定,就可能导致链路利用率不同,端对端延时受到影响。为了清楚地看到分组产生速率对网络性能的影响,设置了两个不同的分组产生速率,即在仿真序列编辑器中,对到达间隔时间(sourceinterarrivaltime)仿真属性配置了两个值8(pksw out8)、80(pksw out80),pksw out8的分组产生速率大于pksw out80的。接着收集了pksw 1的中心交换节点hub和周边节点node 0之间链路的对象统计量utilization和全局统计量ETEdelay。图2、图3是仿真模型运行1000秒的仿真结果。
图2表明分组的产生速率过小导致链路利用率很低。图3中,当分组的发送速率加大时,延迟的大小和抖动都有一定幅度的增加,并且端对端延时曲线在抖动之后达到稳定状态。这样的仿真结果是合理的。在实际应用中,要根据现实情况和未来发展综合考虑链路利用率和延时,保证延时在一定范围内的前提下,尽量提高链路利用率。
5 结束语
本文对OPNET的工作机制、体系结构作了简要介绍,同时给出了OPNET在分组交换网性能分析中的应用,这只是OPNET强大功能的一小部分。网络仿真技术还处于发展时期,OPNET公司也在不断推出新的模型。随着Internet网络的迅猛发展及各种网络的融合,今后网络仿真技术必将成为网络规划设计不可缺少的工具。
参考文献
[1]叶酉荪,南庚.军事通信网分析与系统集成[M].北京:国防工业出版社,2005.117-122.
[2]陈敏.OPNET网络仿真[M].北京:清华大学出版社,2004.
[3]孙屹,孟晨.OPNET通信仿真开发手册[M].北京:国防工业出版社,2005.
OPNET仿真平台 第5篇
在网络迅速膨胀的今天, 网络的结构、规模和技术越来越复杂, 网络的性能也变得越来越不可预测, 有效地评估和研究各种网络技术、协议和性能成了迫切的需求。网络仿真作为一种既经济又科学的网络预测和评价手段得以迅速发展, 它通过虚拟的环境来模仿一个系统过程中的某些行为和特征, 得出反映真实网络的各种数据指标, 从而为评价某个网络提供定量依据。
当前主流的网络仿真软件是Opnet和NS-2。在软件功能方面, Opnet具有丰富的对象模型库、统一严格的友好性接口, 使得工作人员很容易建立所需的网络拓扑结构。其次, Opnet有许多现成的模块, 研究者在原来模块的基础上进行修改、添加和配置就可以应用, 能够免去很多的编程工作。
但目前有关Opnet的资料非常少, 中文版的几款图书好多内容都是翻译Opnet软件中自带的帮助文档, Opnet在我国的应用介绍也较少, 初学者在刚接触Opnet时感觉较困难。为此, 本文较详细地介绍了应用Opnet进行网络建模的方法和步骤, 并分析了各种环境因素对网络性能和仿真结果的影响, 可为网络管理人员进行网络规划提供参考。
1 Opnet软件简介
1987年, Opnet公司发布了其第一个商业化的网络仿真软件, 提供了具有重要意义的网络优化工具, 使得具有预测性的网络仿真成为可能。在Opnet的各种产品中, Modeler几乎包含了Opnet所有产品的功能。作为当前领先的网络仿真技术开发环境, Opnet Modeler以其无与伦比的灵活性应用于设计和研究通信网络、设备和协议等方面[1]。
(1) Opnet Modeler主要面向研发, 它提供了各种专门的编辑器、分析工具和一些模型, 使研发人员可以只专注于项目中的某个特定部分进行开发。
(2) Opnet Modeler面向对象的建模方法和图形化的编辑器反映了实际网络和网络组件的结构, 真实的网络系统可以直观地映射到模型中。
(3) 采用阶层性的模拟方式 (Hierarchical Network Modeling) , 使用无限嵌套的子网来建立复杂的网络拓扑结构。从网络对象层次关系看, 提供了三层建模机制, 即网络模型、节点模型和进程 (Process) 模型[2]。三层建模机制使网络模型的建立更加层次化, 条理化。
(4) 模块与模块之间通过数据状态线和数据报流通信, 每一个模块由各个进程组成, 即用有限状态机来实现。
Opnet Modeler就是根据各种描述网络协议的文件对网络的节点和组件进行模块划分, 编写程序实现各个模块的功能, 即通过进程模型来实现。进程模型处于三层建模机制中的最底层, 是各种状态机的组合, 用状态机来描述实现各种协议, 是Opnet三层建模机制中最重要的部分。
2 简单网络模型的建立
2.1 建立工程项目和场景
建立新的网络模型首先需要建立一个新的项目和工作场景, 步骤如下:
(1) 启动Opnet, 选择菜单File/New/Project, 单击OK, 进入建立新项目的开始向导。
(2) 在弹出的Enter Name对话框中, 为新项目和新场景命名。
(3) 初始化网络的拓扑结构, 可以建立一个空的网络场景, 然后应用对象面板里的各种节点、链路等建立一个新网络, 也可以从数据源导入已经建好的网络拓扑结构, 这里选择生成空的网络项目场景。然后设置网络范围的大小, 选择逻辑型, 逻辑型是指所建立的网络模型不考虑实际的地理环境位置等, 通过设置网络模型中节点或链路的参数来模拟实际网络的环境。
(4) 选择对象模型。Opnet中自带的一部分对象模型中不能完全包含本文建立网络模型所需的所有对象, 所以不选用自带的对象模型, 直接进行后面的步骤。
至此就建立了一个新的项目, 它包含一个空的网络场景。
2.2 建立简单的网络模型
建立网络模型就是从对象面板库中选取节点和链路, 然后进行连接构建网络。对象面板库包含了实际网络系统中的很多节点, 如服务器、客户端、路由器、交换机和链路等。本文建立的简单网络模型需要的节点和链路模型有ppp_server、ppp_wkstn、ppp_DS3_int、CS_2511_e1_sl118、application config、profile config, 节点选择的依据是它们能支持相同的数据包格式。将节点拖到工作区间, 用链路进行连接, 建立如图1所示的网络模型。
Client和Server间的逻辑关系如图1中的弧线所示。Profie定义了业务, 包括业务开始时间、偏置时间、持续时间、操作模式等, 同时也定义了与Application的关系;Application定义了各种应用;Server对Application定义的应用给以支持, 即Client向Profie请求业务, Profile找到这个业务所对应的应用, 然后找到支持该应用的Server, 这样Client和Server就建立了关系。
2.3 业务配置
2.3.1 定义应用
定义应用就是指定网络中存在的应用业务, 通过Application Config模块的Application Definition属性实现。在Application Definition Table中左下角的Rows前面的文本框里输入要定义的应用个数。这个定义应用的表有应用的名字和对应用的描述两列, 对应用的描述有ftp、http、Database、Video Conferencing等, 可选择ftp。ftp应用的定义有2个重要的参数:文件大小和请求时间间隔。为了实现单条链路时吞吐量能达到5 MB, 将文件大小和请求时间间隔设置得较大, 分别为60 000 000 B和3 000 s, 其余的参数采用默认值。
2.3.2 定义业务规格
业务规格描述一类用户群所涉及的应用, 指定应用的开始时间、偏置时间、持续时间、操作模式等。业务规格通过Profile Config模块的Profile Configuration属性实现。开始时间根据用户发起业务请求的时刻指定, 持续时间可以指定为仿真结束时终止这次的业务请求, 偏置时间是应用相对于Profile开始时间的偏置时间, 根据应用文件的大小而定, 大文件时间长些, 小文件时间短些, 这里由于请求的ftp文件较大, 设置200 s的时间偏置。值得指出的是一个Profile可以请求多个应用。
2.3.3 客户端发起请求
客户端发起请求通过Client节点Applications的Supported Profiles属性设置。在Applications:Supported Profiles Table中将Profile里定义的1个或多个Profile纳入客户端的请求。
2.3.4 服务器支持请求
服务器支持请求通过Server节点Applications属性的Supported Services设置。 在Applications:Supported Services Table中将Application里定义的1个或多个应用纳入服务器的支持。需要指出的是Server要能支持Client所请求的所有业务, 否则仿真时将会提示不支持某个应用。
2.4 设置环境参数
右键单击Client和Server的属性对话框, 选择TCP参数组中的Receive Buffer属性设置Rwnd (接收窗口) 参数;delay为链路单向时延, 通过链路属性对话框里的delay参数改变其大小;buffer为路由器发送机缓存, 打开Router节点的模块结构, 在链路所连接的那个发送机上编辑其属性对话框, 通过Channel信道的包容量属性Packets Capacity设置其值。
2.5 搜集仿真结果
搜集仿真结果常用的方式有all values 、samples、bucket。 all values是搜集某个统计量的所有值;samples 是通过采样搜集统计量, 又分时间采样和数量采样2种方式;bucket搜集也有时间和数量2种方式, 它是将一个时间间隔内的所有值或一定数量的值放入bucket, 然后对bucket中的值进行各种处理, 将处理后的结果作为仿真结果的一个数据。
从Simulation/Choose Statistic Reports中选择tcp connection组里的统计量Cwnd、ssthresh、Rwnd, 采集的方式为采集所有的值, 这样可以看到窗口变化的细节部分。在链路上采集统计量为throughput, 为了提高仿真速度, 采集方式没有必要采用all values方式, 这里选择采用bucket容器、大小为100、sum/time的方式, 即把bucket里的100个数据进行求和再除以时间得到的值作为统计输出的结果。
3 TCP拥塞控制仿真及分析
当网络负载较小时, 吞吐量基本上随负载的增加呈线性关系增长, 响应时间增长缓慢, 当负载达到网络容量时, 吞吐量增加缓慢, 响应时间急剧增长。如果负载继续增加, 开始有丢包发生, 当负载超过一定量时, 吞吐量急剧下降, 网络发生了拥塞[3]。拥塞控制是采用某种策略, 维持网络的高吞吐量、低延迟状态, 避免进入拥塞;当拥塞发生后使网络从拥塞状态中较快地恢复过来, 进入正常的状态。
3.1 接收窗口和拥塞窗口
接收窗口是接收端当前的接收缓存所许诺的能接收的窗口大小, 是来自接收端的流量控制。拥塞窗口是发送端根据网络拥塞状况而设置的窗口值, 是来自发送端的流量控制。发送端实际的数据发送速率是接收窗口和拥塞窗口中的较小值[4]。
仿真环境:
Bottleneck=5 Mbps, Rwnd=131 070 B,
Delay=50 ms, Buffer=15 packets。
图2为Reno算法下的拥塞窗口和拥塞阈值图。从图2可以看出, 在Reno拥塞控制算法下, 当网络发生拥塞时 (此时是收到3个相同的ACK) , ssthresh为拥塞发生时刻Cwnd的一半, 接着进入重传和快速恢复阶段, 当发送端收到正常的ACK确认号后进入拥塞避免阶段, 网络恢复正常。当Cwnd达到60 packets时, 网络再次发生拥塞。
3.2 环境参数对仿真结果的影响
要在所建立的单条链接的网络模型中实现网络拥塞需要合理地设置Rwnd、 Delay、Buffer参数, 各参数设置如表1所示。
3.2.1 Rwnd对仿真结果的影响
前面已经提到TCP协议层发送端实际是按拥塞窗口和接收窗口中较小的一个来发送数据的。图3为不同Rwnd下的吞吐量曲线。从图3可以看出, 当接收窗口小于65 535 B时, 吞吐量达到稳定以后, 拥塞窗口已足够大, 在Rwnd和Cwnd两者中Rwnd较小, 发送端以Rwnd发送数据, 所以在Rwnd<65 535 B时吞吐量随着Rwnd的增加而增加, 在Rwnd较小时吞吐量较小。当Rwnd=131 070 B时, 达到稳定后, Rwnd相对较大, 拥塞窗口也较大, 所以发送端实际的发送速率很大, 网络发生了拥塞。发生拥塞后拥塞窗口减半, 此时由于Cwnd比Rwnd小, 发送端就以Cwnd发送数据。由于网络发生了拥塞, 网络的吞吐量就会下降, 如图3中4号线所示。
1-Reno_Cwnd=13 107 B;2-Reno_Cwnd=39 321 B;3-Reno_Cwnd=65 535 B;4-Reno_Cwnd=131 070 B
3.2.2 Delay对仿真结果的影响
Delay影响了数据的交付效率, 使得响应缓慢, 从而限制了网络的吞吐量, 带宽利用效率降低。图4为不同Delay下的吞吐量曲线。从图4可看出, 较小的Delay下平均吞吐量较高, 网络达到稳定需要的时间也较短;当Delay为70 ms时网络就发生了超时, 吞吐量最低。
3.2.3 Buffer对仿真结果的影响
当链路发生拥塞时, 如果路由器的缓存较大就能够对新进入的数据包进行暂存, 降低丢包率, 维持较高的链路利用率。图5为不同Buffer下的吞吐量曲线。从图5可以看出, 当路由器的发送机缓存为15 packets时, 丢包率最大, 吞吐量最低, 随着发送机缓存的增加丢包率减小, 吞吐量逐渐增加。
当然, 仿真是在只有1条通信链路的情况下进行的, 看上去是当链路发生拥塞时Buffer越大, 网
1-Reno_Delay=10 ms;2-Reno_Delay=30 ms;3-Reno_Delay=50 ms;4-Reno_Delay=70 ms
1-Reno_Buffer=15 packets;2-Reno_Buffer=25 packets;3-Reno_Buffer=35 packets;4-Reno_Buffer=50 packets
络的性能越好, 其实在实际的网络中不能只靠增大Buffer来降低丢包率, 因为如果一直在一个已经发生了拥塞的网络上以较大的速率发送数据, 只能使网络拥塞更为严重, 直至崩溃, 因此, 要合理地设置Buffer。如何合理地设置Buffer还有待进一步研究。
4 结语
本文以TCP拥塞控制仿真为例, 介绍了Opnet仿真软件及其建模的方法步骤以及业务配置, 研究分析了Rwnd、Delay、Buffer对网络性能和仿真结果的影响。通过仿真过程可以看出, Opnet图形化的友好界面、其丰富的对象面板库使网络模型的建立更加简单, 在某种网络条件下对网络性能的研究也更有效。
参考文献
[1]王文博, 张金文.OPNET Modeler与网络仿真[M].北京:人民邮电出版社, 2003.
[2]陈敏.OPNET网络仿真[M].北京:清华大学出版社, 2004.
[3]罗万明, 林闯, 阎保平.TCP/IP拥塞控制研究[J].计算机报, 2001, 24 (1) .
OPNET仿真平台 第6篇
目前流行的网络仿真工具有很多, 其中不乏有NS2 、Glomosim 、OPNET等优秀仿真工具。相比之下, OPNET 更为出色。OPNET除能够准确地分析复杂网络的性能和行为外, 在网络模型中的任意位置都可以插入标准的或用户指定的探头, 以采集数据和进行统计。通过探头得到的仿真输出可以以图形化显示、数字方式观察、或者输出到第三方的软件包去。它允许用户使用FSM (有限状态机) 开发自己的协议, 并提供了丰富的C语言库函数。它支持面向对象的调试, 对网络拓扑、节点/设备的体系结构、过程逻辑 (状态机) 、传输等不同层次的、不同类型的模型, 都有专门的工具来进行编辑和浏览。本文建立的WTLS仿真模型就是使用OPNET建立的。
一、WTLS协议概述
WTLS (Wireless Transport Layer Security) 协议版本18-2-2000是从TLS1.0协议演化而来的, 它的主题框架和握手流程模仿了TLS1.0协议中的内容, 但又针对无线应用这一特殊领域的要求做了相应的调整。其规范定义在WAP论坛上的《WAP WTLS WAP-199-WTLS Version 18-Feb-2000》中。
WTLS记录协议是一个分层协议, 被分为四层:
(一) 应用数据协议 (Application protocol) 。
这是一个从相邻层接收原始数据的协议, 它仅在连接状态下运行。连接状态是指WTLS记录协议的运行环境, 它规定压缩算法、加密算法和MAC算法。逻辑上, 通常有两个连接状态很重要:当前状态和未决状态。所有的记录都在当前状态下进行处理, 未决状态的安全参数由WTLS被重新初始化为空状态。最初的当前状态通常都指明不使用加密、压缩或MAC。
(二) 握手协议 (Handshake protocol) 。
所有与安全相关的参数都是在握手阶段协商一致的。这些参数包括:协议版本号、使用的加密算法、鉴别的信息和由公开密钥技术生成的密钥素材。
(三) 报警协议 (Alert protocol) 。
记录协议的警报消息主要有错误、严重、致命三种。WTLS中的出错处理是基于警报消息的, 当发现错误时, 发现的一方发送包含出现错误的警报消息, 进一步处理依赖于出现错误的级别和类型。
(四) 改变密码规范协议 (Changecipherspec protocol) 。
此协议应用在加密算法中, 用来在WAP会话的双方间进行加密策略改变的通知, 仅使用一种改变密码标准消息。此消息在双方的安全参数协商一致后, 在握手阶段由客户方或服务方发送给对方实体, 用于通知另一方:以后的数据记录将采用新协商的密码规范和密钥。
二、一个可行的改进模型
为了简化模型, 我们没有使用传输协议, 只是简单地通过收发器直接传送数据包。通过改进后, 一个完整的节点模型应该是包含了IP层的结构, 如图1、图2所示:
由于WTLS是通过与UDP类似的WDP协议传输的, 所以模型中使用UDP协议来模拟WDP完成传输。
三、实例及结果
为了评价其总体性能指标, 以及它对各种应用的支持性能, 我们评测了各种参数, 如应用数据包的响应时间 (及抖动) 、数据信道和握手信道的利用率 (详见图3~图8) 、网关吞吐量、网关的队列延迟等。限于篇幅, 这里只列出一个重要的参数的分析结果:数据信道和握手信道的利用率。
正像我们预期的, 数据信道的利用率较大, 平均达到了49.5, 而握手信道的利用率则较小。
四、结语
网络仿真能够为网络的规划设计提供可靠的定量依据。网络仿真技术能够迅速地建立起现有网络的模型, 且能够方便地修改模型并进行仿真, 这使得网络仿真非常适用于预测网络的性能。通过本文提出的WTLS协议仿真模型, 我们可以在OPNET中得到各种参数, 如:应用数据包的响应时间 (及抖动) 、网关吞吐量、网关的队列延迟等。限于篇幅, 不一一列出。通过预估这一系列参数对无线WAP安全的影响, 可以提出相应的系统改善方案。
摘要:本文研究了WTLS协议及其相关技术, 在研究WTLS协议的基础上使用仿真工具OPNET建立了对协议的仿真模型。通过该仿真模型可以对WTLS的安全性进行评测, 并预估各种参数对无线WAP安全的影响, 从而可以提出相应的系统改善方案。
关键词:WTLS,仿真,OPNET
参考文献
[1].BALTIM公司的技术报告:baltimore_telepathy_brochure.pdf[R].2002
[2].CERTICOM公司的技术报告:Trustpoint_Wireless_PKI.pdf[R].2003
[3].爱立信技术报告:Security-of-mobile-payment-systems.pdf[R].2005
[4].诺基亚技术白皮书:secure_ID_Nokia_whitepaper.pdf[R].2006
[5].WAP Security:WTLS;Tdo.pdf[R].2005
OPNET仿真平台 第7篇
1 网络仿真软件介绍
网络仿真是指在计算机系统中,结合实际网络需求,利用仿真软件构建一个模拟测试平台,可以针对网络通信的数据流、网络各类硬件、网络协议、网络业务等进行设计研究,还可对网络中的带宽、负载、CPU利用率、时延、误码率等性能参数进行分析比对,并依据仿真结果做出直接有效的网络建设决策。
下面针对现有主流网络仿真软件OPNET和NS2进行介绍:
1.1 OPNET介绍
OPNET出自麻省理工学院,在1987年得以商业化。它可以利用其各个功能仿真模块,模拟诸如以太网、无线网络、卫星通信网、物联网等各类网络环境的通信,并针对网络模型中的任意设备或位置设置监视点,采集该点仿真数据,并加以分析,最终以图形化的方式展现输出,供网络规划人员参照使用。该仿真软件主要支持的网络设备厂家有HP、Cisco、3Com等。同时也可在Windows环境下使用C/C++语言来控制有限状态机的逻辑状态和转移细节,实现自定义建模。
1.2 NS2介绍
NS2是一种开源仿真软件,可以通过C++语言编写的协议函数以及OTCL编写的配置文件,来实现针对各种网络环境下的网络协议进行模拟或修改,从而实现网络模型仿真。
1.3 上述二者对比
在现有针对网络仿真的各类软件中,NS2和OPNET是应用较为广泛的两种。二者区别主要有以下几点:
1)针对安装和使用时的系统环境而言,OPNET适配于Windows系统场合,而NS2更匹配于Linux的开发环境;
2)OPNET是商用软件,因而开发界面和操作方式更加友好,功能上面也更加全面,但对于复杂的节点设计不如NS2灵活。但NS2从新手学习来说更加复杂;
3)NS2是免费开源软件,这是与OPNET相比最大的优势。另外NS2对于节点数较多的场景仿真较为占用系统资源。
2 OPNET的重要结构
OPNET软件包主要由ITDecision Guru、Modeler、Modeler/Radio三个模块组成。这里重点介绍一下Molder模块,它既有仿真分析功能,还可以针对不同的网络层次建立自定义的通信协议。
OPNET Modeler主要由针对网络拓扑结构进行编辑的网络编辑器、用于对涉及的网络模型节点进行数据流编辑的节点编辑器、用于控制节点间事件触发控制流的进程编辑器、用于创建用户自定义的各类数据包的包格式编辑器、用于搜集仿真结果的探针编辑器这五部分构成。上述五个部分在整个网络仿真环节中,按照顺序逐一执行,从而得到理想的仿真结果。
3 网络改建前后性能仿真
单位原有一个以星型结构布局的有15个用户节点的局域网,并且所有用户共享一台服务器资源。现增加一个接入交换机,并在新增加的交换机上以星型拓扑接入有6个新用户节点,同时也能直接访问原有服务器资源。考虑以前服务器的硬件配置可能性能不足的情况,假设改建后所有21个用户同时访问服务器,整个办公网会不会出现访问失败或延迟太大的问题?基于此考虑使用OPNET进行网络仿真,以确保改造后的网络性能能够满足业务需求。
结合OPNET网络仿真的一般步骤,进行了以下仿真操作:
1)根据上述需求及问题,明确要仿真的对象和待解决的问题。这里新建一个名为“HKC”的工程,场景名为“Existing Network”;
2)结合仿真目的,利用OPNET软件进行仿真建模。其中包括设置网络拓扑结构、网络的范围、网络传输介质、网络连接核心硬件、网络业务模型等。可使用“快速拓扑配置工具”实现原有网络参数配置。
3)完成基本拓扑模型设置后,可以进行相关结果搜集的准备工作。如CPU占用率、负载、流量、延时等等。为了更加准确的自定义搜集网络相关参数,也可以打开如图1和图2所示关于服务器节点的模型编辑器和进程模型编辑器,在进程模型编辑器中,点击INIT进程上部或下部,可对该节点进行入口或出口代码的按需编程。
4)建立完网络模型并设置好将要采集的状态后,现在可以选择收集哪些参数值。在服务器节点上单击右键,从弹出的菜单中选择Choose Individual Statistics,选择监视服务器的CPU占用率和负载,另外右键点击网络编辑器工作空间,监视整个网络延迟情况。
5)完成上述操作后,即可进行仿真测试。可以设置仿真执行时长为“0.5 hours”,即30分钟,点击执行按钮后,仿真开始运行,直到提示仿真完成。此时可以在项目编辑器中点击鼠标右键,选择菜单中的“View Results”来查看结果。
在仿真结果中,可以看到刚才设置的监视点捕获的所有性能参数结果集。但现在为了能够掌握改建后网络的参数变化,需要对现有的网络拓扑结构以及相关设备进行修改,以适应新的网络规划。这里通过在OPNET的Scenarios菜单中选择Duplicate Scenario(复制场景),实现保留原场景,并复制出一个供修改的新场景“New Network”。可以在新场景中添加新的网络拓扑,如图3所示。
6)针对改建后新的网络场景,再次配置仿真参数并进行仿真,观察对比结果,可以对该项目下两种不同场景的仿真结果进行比较。
图4是针对整个系统的访问延迟进行的对比。可见延迟由原来的0.006秒变化为最大0.008秒,但此种变化对于用户体验来说,几乎可以忽略不计;图5中第1个和第2个小图所示,可见服务器的CPU利用率维持在0.002%左右,几乎没有剧烈变化,可见新增网络节点对服务器CPU资源占用影响不大;再看图5中第3个和第4个小图,服务器的负载均稳定在2000bits/s附近的状态,二者变化不大,可见新增网络节点对服务器的负载影响不大;综上可知,此次的网络改建,对于服务器和整个网络的性能来说,所带来的影响完全在用户可接受的范围之内,可以进行实际改建。
4 结束语
由上述可知,在互联网不断发展的今天,各项网络业务要求不断变化提升,对于新建和改建的网络所面临的网络技术选型、拓扑规划、设备选择、网络应用部署等实际问题,利用OPNET的网络仿真均可以提供可靠的网络模型和性能定量参考依据,据此也可以提出性价比最优的解决方案。
摘要:如今网络基础链路虽然越来越好,但随着国家“互联网+”战略的不断深化实施,网络应用会呈几何级增加,这样部分单位会新建或改建现有网络,如何确保新网络的性能适应各种网络业务是个很实际的问题。文中首先分析各类网络仿真软件特点,着重介绍OPNET的仿真建模要素,同时利用OPNET对改建前后的网络性能进行比较,确定改造效果及仿真意义。
关键词:OPNET,网络仿真,网络建模,网络性能
参考文献
[1]陈敏.OPNET网络仿真[M].北京:清华大学出版社,2004.
[2]洪家平,柯宗武,童钰.OPNET在网络规划和设计中的应用[J].湖北师范学院学报:自然科学版,2004(24).
[3]天极网.似幻亦真,教你踏足网络仿真的云外之境[EB/OL].[2007-07-18].http://digi.163.com/07/0718/01/3JL7179V001628C0.html.
[4]舒荣.基于OPNET的仿真技术在校园网络研究中的应用[J].电脑编程技巧与维护,2015(13).
基于OPNET的校园网建模与仿真 第8篇
网络仿真技术是一种以系统理论、形式化理论、随机过程理论、统计学和优化理论为基础的技术。其通过对网络逻辑结构、节点设备、网络链路和通信协议的建模, 建立真实网络的仿真环境, 然后通过仿真获取网络设计或优化所需要的相关性能数据。设计人员可以在虚拟的网络环境中对网络结构进行检测, 验证一种或多种不同的网络设计方案, 并且得到高准确度的结果和数据。较之以往技术和方法, 网络仿真技术具有预测功能, 应用范围更广, 并且能够得到客观、准确的结果, 便于分析, 适用于中大型网络, 节省时间及资金。
1 网络仿真软件OPNET
1.1 网络仿真概述
随着网络技术的高速发展, 网络结构和规模的日益复杂, 网络规划设计、设备研究变得越来越困难。借助这种仿真技术, 可以提高网络结构设计的可靠性及准确性, 显著削减了网络投资风险。
网络仿真技术的特点: (1) 通过网络仿真软件能够迅速建立网络模型, 通过模型仿真为设计提供可靠的定量依据, 从而对网络的性能进行更准确地预测; (2) 使用网络仿真软件能够灵活验证设计方案的合理性, 或比较多个不同设计方案的优缺点, 为最后实施方案的选择提供可靠依据。
1.2 网络仿真软件OPNET简介
OPNET仿真软件是当今仿真领域比较先进的开发和应用平台之一。OPNET软件采用离散事件驱动的原理, 即只有在网络状态发生变化的情况下, 模拟机才能工作, 否则被跳过, 与时间驱动相比效率更高。OPNET采用基于包的建模机制, 其过程分为3个层次, 自上而下在每个层次模拟单个对象的行为, 这样可以同时在不同的场景将不同的设计方案加以比较。OPNET仿真软件中包含免费的标准模型库, 用户也可以预定特殊的模型库, 使用者可以快速建立网络模型进行升级和规划改造、查错, 提供一流的分析功能并具有OPNET网络设计、运行和规划解决方案提供的补充性功能, 包括利用预测规划和优化、网络审核和更改验证以及快速故障排除。
OPNET应用于多种硬件设备, 可以运行在SUN、Unix、NT、HP及windows等多种工作平台上。目前, 在建筑智能化、智慧城市、智能交通、网络通信、航空航天及系统集成等方面被广泛应用。
1.3 OPNET仿真软件的主要特点
第一, OPNET软件采用三层建模机制:网络域、节点域、进程域。
第二, OPNET软件采用基于离散事件驱动的仿真机制。
第三, OPNET软件由三个模块组成:ITDecision Guru、Modeler和Modeler/radio。3个模块层层嵌套。ITDecision Guru以最优化网络性能为目标;Modeler可以帮助用户设计和分析网络、网络设备和通信协议;Modeler/radio支持移动通信和卫星通信。
1.4 OPNET仿真流程
OPNET网络仿真软件应用于网络规划设计的流程如下: (1) 网络拓扑结构的配置; (2) 网络系统业务的配置; (3) 收集统计信息; (4) 运行仿真; (5) 调试模块再次仿真; (6) 发布仿真报告。
2 校园网建模
2.1 校园网的需求
以普通高等教育学院校园网的基本结构为例, 每一功能设定为一个局域网, 每个局域网使用二级交换机Cisco2924组网, 所有局域网交换机最终都汇聚到同一台Cisco5500的核心交换机上。服务器组通过一台交换机连接到核心交换机。各个局域网的节点数及需求业务如表1所示。
2.2 网络建模
校园网络主要网络设备有:一台路由器、一台核心交换机、多台汇聚交换机、多台服务器和10 000个客户端组成。采用星型拓扑结构, 遵循TCP/IP协议。网络中心与各楼之间用光纤连接。本网络支持E-mail、FTP、web, DNS及办公自动化等业务。
2.3 业务配置
校园网主要以教学科研为主要目的, 主要涉及的业务主要有:FTP文件下载业务、HTTP网页浏览业务、Email电子邮件业务等。这些业务主要都是端对端的业务。都是以工作点访问服务器从而获得某种服务的方式完成的, 所以需要配置端对端业务。由于网络接入了大量的用户群, 对于不同的用户, 其业务也是不同的。如对于学生宿舍的用户来说, 主要的网络业务为http和ftp。
办公楼, 实验楼:http, Database设置;
图书馆:http, Database设置;
教学楼:http, Telnet Session设置;
宿舍区:http和ftp设置。
3 数据收集及仿真分析
3.1 数据收集
校园网络建模及业务配置之后, 进行参数的提取。本次要提取的参数有网络延时、网络负载、网络总负载及核心交换机包交换率。
3.2 仿真及分析
3.2.1 查看其中的网络延迟参数
整个网络的时延如图1所示。初始化结束后, 整个网络工作状态稳定, 网络时延非常小, 说明实时性好。
3.2.2 网络负载和网络总负载的参数
如图2、3所示, 初始化后网络负载比较稳定, 而且负载比较大。
3.2.3 核心交换机的包接收率和包丢失率
图4所示, 交换机初始化有一个100秒的延时, 在网络运行稳定后逐渐趋于一个定值之间波动。
从图5中图形可以看出, 交换机的包丢失率很低, 趋近于零, 说明交换机的性能很好。
通过对几个参数的分析, 网络比较可靠。现有的网络运行速度较快, 系统各项性能指标正常, 完全能够满足学校日常办公、学习的需要。
4 结语
本文以校园网为例, 研究了将OPNET仿真技术应用于网络建设的有效方法。并且以校园网络为背景, 利用仿真工具对多个网络性能指标进行比较分析。可以看出, 将OPNET仿真技术应用于网络建设, 将提高规划设计的可靠性, 避免返工, 进而会最大程度地节省时间, 缩减经费, 提高网络质量, 降低维护难度, 在网络建设中使用仿真技术是可行的。
参考文献
[1]陈敏.OPNET物联网仿真[M].北京:清华大学出版社, 2010:28-254.
OPNET仿真平台
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。