完整word版opnet针对aloha和CSMA的仿真报告.docx

上传人:b****9 文档编号:26280333 上传时间:2023-06-17 格式:DOCX 页数:14 大小:464.80KB
下载 相关 举报
完整word版opnet针对aloha和CSMA的仿真报告.docx_第1页
第1页 / 共14页
完整word版opnet针对aloha和CSMA的仿真报告.docx_第2页
第2页 / 共14页
完整word版opnet针对aloha和CSMA的仿真报告.docx_第3页
第3页 / 共14页
完整word版opnet针对aloha和CSMA的仿真报告.docx_第4页
第4页 / 共14页
完整word版opnet针对aloha和CSMA的仿真报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

完整word版opnet针对aloha和CSMA的仿真报告.docx

《完整word版opnet针对aloha和CSMA的仿真报告.docx》由会员分享,可在线阅读,更多相关《完整word版opnet针对aloha和CSMA的仿真报告.docx(14页珍藏版)》请在冰豆网上搜索。

完整word版opnet针对aloha和CSMA的仿真报告.docx

完整word版opnet针对aloha和CSMA的仿真报告

OPNET仿真报告

一、实验目的

1.掌握OPNET最基础的入门方法

2.验证不同条件下网络的特性

3.利用OPNET提供的网络设备,信道组件等构造期望的网络拓扑结构,最终达到灵活组合运用OPNET的目的。

二、实验步骤

1>首先,仿真一个星形网络,因为星形网络是最基本的几种网络结构之一,从最基本的入手,由简到难,可以深入了解OPNET。

下面介绍一下我仿真星形网络的步骤。

打开OPNET,新建一个工程,给工程和场景分别命名。

设置向导。

设置一个office的Networkscale,再选择Technologies,使Sm_Int_Model_List后面的include变为yes。

设置拓扑结构。

选择星形网络,确定此拓扑的中心节点,节点数目,位置等参数。

添加服务器。

添加完服务器,用传输线连接。

选择要测量的参数。

例如星形网络是测整体的延迟。

运行,仿真,查看结果。

再利用同样的方法建立一个15个节点的网络,同样测量延迟和负载情况。

下图为最后得出的仿真图形

比较仿真结果,得出结论。

结论为:

当节点数增加时延迟变大,负载量变小。

2>然后再来仿真一个Aloha和CSMA模型。

首先,仿真Aloha模型。

创建Aloha发射机进程模型

创建一个通用发射机节点模型

创建一个通用接收机进程模型

创建一个通用接收机节点模型

构建网络模型

下面分别描述各个模型的仿真步骤。

A创建发射机进程模型:

新建processmodel,在工作区添加三个状态,给每个状态命名,并改变状态。

3个状态之间用传输线连接,从idle到tx_pkt之间的连接可以通过改变condition来实现,如图所示

打开HeaderBlock输入代码并保存。

打开StateVariableBlock改变Type,Name和Comments。

双击init上部打开EnterExecutives输入代码并保存,同样对tx_pkt操作,只是程序段不同。

定义globalattribute。

选择Interfaces >Global Attributes,作如下处理

选择Interfaces >Process Interfaces,把begsimintrpt的初值变为enabled,把所有的状态都改为hidden,也可以添加comment。

7.编译这个进程模型,并以initials_aloha_tx这个名称保存。

B.创建一个通用发射机节点模型:

1.新建节点模型,在工作区创建2个进程模型和1个总线发射机模型,给每个模型重命名,并用传输线连接。

2.确认src stream被设置为src stream [0],dest stream被置为dest stream [0]

3.打开gen,设置相应的参数。

4.新增1个进程模型和节点模型,并用传输线连接,如图:

5.打开statisticwire的对话框,把上升沿河下降沿触发器改为disabled。

6.查看tx_proc的connectivity。

7.选择Interfaces>Node Interfaces,将mobile和satellite的supported值改为no,除了promoted其他的状态都改为hidden,保存此model并命名initials_cct_tx。

C.创建通用接收机节点模型

1.创建节点模型,在工作区添加1个进程模型和1个总线接收模型,重命名,并用传输线连接.

2.选择Interfaces >Node Interfaces,在节点类型中将mobile和satellite的类型改为no,所有状态改为hidden。

3.打开HeaderBlock,输入程序代码,保存。

4.打开状态变量,定义变量

5.打开功能模块,输入程序代码,保存

6.双击init上部,输入程序段,保存

7.选择Interfaces >Process Interface,将begsimintrpt和endsimintrpt

的初值改为enabled,所有状态改为hidden。

8编译此进程模型,保存为initials_cct_rx。

D.创建通用接收机节点模型

1.新建一个进程模型,在工作区添加两个状态,分别命名,改变状态,并用传输线连接,如图所示

2..选择Interfaces>Node Interfaces,将mobile和satellite的supported值改为no,所有状态改为hidden,保存为initials_cct_rx。

E.创建一个新的链路模型

1.创建一个新的链路模型,在Supportedlinktypes中将ptsimp和ptdup的类型修改为no。

