




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计课程名称: 无线传感器网络原理及方法 设计题目: 基于NS2无线传感网“Ad Hoc网络仿真”设计 学 院: 信息工程与自动化学院 专业年级: 2010级计算机系 104班 学 号: 201010405424 学生姓名: 李本双 指导教师: 江虹 日 期: 2013-7月 课 程 设 计 任 务 书信息工程与自动化 学院 计算机科学与技术 专业 2010 年级 学生姓名: 李本双 课程设计题目: 基于NS2无线传感网“Ad Hoc网络仿真”设计 课程设计主要内容:本课程设计的任务是在原有书本知识和实验基础上学习嵌入式系统中基本的程序设计方法和技术。本课程设计的目的是通过设计使学生加深对理论课的理解,提高学生运用理论知识解决实际问题的能力。基本理论1、 无线传感网技术原理2、 操作系统3、 嵌入式软件开发技术实验方法与基本要求嵌入式开发采用宿主机加目标机的模式,宿主机是执行编译、链接、定址过程的计算机;目标机是远行嵌入式软件的硬件平台。要求学生掌握嵌入式系统开发的一般方法,整个设计过程必须由学生自己独立完成,课程设计按二人一组,分组进行全过程的设计。设计内容1、建立传感网汇聚节点2、设计传感节点的网络结构(星形、树形)3、设计上位机监控程序(图形方式显示节点拓扑结构、采集数据)设 计 指 导 教 师 (签字): 教学基层组织负责人(签字): 2013年 7 月 13 日目 录1、课程设计的目的及要求41. 1、设计目的 41. 2、所需仿真平台及网络仿真软件 41.3、ns-allinone-2.35的安装 42、WSN开发背景 7 2.1、WSN简介 7 2.2、应用领域 8 2.3、主要特点 82.4、硬件平台 82.5、软件平台 82.6、仿真系统 102.7、数据可视化 103、 NS2开发理论及方法104、Ad Hoc网络仿真通信场景的设计与实现144.1 设计要求 14 4.2 详细设计 14 随机建立通信场景文件 144.3 源代码(dd.tcl文件) 144.4 仿真截图 215、Ad Hoc网络仿真有关数据跟踪的设计与实现23 5.1 设计要求23 5.2 详细设计23 1)定义节点的配置参数 23 2)初始化跟踪档案 24 5.3 源代码(aa.tcl文件) 24 5.4 仿真截图 306总结和体会337、参考文献 33- 4 -基于NS2无线传感网“Ad Hoc网络仿真”设计1、课程设计的目的及要求1. 1、设计目的1).学习Ad Hoc网络AODV路由协议与其在NS2中的仿真;2).掌握NS2中的随机数据流与随机场景的生成;3).初步学习使用trace文件的处理方法,进行。4 ).建立个网络,再进行测试网络全程跟踪(对于吞吐量、数据包丢失、分组延迟)5 ).评价指标为数据包成功递交率、平均延迟等1. 2、所需仿真平台及网络仿真软件Ubuntu系统13.04.1 ns-allinone-2.351.3、ns-allinone-2.35的安装1).下载软件ns-allinone-2.35.tar.gz (/projects/nsnam/files/),将其放到你/home/administrator/桌面/ns2.35下(ns2.35是我的文件名,administrator是PC机我建立的用户名)通过ctrl+alt+T打开终端,在其中输入cd ns2.35 tar zxvf ns-allinone-2.35.tar.gz 将ns2.35解压到当前目录下2).安装前的准备工作为了更好的安装ns2,需要更新ubuntu系统文件,在终端中输入命令sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgrade首次采用sudo时,需要用户密码,也就是安装ubuntu时设置的。还需要进行一些package的安装,输入命令sudo apt-get install build-essentialsudo apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-devsudo apt-get install libxmu-dev libxmu-headers3).准备工作做好后,开始安装软件$cd ns-allinone-2.35$./install (别忘了前面的那个点)安装过程需要一会。安装正确的话应该可以看到如下提示:IMPORTANT NOTICES:4).配置环境变量$sudo gedit .bashrc(这里一定要看清gedit和.bashrc之间有一个空格)在弹出来的窗口的文件末尾加入:(注意:下列代码中wangtiantian/mysoft/是我的ns-allinone-2.35文件路径,要按照你自己的更改)ExportPATH=$PATH:/home/administrato/桌面/ns2.35/bin:/home/administrator/桌面/ns2.35/tcl8.5.10/unix:/home/administrator/桌面/ns2.35/tk8.5.10/unixexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/administrator/桌面/ns2.35/otcl-1.14:/home/administrator/桌面/ns2.35/libexport TCL_LIBRARY=$TCL_LIBRARY:/home/administrator/桌面/ns2.35/tcl8.5.10/library保存退出。5).验证测试重新打开一个终端,输入ns并回车$ns(如果正常的话,会出现“%”操作提示符)输入一段TCL脚本代码进行测试%puts Hello ns2Hello ns2%说明安装成功。真是不容易呀!6)、安装过程遇到的问题以及解决办法问题1 Error encountered by me:-In file included from linkstate/ls.cc:67:0:linkstate/ls.h: In instantiation of void LsMap:eraseAll() with Key = int; T = LsIdSeq:linkstate/ls.cc:396:28: required from herelinkstate/ls.h:137:20: error: erase was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation -fpermissivelinkstate/ls.h:137:20: note: declarations in dependent base std:map, std:allocator are not found by unqualified lookuplinkstate/ls.h:137:20: note: use this-erase insteadmake: * linkstate/ls.o Error 1 3 Ns make failed!解决办法 Solution:a. Go to ns-allinone-2.35/ns-2.35/linkstate/b. Now edit ls.hIn line number 137, in place of void eraseAll() erase(baseMap:begin(), baseMap:end(); make it void eraseAll() this-erase(baseMap:begin(), baseMap:end(); c. Save the file and again run ./install问题二administratorubuntu:$ ns% namCant find a usable init.tcl in the following directories: :/home/administrator/桌面/ns2.35/tcl8.5.10/library:/home/administrator/桌面/ns2.35/tcl8.5.10/library/init.tcl /home/administrator/桌面/ns2.35/lib/tcl8.5.10/lib/tcl8.5.10/lib/tcl8.5.10/library ./library ./tcl8.5.10/library ./tcl8.5.10/libraryThis probably means that Tcl wasnt installed properly.child killed: SIGABRT% 解决办法:administratorubuntu:$ sudo apt-get install nam2、WSN开发背景2.1、WSN简介无线传感网(wirelesssensornetwork)是由在空间中分布的含有传感器的自主设备所组成的无线网络。这些设备协同监测不同位置上的物理或环境条件,比如温度、声音、振动、压力、运动、污染等。无线传感网的开发最初用于军事用途,比如战场监视。如今无线传感网已被用于很多民事用途,包括生态环境监测、医疗卫生应用、家庭自动化、交通控制等。传感网络中的每一个节点除了装有一个或多个传感器以外,一般还装有一个无线电收发器,一个小型微控制器,和一个能量装备,这通常是一个电池。单一传感节点的大小不一,大如一个鞋盒,小至一粒尘土。同样的,部署这些传感节点的花费也不一,这要取决于传感网络的大小以及单一传感节点的复杂度。在尺寸和费用上对传感节点的制约,导致了对其在能源、存储、计算速度和带宽等资源方面上的相关制约。在计算机科学和电信学领域,无线传感网是一个活跃的研究方向,每年都安排有大量的研究小组和研讨会。2.2、应用领域无线传感网在不同的场合有很多应用。在商业和工业领域,有些数据很难用有线传感器来监视,或者实现起来代价过于昂贵,在这种场合可以用无线传感网来监视。无线传感网可以被部署在野外环境,它们可以被放置多年(用来监视某些环境因素)而不需要重新充电或者更换能量装备。它们能够组成属地的边界,监视入侵者的行进过程(将信息在节点之间传递)。无线传感网的用途很多,典型的应用包括监视、跟踪和控制。它一般被用于自然环境监视、目标跟踪、核反应堆控制、火警监测、交通监视等用途。在一个典型的工作环境中,无线传感网被分散布置到区域中的各处,通过它的传感节点来采集数据。地区监视是无线传感网的一种典型应用。在此应用中,无线传感网被布置在需要监视某种现象的区域中。举例来讲,可将大量的传感节点布置在战场上,取代地雷来监视敌人的入侵。一旦传感器检测到被监视事件(热、压力、声音、光、电磁场、振动等)的发生,就需要将该事件报告给基站,基站收到报告后做出相应的动作(比如将消息发至互联网或者卫星)。根据具体应用的场合,不同的性能目标需要不同的数据传播策略,这些目标包括对响应的实时性的要求,对数据冗余的要求,对安全性的要求等。2.3、主要特点无线传感网的特点有: 节点小型化有限的能量供给 苛刻的环境条件节点失效问题 动态的网络拓扑 通讯失败问题 大量部署的节点 无人值守可以将传感节点想像成一台小巧的计算机,特别是在它们的接口和组件方面。传感节点通常由这些部分组成,一个计算能力和存储能力有限的处理单元,一些传感器(有特定的调节电路),一个通讯设备(通常为无线电收发器),和一个通常为电池的能量供给装置。其他一些可选部分有环境能源发电模块,辅助的专用集成电路,以及可能的辅助通讯设备(比如RS232或USB)。基站可以有一个或者多个,它们是无线传感网中的特殊成员,具有相对强大的计算、能量和通讯资源。基站的作用相当于传感节点和最终用户之间的网关。典型的无线传感网架构见图1。2.4、硬件平台硬件方面的主要挑战在于制造低成本和微小的传感节点。考虑这一目标,现在的传感节点主要还处在原型阶段。小型化和低成本的解决要寄希望于最近以及将来在微机电系统(MEMS)和纳机电系统(NEMS)领域的进展。SNM-SensorNetworkMuseumtm.上概括了常见的传感网络平台,组件,技术和相关主题。和主流计算机不同,目前还没有无线传感网的官方标准,所以硬件以及软件的互操作性和可重用性都较低。下面列出一些领域内研究所使用的标准:ZigBeeWibree6lowpan2.5 、软件平台对无线传感网节点而言,能量是最缺乏的资源,它决定了节点们的生命周期。无线传感网节点将被大量放置到各式各样的环境下,包括遥远和敌对的区域,这样自组织通讯将变得重要。由于这些原因,算法和协议必须解决以下问题:生命周期最大化鲁棒性和容错性自配置无线传感网软件研究上的一些热门课题有:安全性 可移动性(移动中的传感节点或者基站)中间件(在软件和硬件之间设计中间层)(1)操作系统一般来说,无线传感网节点上的操作系统比通用操作系统的复杂度低。这有两方面的原因,一方面是由于传感网应用程序的特定需求,另一方面是由于传感网硬件平台的资源限制。举一个例子,传感网应用程序通常不要求像PC机应用程序那样的可交互性,这样操作系统就不需要支持那样的用户接口。更进一步讲,在内存和内存映射硬件支持上的资源限制,使得类似于虚拟内存的机制变得不必要或者不可能实现。无线传感网在硬件上和传统的嵌入式系统没有区别,这就有可能在传感网上使用像eCos或者uC/OS这样的嵌入式操作系统。不过这些操作系统的设计通常具有实时特性,而与传统嵌入式操作系统不同的是,专用于传感网的操作系统一般不支持实时性。TinyOS也许是第一个专门为无线传感网而设计的操作系统。和大多数操作系统不同,TinyOS采用基于事件驱动的编程模型,而不是基于多线程。TinyOS程序由事件处理例程和具备语义运行的任务所组成。当外部事件发生时,比如新到数据包或者读传感器,TinyOS调用相应的事件处理例程来处理该事件。事件处理例程可以发布任务,这些任务将被TinyOS核心所调度。不管是TinyOS系统,还是TinyOS下开发的应用程序,都是用nesC编程语言写成的。nesC是C编程语言的扩展,它被设计成可以发现在任务和事件处理例程之间的竞争条件。存在一些操作系统支持C语言编程,这些操作系统包括Contiki、MANTIS、BTnut、SOS和Nano-RK。Contiki的设计支持从网络加载模块,还支持运行时加载标准ELF文件。和TinyOS一样,Contiki的核心是基于事件驱动的,但是Contiki支持基于每应用程序的多线程。更进一步的,Contiki支持protothreads,它在提供类似于多线程编程抽象的同时,只支付了非常小的内存开销。与事件驱动的Contiki核心不同,MANTIS和Nano-RK的核心基于抢先式多线程。在抢先式多线程方式下,应用程序不需要显式地释放微处理器给其他进程,取而代之的是,核心将时间划片给活动进程,并决定当前可以执行哪一个进程。这使得应用程序的编程更加容易。Nano-RK核心对资源的分配是实时的,能够有很好的粒度来控制任务对CPU时间、网络和传感器的占用。和TinyOS、Contiki一样,SOS是基于事件驱动的操作系统,SOS的主要功能是支持可加载模块,一个完整的系统由一些小模块所构建,这样的构建可能发生在运行时。为了支持模块接口内在的动态性,SOS也致力于支持动态内存管理。BTnut基于协作式多线程和plainC代码,有打包的开发工具和指南。(2)中间件目前有大量的研究投入在无线传感网中间件的设计上。一般来讲研究方向可以分为分布式数据库、移动代理和基于事件的模型。(3)编程语言在传感节点上的编程比在常规的计算机系统困难。这些节点上受限的资源状态,带来了新的编程模型,尽管这些节点大多采用C编程语言。下面是一些编程语言列表:ct(在空间和时间上的某一点上进行计算)DCL(分布式组合语言)galsCnesCPrototheadsSNACKSQTL(4)算法无线传感网包含大量的传感节点,这就隐含地要求为无线传感网所设计的算法是分布式算法。在无线传感网中,最匮乏的资源是能源供给,而最耗费能源的操作之一是数据传输。由于这个原因,无线传感网的算法研究大都集中在能源相关的从传感节点到基站的数据传输算法上。由于无线传输的能源消耗相对于传输距离以多项式增长,数据传输常是多跳的(从节点到节点,往基站方向)。无线传感网的算法研究和协议研究的区别在于,算法研究的数学模型通常更抽象,更具一般性,但是有时候实用性不如协议设计的模型。2.6 、仿真系统存在一些专门的无线传感网仿真平台,比如TOSSIM,它是TinyOS的一部分。ns-2之类的传统的网络仿真器也可用来仿真。一份详尽的无线传感网络仿真工具列表可以在CRUISEWSNSimulationToolKnowledgebase上找到。2.7、数据可视化无线传感网所采集的数据通常以数字数据的形式存放在一个中心基站。有很多程序支持查看其所存放的大量数据,比如TosGUI、MonSense和GSN。另一方面,开放地理空间联盟(OpenGeospatialConsortium)正在制定可互操作接口和元数据编码的标准,这些标准支持将那些异质的传感站点实时地集成到互联网,允许任何一个个体使用Web浏览器监视或控制无线传感网。3、NS2开发理论及方法NS简单工具介绍对于使用网络仿真软件来做网络效能分析的人而言,步骤通常是先设计出符合自己需要的网络仿真环境,设定其不同的参数,执行仿真,收集结果资料,最后把资料使用图片或表格把结果呈现出来以方便分析实验。一般而言,对于ns2的初学者而言,总是会遇到一个问题,就是网络仿真程序跑完后,接下来该如何分析。这是非常重要的一个过程,所以希望ns2的初学者能好好的研究此章节的内容,相信一定会对大家的研究有相当的帮助。 本节打算以一个简单的网络环境为范例,介绍如何使用一些工具来分析和呈现仿真结果,这包含了如何去量测End-to-End Delay、Jitter、Packet Loss、和Throughput。而采用的方法是去分析traffic trace档案的方式,这种方法的优点是简单且不需要去修改到ns2核心的部份,但缺点是若是仿真资料若是太多,traffic trace的档案会太大,这样会增加分析所需要的时间。另外一种方法,是去更改ns2核心,增加或修改一些档案,把所需要量测的参数直接记录下来,这种方法的优点是仿真结束后,所需要量测的数据已经完全记录下来,但缺点是要动到ns2核心的部分,对于初学者而言,这是一个很大的门槛,这个方法笔者留到后面的章节在做介绍。 笔者先对要仿真的环境做一个简单的介绍。这个网络的环境包含了四个网络节点(n0,n1,n2,n3),如下图所示。网络节点n0到节点n2之间,和节点n1到节点n2之间的网络频宽(bandwidth)是2Mbps,延迟时间(propagation delay)是10ms。网络拓朴中的频宽瓶颈是在节点n2到节点n3之间,频宽为1.7Mbps,延迟的时间为20ms。每个网络节都是采用DropTail queue的方式,且在节点n2到节点n3之间的最大队列长度是10个封包的长度。在节点n0到n3之间会有一条FTP的联机,FTP应用程序是架构在TCP之上,所以在写仿真环境的描述语言的时候,必需先建立一条TCP的联机,在来源端n0上使用TCP agent产生”tcp”来发送TCP的封包;在目的地端n3使用TCPsink agent产生”sink”来接受TCP的资料、并产生回复封包(ACK)回传送端、最后把接收的TCP封包释放。最后要把这两个agent连起来(connect),联机才能建立。若是没有额外的参数设定,TCP封包的长度为1Kbytes。在这里顺便补充说明一下,对于ns2仿真参数内定值设定是在ns-allinone-2.27ns-2.27tcllib目录下的ns-default.tcl,有想要进一步了解的人,可以去查看此档。另外,在节点n1到n3之间有一条固定的传输速率的联机(Constant Bit Rate,CBR),CBR应用程序是架构在UDP之上,因此必需在n1使用UDP agent来产生”udp”用来发送UDP封包,在n3上使用Null agent来产生”sink”以接收由n1传送过来的UDP封包,然后把接收的封包释放。CBR的传送速度为1Mbps,每一个封包大小为1Kbytes。CBR是在0.1秒开始传送,在4.5秒结束传输;FTP是在1.0秒开始传送,4.0秒结束传输。Simulation TopologyNs2.35里面的simple.tcl例子仿真结果:如下仿真结束后,会产生两个档案,一个是out.nam,这是给NAM用的,用来把仿真的过程用可视化的方式呈现出来,这可以让使用者用”看”的方式去了解封包传送是如何从来源端送到接收端。另一个档案是out.tr,这个档案记录了仿真过程中封包传送中所有的事件,例如第一笔记录是一个CBR的封包,长度为1000bytes,在时间0.1秒的时候,从n1传送到n2。这个档案对我们做效能分析很重要,所以要先对这个档案的格式做仔细的介绍。 每一笔记录的开始都是封包事件发生的原因,若是r则表示封包被某个节点所接收,若是+则表示进入了队列,若是-则表示离开队列,若是d则表示封包被队列所丢弃。接着的第二个字段表示的是事件发生的时间;字段三和字段四表示事件发生的地点(从from node到to node);字段五表示封包的型态;字段六是封包的大小,字段七是封包的旗标标注;字段八表示封包是属于那一个资料流;字段九和字段十是表示封包的来源端和目的端,这两个字段的格式是a.b,a代表节点编号,b表示埠号(port number);字段十一表示封包的序号;最后字段十二表示封包的id。以前面trace file的第一笔为例,意思就是说有一个封包pakcet id为0,资料流id为2,序号为0,长度为1000 bytes,型态为CBR,它是从来源端1.0要到目的地3.1,在时间0.1秒的时候,从节点1进入了节点2的队列中。接下来,笔者先简单介绍awk,然后如何使用awk去分析trace file,以得到Throughput、Delay、Jitter、和Loss Rate。awk A.简介awk是一种程序语言。它具有一般程序语言常见的功能。因awk语言具有某些特点,如:使用直译器(Interpreter)不需先行编译;变量无型别之分(Typeless),可使用文字当数组的注标(Associative Array)等特色。因此,使用awk撰写程序比起使用其它语言更简洁便利且节省时间。awk还具有一些内建功能,使得awk擅于处理具资料列(Record),字段(Field)型态的资料;此外, awk内建有pipe的功能,可将处理中的资料传送给外部的 Shell命令加以处理, 再将Shell命令处理后的资料传回awk程序,这个特点也使得awk程序很容易使用系统资源。B. awk是如何运作的为便于解释awk程序架构,以及相关的术语,笔者就以上面trace file为例,来加以介绍。A.名词定义:1. 1. 资料列:awk从资料文件上读取的基本单位,以trace file为例,awk读入的第一笔资料列为 ” 0.1 1 2 cbr 1000 - 2 1.0 3.1 0 0”第二笔资料列为 “ 0.1 1 2 cbr 1000 - 2 1.0 3.1 0 0”一般而言,一笔资料列相当于资料文件上的一行资料。2. 2. 字段(Field):为数据列上被分隔开的子字符串。以资料列” 0.1 1 2 cbr 1000 - 2 1.0 3.1 0 0”为例,一二三四五六七八九十十一十二0.112cbr1000-21.03.100一般而言是以空格符来分隔相邻的字段。当awk读入资料列后,会把每个字段的值存入字段变量。字段变量意义$0为一字符串, 其内容为目前awk所读入的资料列.$1代表 $0 上第一个字段的资料.$2代表 $0 上第二栏个位的资料.B.程序主要节构:Pattern1 Actions1 Pattern2 Actions2 Pattern3 Actions3 一般常用”关系判断式”来当成Pattern。例如:x 3 用来判断变量x是否大于3x = 5 用来判断变量x是否等于5awk提供c语言常见的关系操作数,如:、!等等Actions是由许多awk指令所构成,而awk的指令与c语言中的指令非常类似。IO指令:print 、 printf( ) 、getline .流程控制指令: if ( .) . else 、 while() 在awk程序的流程为先判断Pattern的结果,若为真True则执行相对应的Actions,若为假False则不执行相对的Actions。若是处理的过程中没有Pattern,awk会无条件的去执行Actions。C.工作流程: 执行awk时, 它会反复进行下列四步骤。1. 自动从指定的资料文件中读取一笔资料列。2. 自动更新(Update)相关的内建变量之值。3. 逐次执行程序中 所有 的 Pattern Actions 指令。4. 当执行完程序中所有 Pattern Actions 时,若资料文件中还有未读取的料,则反复执行步骤1到步骤4 。awk会自动重复进行上述的四个步骤,所以使用者不须在程序中写这个循环。End-to-End Delay笔者把量测CBR封包端点到端点间延迟时间的awk程序,写在档案measure-delay.awk档案中,读者可以参考此范例,修改成符合读者需求的程序。4、Ad Hoc网络仿真通信场景的设计与实现4.1. 设计要求1) 仿真场景不少于100m X 100m2) 随机定义一个不少于30个节点的网络18对通信连接3) 设置一个Sink节点,用于收集所有其他节点发送的数据4.2. 详细设计随机建立通信场景文件 步骤一:在终端/ns-allinone-2.35/ns-2.35/indep-utils/cmu-scen-gen/路径下输入命令:ns cbrgen.tcl -type cbr -nn 30 -seed 1 -mc 10 -rate 2.0 cbr-30n-18c-2p注:也可以将cbrgen.tcl复制到所需文件夹下直接命令行运行。该命令创建了一个具有30个节点、18对通信连接、每秒钟发送100个分组的以CBR为业务源的通信场景文件cbr-30n-18c-24.3、源代码(dd.tcl文件如下)# 产生一个仿真的对象set ns new Simulator#针对不同的资料流定义不同的颜色,这是要给NAM用的$ns color 0 blue$ns color 1 red$ns color 2 white#开启一个NAM trace file$ns node-config -Routing AODVRR set nf open out.nam w #开启一个trace file,用来记录封包传送的过程 $ns namtrace-all $nf set nd open out.tr w $ns trace-all $nd #定义一个结束的程序 proc finish global ns nf nd $ns flush-trace close $nf close $nd #以背景执行的方式去执行NAM exec nam out.nam & exit 0 # Create and configure topography (used for mobile scenarios)set topo new Topography# 100mx100m 建立100x100$topo load_flatgrid 100 100#产生30个网络节点for set i 0 $i 30 incr i set node_($i) $ns node for set i 0 $i 30 incr i #把节点连接起来,并且随机分布$ns duplex-link $node_($i) $node_(expr ($i+1)%30) 1Mb 10ms DropTail#建立18条UDP的联机# nodes: 30, max conn: 18, send rate: 0.01, seed: 1#该命令随机创建了一个具有30个节点、18对通信连接、#每秒钟发送100个分组的以CBR为业务源的通信场景文件 cbr-30n-18c-100.0p。# 1 connecting to 2 at time 0.5568388786897245set udp_(0) new Agent/UDP $ns attach-agent $node_(0) $udp_(0)#在UDP联机之上建立CBR应用程序(下相同)set cbr_(0) new Application/Traffic/CBR$cbr_(0) set packetSize_ 500 $cbr_(0) set interval_ 0.01 $cbr_(0) attach-agent $udp_(0)set null_(0) new Agent/Null$ns attach-agent $node_(3) $null_(0)$ns connect $udp_(0) $null_(0)#设定cbr开始执行时间(下面相同)$ns at 0.5568388786897245 $cbr_(0) start# 4 connecting to 5 at time 5.333118917575632#set udp_(1) new Agent/UDP$ns attach-agent $node_(4) $udp_(1)set null_(1) new Agent/Null$ns attach-agent $node_(5) $null_(1)set cbr_(1) new Application/Traffic/CBR$cbr_(1) set packetSize_ 512$cbr_(1) set interval_ 0.01$cbr_(1) set random_ 1$cbr_(1) set maxpkts_ 10000$cbr_(1) attach-agent $udp_(1)$ns connect $udp_(1) $null_(1)$ns at 5.333118917575632 $cbr_(1) start# 4 connecting to 6 at time 6.96568928983328#set udp_(2) new Agent/UDP$ns attach-agent $node_(4) $udp_(2)set null_(2) new Agent/Null$ns attach-agent $node_(6) $null_(2)set cbr_(2) new Application/Traffic/CBR$cbr_(2) set packetSize_ 512$cbr_(2) set interval_ 0.01$cbr_(2) set random_ 1$cbr_(2) set maxpkts_ 10000$cbr_(2) attach-agent $udp_(2)$ns connect $udp_(2) $null_(2)$ns at 6.96568928983328 $cbr_(2) start# 6 connecting to 7 at time 14.634230382570173#set udp_(3) new Agent/UDP$ns attach-agent $node_(6) $udp_(3)set null_(3) new Agent/Null$ns attach-agent $node_(7) $null_(3)set cbr_(3) new Application/Traffic/CBR$cbr_(3) set packetSize_ 512$cbr_(3) set interval_ 0.01$cbr_(3) set random_ 1$cbr_(3) set maxpkts_ 10000$cbr_(3) attach-agent $udp_(3)$ns connect $udp_(3) $null_(3)$ns at 2.634230382570173 $cbr_(3) start# 7 connecting to 8 at time 2.546173154165118#set udp_(4) new Agent/UDP$ns attach-agent $node_(7) $udp_(4)set null_(4) new Agent/Null$ns attach-agent $node_(8) $null_(4)set cbr_(4) new Application/Traffic/CBR$cbr_(4) set packetSize_ 512$cbr_(4) set interval_ 0.01$cbr_(4) set random_ 1$cbr_(4) set maxpkts_ 10000$cbr_(4) attach-agent $udp_(4)$ns connect $udp_(4) $null_(4)$ns at 2.546173154165118 $cbr_(4) start# 7 connecting to 9 at time 2.7030203154790309#set udp_(5) new Agent/UDP$ns attach-agent $node_(7) $udp_(5)set null_(5) new Agent/Null$ns attach-agent $node_(9) $null_(5)set cbr_(5) new Application/Traffic/CBR$cbr_(5) set packetSize_ 512$cbr_(5) set interval_ 0.01$cbr_(5) set random_ 1$cbr_(5) set maxpkts_ 10000$cbr_(5) attach-agent $udp_(5)$ns connect $udp_(5) $null_(5)$ns at 2.7030203154790309 $cbr_(5) start# 8 connecting to 9 at time 2.48548468411224#set udp_(6) new Agent/UDP$ns attach-agent $node_(8) $udp_(6)set null_(6) new Agent/Null$ns attach-agent $node_(9) $null_(6)set cbr_(6) new Application/Traffic/CBR$cbr_(6) set packetSize_ 512$cbr_(6) set interval_ 0.01$cbr_(6) set random_ 1$cbr_(6) set maxpkts_ 10000$cbr_(6) attach-agent $udp_(6)$ns connect $udp_(6) $null_(6)$ns at 2.48548468411224 $cbr_(6) start# 9 connecting to 10 at time 2.258212521792487#set udp_(7) new Agent/UDP$ns attach-agent $node_(9) $udp_(7)set null_(7) new Agent/Null$ns attach-agent $node_(10) $null_(7)set cbr_(7) new Application/Traffic/CBR$cbr_(7) set packetSize_ 512$cbr_(7) set interval_ 0.01$cbr_(7) set random_ 1$cbr_(7) set maxpkts_ 10000$cbr_(7) attach-agent $udp_(7)$ns connect $udp_(7) $null_(7)$ns at 2.258212521792487 $cbr_(7) start# 9 connecting to 11 at time 4.464945688594575#set udp_(8) new Agent/UDP$ns attach-agent $node_(9) $udp_(8)set null_(8) new Agent/Null$ns attach-agent $node_(11) $null_(8)set cbr_(8) new Application/Traffic/CBR$cbr_(8) set packetSize_ 512$cbr_(8) set interval_ 0.01$cbr_(8) set random_ 1$cbr_(8) set maxpkts_ 10000$c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医药企业研发外包(CRO)模式下的药物研发合作与协同创新报告
- 工业互联网平台量子密钥分发技术政策法规解读报告001
- 沉浸式戏剧市场推广模式2025年创新策略研究报告001
- 2025年医药流通企业供应链优化与成本控制策略深度解析报告
- 3D打印技术在制造业大规模生产中的应用前景与挑战研究报告
- 快时尚品牌在时尚零售行业模式变革中的产品创新路径报告
- 爆破安全试题及答案
- 2025届浙江省湖州市名校英语七下期末达标检测试题含答案
- 广东省广州黄埔区五校联考2025届八下英语期中综合测试模拟试题含答案
- 安全知识试题六及答案
- 高中英语3500单词(表格)只有中文
- 2023-2024学年河南省永城市小学数学二年级下册期末评估测试题
- 乳腺疾病的超声诊断 (超声科)
- 服务精神:马里奥特之路
- 《建筑施工安全检查标准》JGJ59-2011图解
- 华为大学人才培养与发展实践
- 医疗垃圾废物处理课件
- 公路工程基本建设项目概算、预算编制办法
- 《煤的发热量测定方法》ppt课件
- 护理岗位管理与绩效考核-PPT课件
- 电力变压器损耗水平代号的确定
评论
0/150
提交评论