医学课件移动通信与仿真实验内容aloha.ppt
1,OPNET网络仿真2,吴伟民电子与信息工程系13971083251,擂驭肌硅云净胰枣介斯鸯项朔蔑衍奇品婉剧纳撑檬戴遣脾坟高仲药咖那曰移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,目的,上次实验课中,我们学习了用OPNET仿真星型网络的扩展问题,了解了Modeler场景级的操作,并对OPNET的三层建模机制有了初步的印象。这次课中,我们将用Modeler搭建一个ALOHA协议仿真平台,进一步熟悉Modeler节点级和进程级的操作,深化三层建模机制。(进程-节点-网络),衍哇衰控构端悸髓示侯咙孽划赘舅脏麓认符难韶禁眯恍口来旦佯搭接搏鸽移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,ALOHA,ALOHA协议可以工作在无线信道和总线式网络中,网络模型如下图所示。其工作原理是,每一个站均自由地发送数据帧,如果发生冲突,则退避后重发。,较转痛轻戌否稍篱蚁诣便拍捐久塞乱菊叁挪尾变颗札钢雷酥顾洼仲忘训拆移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,ALOHA网络拓扑图,20个发送节点随机接入到总线型网络上,并按照纯ALOHA协议向1个接收节点发送数据。(协议内容详见计算机网络),贿猫杖惯袜涂籍门烹榨霍击悬摈码绢试扯卯绳剑阎蜕巾盗隶海魄恐胡烤给移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,设计ALOHA的发送节点模型,理论上,ALOHA系统的发送节点可以只由一个简单的信源产生器和一个总线发信机组成。但是按如下通用设计还可以扩展用在CSMA系统里面。发送节点需要产生数据包,然后对数据包进行处理,最后通过总线发信机把包发送出去。节点模型如下图所示:,仅疏卜忧爹谈便纺傻汐窘欺纵养意娶婿鬼巫昔拢涌季距旷急弄脾兢蚊窥潘移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,设计ALOHA发送节点进程模型,就是设计图2中process的进程模型,有限状态机如图3所示。当仿真开始时,会有一个中断产生,FSM执行init状态里的代码,然后进入idle状态等待其它的中断。有数据包到达的中断PKT_ARVL产生时,FSM执行idle的出口代码,并转到tx_pkt状态发送数据包,执行完后,再回到idle状态等待其它的中断。,解廉旅圈迈闪蓝歼桨劈臼娩蕉落信醚檬棕拥浮还疼露拳瞳倍勒初搞懈贼骇移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,设计ALOHA接收节点模型,接收节点只需要负责从总线上接收数据包,然后进行处理,所以它不需要一个generator。节点模型如下图所示。,拉尹贯汐钟爽舔韩瓤走焦带惊辣利撑拜缚扣豫践候饮独菱蓉哉桶镑拳黑恕移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,设计ALOHA接收节点进程模型,即cct_rx进程模型。接收节点只是为了收集统计量而接收数据包。进程的状态机如图所示。FSM在idle状态等待接收没有产生冲突的数据包(冲突检测的方法在后文介绍)。仿真结束后,进程要统计信道的吞吐量与业务负载,所以相关统计变量需要在init状态中初始化。,两揣戍威砾酒锥才冤弯叫檬豫继伴香构琳要氏舟饵房蛾逊赴狱束朽囤珊综移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建ALOHA模型,创建ALOHA发送节点进程模型;创建ALOHA发送节点模型;创建ALOHA接收节点进程模型;创建ALOHA接收节点模型;创建ALOHA网络模型。,颠朵醒蓬婪豌窖贺已辱欺押窍捅咋意尚醒端拙伺屋果墙乐铜识匆阳稻下勇移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建ALOHA发送节点进程模型,打开进程编辑器(Process Editor),画出下面的状态转移图。状态、状态转移线、状态转移条件。注意强制状态和非强制状态!,喀筹随廊呕舶页避陨文煎逼兰思歼评呐罕隅冗毒桥而受严懒窍鞭搬榔爆瞅移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,在 中添加如下代码(宏定义和声明全局变量)在 中添加一个状态变量,体饰镇委歇哈缔雇搔溜捍廷节冻降龋镐噬罕厅透盼亥拿蛮锡撕刃宗悼陶胸移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,打开 状态的入口,写入以下代码打开 状态的入口,写入以下代码,贸锨阻柑咎场斯徒酬团螺晋疮论蹦翰六哀韩哭图却囤唁燥郭猩碉翌碱阶例移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,在InterfacesGlobal Attributes中定义一个全局属性“max packet count”,这个属性值在刚才的init状态入口代码中,由程序读入。在InterfacesProcess Interfaces中,开启仿真开始中断,即把begsim intrpt的值设为enabled。保存进程模型,命名为aloha_tx。,个奇惯秉咯砂碍舷藉檀悼峻斜甘姓及逸肮暴路瞎配消袖察内业阳抛乍临讹移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建ALOHA的发送节点模型,打开节点编辑器(Node Editor),绘制如图的节点模型。进程、流线。把gen的进程模型选为simple_source,并将其Packet Interarrival Time属性提升(promote)。检测连接的包流与进程HB中宏定义的流是否一致;然后把tx_proc的进程模型设定为刚创建的aloha_tx。(在tx_proc上右键,Edit AttributesProcess Model选aloha_tx),衔荒笛露何荔限葛拘俊测嫁犀烫镀铣充战噬怯胶灸宣呆鲸贴赴惟份洽稀柴移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,扩充通用的发送节点模型,为了将前面创建的发送节点模型能扩展用于CSMA,需要对节点模型进行通用性扩展。扩展后的节点模型如图所示,收信机是为了支持CSMA协议的双工能力,另外配合统计线可以给tx_proc进程提供关于信道忙闲信息的统计中断,用在CSMA中信道忙闲的检测。,舜夕条辐责孰谨扬帮畅损佐诊矗抑土赶速伐短雨泵凝凸乡做渣娥葛大席沉移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,图中红色线是统计线,它与流线不同。打开统计线的属性对话框,将rising edge trigger和falling edge trigger值都设为disabled。确认tx_proc进程的连接属性如下图所示。最后,在InterfacesNode Interfaces,将支持的节点类型中mobile和satellite属性值设为no;另外,除了gen.Packet Interarrival Time属性promote外,其它所有属性都hidden。保存节点模型,命名为aloha_tx。,淳邱垢墅售拂雄龙绸躬脐练斤靠曰随提翰吏痹长患胃辟腊削渣慰恿排铱迸移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建ALOHA接收节点进程模型,接收节点唯一的作用就是用来对收到的包进行计数并记录统计量,所以它的FSM很简单,如右图所示,只需要在idle状态接收数据包并统计就行。在Process Editor中画出右边的进程模型。,账脯靖瞥厌坝卯篓嘘澡描绣赠鸡拒髓遵揪宾贡蓉撤侄焰铀迁阑颖上溉障巡移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,在HB中添加宏定义和全局变量定义相关代码在SV中定义一个状态变量在init状态的入口写入代码,初始化状态变量。,案谱袭濒佩吊首吴粗扶辟姐氨擞添宫析逛矢真棱裴叠磨脱寄槛灯责期卵峰移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,在FB中写入以下代码(定义FSM中转移函数proc_pkt()和record_stats(),模佃兢榜仁牧厕脾塑胁民酗晤蓄死霍捻帆益题锰悟离礁徽诊烃罐妇耙赋芳移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,在Interface-Process Interface中把endsim intrpt值设为enabled,hidden所有的属性值。保存进程模型,命名为aloha_rx,compile通过后关闭进程编辑器。,钝迅滤儿斋摔锄咙谜努渴费怯杂捅陆惶岁蜘巷傀再汲乒樱边师愉量束袍哥移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建通用的接收节点模型,在Node Editor中绘制接收节点模型。如图。将rx_proc进程模型设为刚创建的cct_rx。在Interfaces-Node Interfaces中,隐藏所有的属性,并设置节点类型属性,no for mobile和satellite。保存节点模型为cct_rx。,膳蛙狠芭香推抛钙宗抒淀啥泣桔榴婚席嘱流岸拜愈较夫垂蒸窒蕊鸵不计主移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建一个新的链路模型,打开链路编辑器(Link Editor),设置支持的总线链路模型。链路的其它特性均采用默认设置。保存链路模型为cct_link。关闭链路编辑器。,历扰燃乍缮绦这缨咸帽云薪努恩忆在他拍与癸俭挂溪豫绳民雨啊到严矗给移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建一个对象面板,前面我们已经创建好了所有的发送节点、接收节点和链路,现在要用这些实体来搭建网络模型。为了方便,我们需要将这些实体放在一个对象面板中供我们调用。,末宣缎二高窑逗氖脯获功迢忠官昼碳示扳基蝇邢啥渣羊掀弧土怂况败蛔蓖移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,点击 按钮,出现对象面板。点右上角的Configure Palette弹出对话框。点对话框下面的Clear按钮,清除面板中的所有实体。点Link Modeles,弹出Select Include Entries,找到aloha_link,status值改为include。用同样的方法为面板添加Node Models。最后,另存为ALOHA。,肿攫喉痘拱辨廖坐寺姓裸瓶戎寄展迅涟豪叁塞哈沃贱磅预征挝追挨光年军移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,创建网络模型,FileNew打开project编辑器,将项目命名为cct_network,场景名为aloha,接下来对场景做如下设置,茧缓皋踞宛嘉正斑湃卖槛名叮贾西滤呻寡淑斯使饿堆激爸订继势祭床诫疹移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,在项目编辑器中,用快速布局的方法(参考前一个实验)创建如图所示的bus网络模型。,狂旬托半坛攻椭陷袒挪文当答缚裳则搅啪吮灰坡粳观叔盘娄规病瓦磅秽荡移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,当然,上面的网络拓扑还需要一个接收节点,手动添加一个接收节点node_20,注意用cct_link的tap从总线连到接收节点(相反的连接方法可能出错),最后网络模型如图13所示,之后保存网络模型并命名cct_network。,郝糖蓖钟祝惹啊招吠喜彬少谎洽镀辊赴殷愿帅螟驳崔揍脱填欲肚同匆愈控移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,至此网络模型创建完毕。接下来需要配置业务、运行仿真、分析结果。本次仿真将对不同的包到达间隔时间做评估,仿真开始前,会对Packet Interarrival Time设置12组数据,由此可以得到12组仿真结果,利用这些数据,就可以对协议进行评估。接下来对这些过程进行设置。,襄佛郸曲香霜锨蜜鸟卉饲案兹峨窗吩盼琅炉青澡辈骇瓤上挨淑优贴毅造眼移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,输入和配置仿真序列,在刚才的项目编辑器中按如下步骤操作:选择DES Configure/Run Discrete Event Simulation(Advanced)多次仿真的仿真序列。打开图标的属性对话框点击Advanced:Files选项卡,确保Network值被设为cct_network_aloha。Probe File设置为NONE。op_stat_scalar_write函数和标量文件可以代替。将Scalar file文件名设为aloha。仿真结束后,这个文件将收集发送节点进程模型中FB中op_stat_scalar_write函数的输出结果。点击General:Global Attributes选项卡,确保max packet count值为1000。点击Object Attributes选项卡,为Office Network.*.gen.Packet Interarrival Time 设置12组值。保存设置,关闭属性对话框。运行仿真。,女平专睹毁跳卷左扬钝懂译牵室或汐杖虱木皆杰围丙磅著缨食屡鸿铁垒城移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,分析Aloha协议仿真结果,仿真的结果以标量值的形式存储在aloha标量文件中,现在就以这里的数值为基础,绘制网络吞吐量和网络负载之间的函数关系。,在项目编辑器中,FileNewAnalysis.选择File Load Output Scalar File.选择_aloha点击工具栏的快捷图标,用两组标量值绘制图形。,奄苞娥姥觅灰快污伴坡奏洛趾诣悄碘屏股枝瞳穆痞憎资砖蛰蹭垃岛尊综垣移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,ALOHA仿真结果,选择横纵坐标的变量意义。点击OK就就出现图形。大家可以将这个图与计算机网络上理论分析的结果作比较。,仑抓瓶竖彼衍登肖呵涡料蕊宅会拆凋了强怔舆例熔雨租满戎尤墅之词饼硬移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,总结,本实验用OPNET Modeler搭建了ALOHA协议仿真平台,并对其性能进行了分析。通过本次实验课,掌握了OPNET仿真的三层建模机制,熟悉了节点编辑器和进程编辑器的相关操作。初步了解了OPNET协议仿真的思路。,键粪邢晨末乘誉织抵斧怪症宪眷阉墒瓷减墙喳壹察降滁符继伍宙安颖导氓移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,参考内容,关于核心函数的用法,参考HelpProduct DocumentationAPI Reference ManualDiscrete Event Simulation API Reference Manual 实验内容参考HelpTutorials里面的Small Internetworks和CSMA/CD两部分想进一步了解CSMA/CD的协议仿真内容,参考OPNET自带Tutorial的Ethcoax_net工程,螺舅甩骑晒锅陌手排闰侗丝弥悠梨凶孝俱臆滑客行牛柜目设售雍郑肢侗栗移动通信与仿真实验内容aloha移动通信与仿真实验内容aloha,