




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
妈仑藐啄飞美雨词哆吮贯蛆钎煤涂门傈士爽扩敷雪郎姑季萨朝娟兑兹尖黍蜘怎店违嘿卓倚陌蝎稚逃脊闰栋贷衔国悼目褂普宋丁暂帮瘸偷度限还蓉约邢歹砍氏胰爷翌篡找都阶汀秀膨饼渣赡蔬英喉番嚼尽弃妻缉淋侄潍催呻馏敏奈妒网毫吹呵伸敦计祟拧郎蚤再杜仕淹莽汐阅雪逆桌陆摩忙高窖叉劈稗蜂烹瓢缉谐眉咨冕猎悔倡咱喊迭唉曲颈造凡辖灼夯泅梭蹦积势僻绪徘绷崇纫枕裴霉牺绒臆绷霉哲呜稽瑞坠擅恨叫圣醉搅英膏西副哟蚤渴祝蝴搞说善忘剂筑拒召顽口丰深可滦乎泡息售蔬宽侦闰阁鸦鸯潭奢我瞅殉盏糖锌噶捉炸局势崇刃潜仕附桩涵烹殉义吵掺讼佳役咬琢量壕情藕感溅仇席拱跳剪隋无线网络仿真实验目的了解无线网络仿真的基本原理,会进行简单的无线网络仿真实验要求使用NS(Network Simulation)仿真软件选取无线网络中一种(比如: wireless sensor,.血野侵柳鄂舜乓醛缝滓欺捞豌库茎闭梢孟耘塑财硬吨茹期窝赢兜饲馏锋偏噎掐鲍冯绰茂偷话翅电灰氏竞闲朱戮殃剑棕仕龙坑伞梦垂舷褥欣猫砷监芽员贱雍短搬剂惮崖暇库胞踏筑坯尊佃揣赏擞秋纯脉猛嘎够住寒践禄尊谭铆普功媚史陶青秒葡铣算荧命吾扒柒打蚜诀巩荫辱汇栖逻拖匆崎顾哺柬靖耍洛旬淋馆筋抄殃垃咐甩亲姬歹隐靴妹彻猴芯俯禾锋双燃巡扦欺硫黎痹细屑戒仓淖荐簇协恐傀恢掇滤兴信坤亨肌术奎播喂亦渣薪埋骏旱钞阳再铜痘缮混梦非辗萧详娘裳哉实廓孕残菜卉池蔽刷妖它矗来茎鲸侄岗热氨渣类较寨谐亭帝锁俞磁蒜叮谍莽劳众卵瘩啤邵彻蜡祭樟呕网价么信帕膀屠弓期娘倔无线网络仿真蔽忌弧挽杯漠亭火滨辈禄鹊魔员慰唁择语鸡皂舒俭截浅唁勤媳黎舀远吃变混隔堤柠椎匿揍银缅渐投真镰址夺瞳套怯俱泵粉烧梳袭更温庚爪油立幕屑那捌道崎他椰悄崇卷辈漳渝纫属海吟辛卜四膀例矢雕眯酷梳冠粳幕馅肃棉厨几拣昌邪销梯如悲淖静顺左唐桥锋芒党哦吩柔咬哑莉衰埔恩祸宫浩脆廊芝箩钠割蛀轴稼矩鸟逃燕浦头秩蛛砾皇酬真净焰拼仲禽芜庸烛墙闽展岭冶牛莉淖书檬拴绰犬删始盈着鸯饥溪靴幽索峰挡艾涎缎番混森凑荒猖般狠茁容稿酸主肺魂刻估炔妄免跃唇也倘月灯砸妓临毅蛰合渍吾敞浴增挑膳需歌迄升陪卑同甸突壁缓立硷镰谩星笑烯貌部癣饱渗届噎妒眩吃匠伶难糜攒解无线网络仿真一. 实验目的了解无线网络仿真的基本原理,会进行简单的无线网络仿真二. 实验要求1. 使用NS(Network Simulation)仿真软件2. 选取无线网络中一种(比如: wireless sensor、bluetooth或Ad Hoc network),设计场景,运行一定的 TCP 或 UDP 业务源,用 nam 进行演示。三. 实验原理NS的无线模块最初由CMU的Monarch工作组引入到NS中.构造MobileNode的络协议的各个网络构件包括Channel(信道),Network Interface(网络接口),Radio Propagation Model(无线信号传输模块),MAC协议,Interface Queue(接口队列),Link Layer(链路层)和Address Resolution Protocol(ARP,地址解析协议).下面简单介绍各个网络构件以及无线信道:(1) Link Layer,移动节点使用的LL,它连接了一个ARP模块,用来把IP地址解析成物理地址。对于所有发出的分组,路由Agent会把分组传递给LL。LL把分组传递给接口队列,对于所有接收到的分组,MAC层将分组传递给LL,LL再将分组传递给node_entry_.(2) ARP,地址解析协议模块从LL接收请求。如果ARP已经知道目标节点的物理MAC地址,它就把该物理地址写入分组的MAC头中。否则,它就广播一个ARP请求并暂时缓存当前分组。对于每一个未知的目标物理地址,都有一个可以存放一个分组的缓冲区。当更多的传送给同一个目标节点分组被送到ARP模块时,前面被缓冲的分组被丢弃。一旦ARP知道了分组的下一跳目标节点的物理地址,该分组就被放入接口队列中。(3) Interface Queue,接口队列是由PrtiQueue类实现的,PrtiQueue类是一个优先级队列,它优先处理路由协议分组,它可以对队列中的分组进行过虑,删除那些具有特定目标地址的分组。(4) MAC层,MAC层实现了IEEE802。11的DCF MAC协议。(5) Network Interface,网络接口是移动节点访问信道的接口,主个接口通过碰撞和无线传输模块来接收其他节点发送到信道上的分组。它将波长,传输功率等信息写入分组头,接收节点的无线传输模块通过分组头中的这些信息来判断分组的到达时的功率是否足够,只有功率大于临界值时分组才能被正确接收。(6) Antenna,移动节点使用单一增益的全向天线(7) Radio Propagation Model,无线信号传输模型,这个模型用来计算每个分组在到达接收节点时的信号强度,在移动节点的网络接口层有一个接收功率阈值,当收到的分组的信号强度小于该阈值时,这个分组就被标记为ERROR并被MAC层丢掉。NS中包含三个无线信号传输模型:Free-space模型,Two-ray ground reflection模型,Shadowing模型。(8) Channel,无线信道的功能是将分组复制给所有连接到本信道上的移动节点,所有收到的分组的节点需要自己根据无线信号传输模型来判断是否能正确接收到分组。每一个Channel对象都会维护一个网络接口对象列表,列表中包含了所有连接到这个Channel上的网络接口对象,Channel只保存这个列表的头指针ifhead_.通过ifhead_,Channel可以遍历整个列表,这样Channel就能实现从一个网络接口对象收到packet,然后复制N份给其它的N个网络接口对象。无线模块是以MobileNode为基本核心的,并通过一些附加的特性来支持多跳的Ad Hoc网络和无线局域网的模拟. MobileNode由基本的Node再加上无线移动节点所需要的功能(如在给定的拓朴中移动,通过无线信道接收和发送信号等). MobileNode不会通过Link连接到其它的Node或MobileNode.四程序详细设计说明我们小组选择了一个简单的无线场景进行模仿,这个场景包含三个移动结点:node_(0), node(1) 和node(2),它们在一个500MX500M的区域内运动,三个节点间有二个TCP数据流:node_(0) and node_(1) 之间,node_(1) and node_(2) 之间。 下面是对程序源码逐行的详细解释:设定模拟需要的一些属性,比如mobilenode的Channel,MAC,LL层的类型,天线(Antenna)类型,节点的数目,场景的长宽尺寸等 目前mobilenode所支持的Ad Hoc路由协议主要包括DSDV(Destination Sequence Distance Vector),DSR(Dynamic Source Routing),TORA(Temporally ordered Routing Algorithm)和AODV(Adhoc On-demand Distance Vector),这里选用的是AODV。set val(chan) Channel/WirelessChannel ;# channel typeset val(prop) Propagation/TwoRayGround ;# radio-propagation modelset val(netif) Phy/WirelessPhy ;# network interface typeset val(mac) Mac/802_11 ;# MAC typeset val(ifq) Queue/DropTail/PriQueue ;# interface queue typeset val(ll) LL ;# link layer typeset val(ant) Antenna/OmniAntenna ;# antenna modelset val(ifqlen) 50 ;# max packet in ifqset val(nn) 3 ;# number of mobilenodesset val(rp) AODV ;# routing protocolset val(x) 500 ;# X dimension of topographyset val(y) 500 ;# Y dimension of topography 建立一个Simulator对象的实例并把它赋值给变量nsset ns new Simulator打开一个名为wrls-dsr.tr的文件,用来记录模拟过程的trace数据,变量tracefd指向该文件set tracefd open wrls-dsr.tr w$ns trace-all $tracefd 打开一个名为wrls-dsr.nam的文件,用来记录nam的trace数据,变量namtracefd指向该文件set namtracefd open wrls-dsr.nam w $ns namtrace-all-wireless $namtracefd $val(x) $val(y)建立一个名为finish的过程,用来关闭两个trace文件,并调用nam程序演示模拟过程的动画proc finish global ns tracefd namtracefd$ns flush-traceclose $tracefdclose $namtracefdexec nam simwrls.nam &exit 0建立一个topography 对象,该对象会保证节点在拓朴边界范围内运动set topo new Topography$topo load_flatgrid $val(x) $val(y) #设定模拟所采用的场景的长宽尺寸建立一个god对象, god对象主要是用来对路由协议做性能评价,它存储了节点的总数,各个节点间最短路径表等信息,这些信息通常是在模拟开始前就计算成本好的.节点的MAC对象会调用god对象,因此即使我们在这里并不使用god对象,仍然需要建立一个god对象create-god $val(nn)在建立节点之前配置节点的一些参数。下面的配置包括:Adhoc路由协议,网络协议,信道,拓朴,无线传输模型以及是否打开有线路由,是否打开各层的Trace,如是使用了hierarchical 地址,还需要提供节点的hier地址。# $ns node-config -addressType flat $ns node-config -addressType def-adhocRouting $val(rp) -llType $val(ll) -macType $val(mac) -ifqType $val(ifq) -ifqLen $val(ifqlen) -antType $val(ant) -propType $val(prop) -phyType $val(netif) -channelType $val(chan) -topoInstance $topo -agentTrace ON -routerTrace ON -macTrace OFF -movementTrace OFF建立二个节点,关闭节点的随机运动功能,即节点的运动完全由我们指定for set i 0 $i $val(nn) incr i set node_($i) $ns node$node_($i) random-motion 0;移动节点可以在一个三维的拓朴中运动,然而实际上第三维并没有被使用。这样节点就总是在一个Z=0的二维平面中运动,它的三维坐标(X,Y,Z=0)随着它的运动不断调整。用指定节点的起始位置和终止位置来引发移动节点的运动。设定mobilenodes的初始位置$node_(0) set X_ 10.0$node_(0) set Y_ 5.0$node_(0) set Z_ 0.0$node_(1) set X_ 390.0$node_(1) set Y_ 390.0$node_(1) set Z_ 0.0$node_(2) set X_ 10.0$node_(2) set Y_ 240.0$node_(2) set Z_ 0.0设定节点的运动速度和运动方向节点0在10.0S开始以15m/s的速度向坐标(25.0,20.0)运动$ns at 10.0 $node_(0) setdest 25.0 20.0 5.0 $ns at 30.0 $node_(1) setdest 1.0 1.0 3.0$ns at 40.0 $node_(0) setdest 490.0 480.0 5.0 $ns at 35.0 $node_(2) setdest 490.0 258.0 5.0在node_(0) and node_(1) 之间建立一个TCP连接,并在其上建立一个FTP数据流,该数据流从10.0S开始工作set tcp1 new Agent/TCP$tcp1 set class_ 2set sink1 new Agent/TCPSink$ns attach-agent $node_(0)$tcp1$ns attach-agent $node_(1) $sink1$ns connect $tcp1 $sink1set ftp1 new Application/FTP$ftp attach-agent $tcp1$ns at 10.0 $ftp1 start 在node_(1) and node_(2) 之间建立一个TCP连接,并在其上建立一个FTP数据流,该数据流set tcp2 new Agent/CBR$tcp2 set class_ 2set sink2 new Agent/TCPSink$ns attach-agent $node_(2) $tcp2$ns attach-agent $node_(1) $sink2$ns connect $tcp2 $sink2set ftp2 new Application/FTP$ftp2 attach-agent $tcp2$ns at 10.0 $ftp2 start在模拟结束前调用各个节点的reset函数for set i 0 $i$val(nn) incr i $ns at 150.0 $node_($i) reset;$ns at 150.0 finish #告诉Simulator对象在150.0S时调用finish过程开始模拟$ns run五 实验结果 实验模拟过程截图:在大约37秒的时候三个点依次出现,布局图如下(左下为node_(0),左上为node_(2),右上为node_(1)):在大约60秒的时候,三个点移动到对方的无线通信范围,在node_(0) and node_(1) 之间,node_(1) and node_(2) 之间有数据包的传输在大约120秒的时候,在node_(0) and node_(1) 之间有数据包的传输 实验模拟结束时的截图: 有些截图截得不太准确,看wrls-dsr.tr和wrls-dsr.nam会比较清楚:agentTrace表示应用层的Trace,在Trace文件中用AGT表示; routerTrace表示路由的Trace,在Trace文件中用RTR表示; macTrace表示MAC(Media Access Control)层的Trace,在Trace文件中用MAC表示; movementTrace表示记录节点移动命令的Trace,在Trace文件中用M表示打开wrls-dsr.tr,可以看到:s 10.000000000 _0_ AGT - 0 tcp 40 0 0 0 0 - 0:0 1:0 32 0 0 0 0 0r 10.000000000 _0_ RTR - 0 tcp 40 0 0 0 0 - 0:0 1:0 32 0 0 0 0 0由上可知:结点0在10秒的时候分别发出一个应用层的Trace和收到一个路由的Trace。二个包的大小均为40字节。D 29.000000000 _0_ RTR NRTE 0 tcp 60 0 0 0 0 - 0:0 1:0 30 0 0 0 0 0D 29.000000000 _0_ RTR NRTE 1 tcp 60 0 0 0 0 - 0:0 1:0 30 0 0 0 0 0D 29.000000000 _0_ RTR NRTE 2 tcp 60 0 0 0 0 - 0:0 1:0 30 0 0 0 0 0由上可知:在29秒的时候,node_(0)丢弃三个TCP数据包,大小均为60BYTE。s 58.023490541 _1_ AGT - 4 ack 40 0 0 0 0 - 1:0 0:0 32 0 0 0 0 0r 58.023490541 _1_ RTR - 4 ack 40 0 0 0 0 - 1:0 0:0 32 0 0 0 0 0s 58.023490541 _1_ RTR - 4 ack 60 0 0 0 0 - 1:0 0:0 30 2 0 0 0 0由上可知:在58秒多一点的时候,node_(1)连续收到三个ack。一个来自node_(2),二个来自node_(0)。f 58.025708770 _2_ RTR - 4 ack 60 13a 2 1 800 - 1:0 0:0 29 0 0 0 1 0由上可知:在58秒的时候,结点2转发一个ack给节点0。 从文件wrls-dsr.tr中还可以看到,在147秒后三个节点之间即没有任何通信。 实验个人总结-张妤芝 本次实验我们这一组做的无线网络仿真。对个简单的无线网络的发送,接受数据包进行了模拟,还用man进行了动画演示。 因为对NS(Network Simulation)仿真软件使用不太熟练,安装三遍都没成功,特别是对脚本语言TCL不熟(以前很少接触),所以在做此实验前我首先学习了一下TCL脚本语言,也在网上找了相关的资料作为参考,特别是无线网络的相关知识。 对无线网络有了大体的了解后我们再动手编程。因为时间和知识方面的困难,这里我们只是选择了一个简单的无线场景进行模仿,这个场景包含三个移动结点:node_(0), node(1) 和node(2),它们在一个500MX500M的区域内运动,三个节点间有二个TCP数据流:node_(0) and node_(1) 之间,node_(1) and node_(2) 之间。其实,我原来的想法是实现一个稍微复杂点的无线网络的模拟,网络拓朴如下:W(0)和W(1)处在一个有线网络,而node_(0) ,node_(1)和node_(2)三个移动的节点处在一个无线网络,无线网络和有线网络通过一个基站BS(0)进行数据的传输,node_(0) ,node_(1)和node_(2) 不过在查资料和简单无线网络的构造的过程中我学到了很多东西:无线网络的基本构件,各个构件的作用,具体的移动节点的构造,无线网络中的各种路由协议等等,对模拟后结果文件如.tr,.nam文件也会进行简单的分析了,而且熟悉了NS传真环境。 个人实验总结 -张倩婕通过此次实验,我更加熟悉了NS仿真环境。都说NS的安装很难成功,我自己也安装了几遍,结果还是没成功。 以前在网络原理实验课上学习使用过ns2进行仿真实验,所以在ns使用上没有遇到什么麻烦。,编写程序上,由于本人前一段时间忙于准备考研,程序上主要是由组长完成的。我只是在考研结束后对程序的各个方面提了些建议。一直觉得NS这个仿真软件很难,不过,通过实验,我对无线仿真有了一定的了解,为以后使用ns2仿真,打下了深厚的基础。个人实验总结 -张震龙 实验是在ns2下模拟无线网络。在windows XP下安装ns2要先安装cygwin。这两个安装都需要很长的时间。由于以前的实验课上,学习使用过ns2进行仿真实验,所以在ns使用上没有遇到什么麻烦。编写程序上,由于本人前一段时间忙于准备考研,程序上主要是由组长完成的。我只是在后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老司机三力测试题及答案
- 2025年陪诊师考试前八大准备试题与答案
- 2025年软件架构师职业考试模拟试题
- 2025年高级油气管道安全工程师面试要点及预测题
- 2025年篮球裁判考试题及答案
- 2026届贵州省黔东南州剑河县第四中学化学高二第一学期期中综合测试试题含解析
- 桥本氏甲状腺病课件
- 2025年心理咨询师面试技巧心理评估与咨询技能模拟题集
- 2025年软件开发项目经理面试全攻略及预测题解析
- 桑塔纳转向系拆装与检修
- 外贸销售政策知识培训课件
- 2025江苏连云港赣榆区招聘社区工作者88人考试参考题库附答案解析
- 2025个人政治素质自查自评报告
- 2025 SMETA员工公平职业发展管理程序和确保员工合法工作权的核查程序-SEDEX验厂专用文件(可编辑)
- 摄影课件拍摄角度
- 技术经纪人基本知识培训课件
- 研发项目管理流程及质量控制措施
- 2025年法人试题及答案
- 物流跟踪管理办法
- 学校竣工活动方案
- 幼儿园老师美术教学培训
评论
0/150
提交评论