如图

2保存为initials_cct_link,并关闭链路模型编辑器。

3.创建网络模型

4新建一个工程,分别用initials_cct_network和aloha为工程和场景命名,然后按下图设置参数

5.弹出对话框,选择

,Configure Palette...,然后Clear

按linkmodels添加initials_cct_link;按nodemodels添加initials_cct_rx和initials_cct_tx。

6.按Save As...键保存文件,命名为initials_cct,按ok关闭ConfigurePalette对话框。

7.选择Topology >Rapid Configuration,选择Bus,并进行配置,如下图所示

8.点击ok,出现network如图所示

9.点击并拖动接收节点initials_cct_rx到工作区左边,点击initials_cct_link,确定使用这个

10.画一个从总线到接收节点的tap,如图

11将此模型保存为initials_cct_network,执行aloha仿真

12.选择Scenarios >Scenario Components >Import...;SimulationSequence然后选择cct_network-CSMA,并确定,保存此工程。

13.选择DES >Configure/Run Discrete EventSimulation (Advanced)有12个序列如图

14.右击scenario中选择Edit Attributes,扩展Executiontreenode,扩展Advancedtreenode,选择Application,点击Application节点。

15.确认网络模型被设置为initials_cct_network-aloha.点击Outputs和StatisticsCollection,设置Probefile为NONE,用op_stat_scalar_write()代替probefile,确认Vectorfile被置为initials_cct_network-aloha.

16.点击Inputs,然后GlobalAttributes,确认最大包得书目为1000,点击ObjectAttributes,点ok保存这些变化,关闭SimulationSequence对话框,选择File >Save.

17.运行,并确认。

结果如图

18仿真完成关闭DESExecutionManager对话框。

19.点击ViewResults,选择DESParametricStudies,扩展ScalarStatistics,右击ChannelThroughputS,选择SetasY-Series,结果如下:

右击ChannelTrafficG,选择SetasX-Series,点击show,如图;

F.AddingDeference

1.选择File >Recent Files >Process Model,选择initials_aloha_tx,选择File >Save As...,把进程模型重命名为initials_csma_tx,然后新建一个状态,命名为wt_free,用传输线将各个状态之间连线,并改变condition,如图所示:

2.在HB中添加程序,并保存,编译其,然后关闭进程编辑器。

3.选择File >Recent Files >Node Model>initials_cct_tx,选择File >Save As...,重命名节点模型为initials_cct_csma_tx,右击statisticwire,选择EditAttributes,将fallingedgetrigger设置为enabled,点ok。

4.打开tx_proc进程模型的Attributes,将processmodel命名为initials_csma_tx,点ok关闭对话框。

5.在工程编辑器中选择Scenarios >Duplicate Scenario...,重命名为CSMA,右击其中一个发射节点选择SelectSimilarNodes。

右击选中的节点,选择Edit Attributes (Advanced),选择Apply,重命名为initials_cct_csma_tx,点Yes,保存此工程。

6.选择DES >Configure/Run Discrete Event Simulation,将Seed变为11,运行此工程。

点击查看结果。

在结果浏览器中选择DESParametricStudies。

扩展ScalarStatistics,右击ChannelThroughputS,选择SetasY-Series;选择ChannelTrafficG,选择SetasX-Series,点show。

在ResultsBrowser中,选择CurrentProject,选择aloha场景,右击Series,选择Add Scenario Name as Parameter。

点击show。

G.增加拥塞检测和补偿

1.选择File >Open,选择project,在install_dir目录下选择release>models>std>tutorial_req>modeler,打开ethcoax_net,选择File >Save As…,保存为initials_ethcoax_net。

选择DES >Run Discrete Event Simulation。

2.在工程编辑器中选择DES >Results >View Results...,

选择Object Statistics >ethcoax_net >bus_0 [0] >utilization,将As Is改为average,点击show,在Results Browser,选择bit_thruput,点击show,现实活动窗口如图所示:

选择Show StatisticData,如图所示:

在utilization中选择average,如图所示;

三、结果分析

理论上,ALOHA系统的信道吞吐量S和信道流量G之间的关系是:

S=Ge-2G,当G=1/2是,S大约是0.18。

低流量时冲突很少发生,高流量时信道发生拥塞,大量冲突使得数据包丢失难以被成功接收。

由仿真图可以看出在G=0.5左右,S=0.18左右,在误差允许的范围内理论结果与实际结果相符合。

由上图红线知道CSMA协议能到达的最大吞吐量大约是S=0.53在G=1左右发生。

四、实验中遇到的问题及解决办法

第一次在编译CSMA的时候通过,但是在run的时候出错,如图所示

查看错误报告,如图:

仔细观察发现Multipledefaulttransitionsfromstate,错误可能是由于进程模型中某状态之间传输线连接错误,认真检查发现

,从idle到tx_pkt的condition为改变,重新改变为

之后,成功仿真。

所以,我们在仿真的时候必须严格按照步骤,仔细读懂每一句话,否则,可能一步错,满盘皆输!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1