2022年毕业设计方案9 .pdf
1 / 28 扬州市职业大学毕业设计 论文)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 28 页2 / 28 设计论文) 题目:基于 NS2 的泛洪路由协议的实现与仿真的设计系别:电子工程系专业:通 信 技 术班级: 09 通信3 )班学号: 0906020306姓名: 丁威指导教师:丁晨 阳完成时间: 2018-04-29 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 28 页3 / 28 目录1 绪论5 2NS-2结构与功能7 2.1 NS-2的原理概述7 2.1.1 离散事件模拟器7 2.2.2 丰富的构件库8 2.1.3 分裂对象模型82.1.4 开放的源代码82.2 NS进行网络模拟的方法和一般过程9 2.3 分裂对象模型和 Tc1CL 9 2.4 NS 基础10 2.5 与 NS-2 相关几个常用工具12 2.6 Otcl实现模拟的一般过程14 3Aod Hoc 网络的简单介绍15 3.1Ad Hoc网络的概念153.2 Ad Hoc 网络的主要特点15 3.3 Ad Hoc 网络的结构164 泛洪路由协议的设计实现 17 4.1 泛洪路由协议17 4.2 添加路由协议类17 4.3 定义包头类型18 4.4添加/ 修改源文件 184.5 编译代码19 5 泛洪路由协议的仿真测试19 5.1 初步测试19 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 28 页4 / 28 5.2 场景测试24 6 总结26 致谢 27参考文献28 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 28 页5 / 28 摘要网络模拟是进行网络技术研究的一种基本手段。研究过程中,由于各种原因,实际网络系统的实现往往是现代较高或是不现实的。在这种情况下,模拟就成了最佳可供选择的测试,评估和验证手段之一。网络模拟有着周期小,成本低等特点,而且可以是研究者更容易理应他人的研究成果,可以是研究者更专注于自己所研究的部分而不必为系统的其他部分耗费过多精力。关键词NS ;网络模拟;Ad Hoc;无线自组网;路由协议;仿真;性能分析第一章绪论1.1 背 景网络模拟是进行网络技术研究的一种基本手段。在新技术的研究过程中,由于各种原因,实际网络系统的实现往往是代价较高或是不现实的。在这种情况精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 28 页6 / 28 下,模拟就成了最佳可供选择的测试、评估和验证手段之一。网络模拟有着周期小、成本低等特点,而且可以使研究者更容易利用他人的研究成果。NS2 正是这样一种针对网络技术的源代码公开的、免费的软件模拟平台。它是美国 DARPA 支持的工程VINTVirtual InterNet Testbed)开发的通用的多协议网络模拟软件,其中集成了大量典型的有线、无线甚至卫星网络下各个层的协议,同时NS 广泛的用户又在不断地对这个系统进行完善和修改。正是由于NS2的这种开放性,使研究者更好的进行各种算法的实现和协议的改进。Ad Hoc 网络是一组具有无线收发装置的移动节点组成的一个多跳的临时性的自组织系统,具有以下一些主要特征:动态拓扑,即网络中的节点可以任意移动,因此,网络的拓扑结构也可能会变化;链路带宽受限、容量时变,由于拓扑动态变化导致每个节点转发的非自身作为目的地的业务量随时间而变化,因此与有线网络不同,它的链路容量表现出时变特征;动力受限,能量受限,由于网络节点的移动特征,其中大多数节点以电池作为动力,在进行系统设计时节能就成为一个非常重要的指标;物理上安全有限,移动网络比固定网络开始编写Otc1 脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等(2建立协议代理,包括端设备的协议绑定和通信业务量模型的建盆(3配置业务量模型的参数,从而确定网络上的业务量分布。(4设置 Trace 对象。 Trace 对象能够把模拟过程中发生的特定类型的事件记录在 trace文件中。 NS通过 trace 文件来保存整个模拟过程。仿真完成后,用户可以对 trace 文件进行分析研究。(5编写其他的辅助过程,设定模拟结束时间,至此Owl脚本编写完成。(6用 NS解释执行刚才编写的Ote1 脚本(7对 trace文件进行分析,得出有用的数据。也可以用N-等工具观看网络模拟运行过程(8调整配置拓扑结构和业务量模型,重新进行上述模拟过程。2.3 分裂对象模型和Tc1CL Tc1 和 OIL Ta 是一种解释执行的简单的脚本语言。其解释器是用c+编写的,具有很强的可扩展性。只要用户增加相应的解释执行模块的程序,就可扩展出新的命令。为了进一步增强编程的灵活性,提高程序的效率,我们需要把Owl 和 C+ 结合起来。为了能充分发挥Otc1 和 C+ 这两种面向对象语言的强大能力,我们需要一种机制,使得在C+ 中能直接调用Owl解释器的功能, Owl和C+ 能够互相直接操作对方定义的数据,并且C+ 中的类可以和Owl 中的类对应精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 28 页10 / 28 起来。这种机制就是Tc1CL 。NS正是利用了 TOCL 建立起分裂对象模型,形成了其丰富的构件库。通过这种机制,NS 达到了模拟配置灵活性和运行效率的统一。2.4 NS基础NS 与网络模拟NS是一个事件 (event 驱动的模拟器,日前NS支持 2 种类型的事件调度器 :非实时的(none real-nine和实时的 (real-time.非实时的调度器又分为3 种:linked-list, heap, calendar。NS 只支持单线程,故在某一时刻只能有一个事件在执行,如果有多于一个事件被安排在同一时刻,那么会按照事件代码插入的先后次序执行。list scheduler (Scheduler/List类是川一个简单的链表结构实现的。事件按照时间顺序排列,因此事件的插入和删除都需要搜索整个链表。_heap scheduler (Scheduler/Heap类是用一个堆结构实现的,在事件很多时,这种结构比链表结构有优势。对于n 个事件, heap scheduler插入和删除操作的时间是 O(log n,calendar scheduler (Scheduler/Calendar类是用一种类似于年历的数据结构来实现,年份不同但日月相同的时间可以记录在同一天中: 相对于 heap scheduler来说,它的执行效率更高. 因此是目前 Ns中缺省的非实时事件调度器 . 。节点一个单播节点的基本结构如图所示,它主要包括两个对象: 地址分类器(address classifier和端口分类器 (port classifier,它们分别用来判断分组的目标地址以及分组的目标Agents. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 28 页11 / 28 单播节点的结构配置节点配置节点就是在创建节点之前定义它的各种属性,函数Simulator node-comfit 用来配置节点的属性。节点的属性包括节点的地址类型、移动节点的各个网络构件的类型、 ad-b. 网络中移动节点的路由协议类型、是否打开各层(Agent. Router. MAC的trace 功能等等。分类器 (classifier 收到一个分组后,节点需要检查分组的某些区域( 大多数情况下是检查目的地址,某些时候会检查源地址,然后寻找与这个区域的值相匹配的接收者。在NS中,这个下作由 Classifier 对象完成, NS 中有各种不同的Classifier对象,分别负责检查分组的不同部分,来完成不同的匹配、筛选工作 . 定时器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 28 页12 / 28 定时器 (timer 既可以在 C-中实现也可以在Owl中实现。在 c+中,各种定时器都是基于抽象基类的( 定义于 ns/common/timer-handler,h,它们经常用于 agent 对象中,但也可以被其他对象使用. 分组头管理在 NS的网络模拟中,分组是对象间交互的基本单元。分组由一系列分组头和一个可选的数据空间组成( 如图 5.8 所示。分组头的结构在Simulator对象创建时就被初始化了,同时每个分组头相对于分组的起始地址的偏移量也被记录下来。在缺省情况卜,大多数NS内建的分组头都是始能的( 包括 common 头、IP 头、TCP头、RTP头、trace头等这意味着在缺省情况下无论某个分组头是否会被使用,它都会被初始化。当然用户也可以选择只激活所有分组头中的一部分,以节约模拟过程中的内存开销。在通常情况下,分组只含有系列分组头,而指向数据空间的指针为null 。虽然分组可以通过分配数据空间来携带真实的数据,但很少有上层应用和agent 支持这一特性,因为一般来说在非实时的模拟中携带真实数据是没有意义的. 应用层在 NS 中,应用层程序构建在运输层代理(transport agent之上,它分为两 大 类 : 流 量 发 生 器 (traffic generator和 应 用 模 拟 器 (simulated application图 5.13说 明 了这 两类 应 用 层 程 序与 运输 层代 理 (transport agent之间的关系 : 流量发生器一股用在UDP代理之上,应用模拟器一般用在TCP代理之上 . 应用程序与运输层之间的关系Traffic generator Simulated application ApplicationTraffic ExponentiaApplication/FTP API API Agent/UDP Agent/TCP/pull 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 28 页13 / 28 2.5 与 NS-2相关几个常用工具1)gawk gawk 是一种程序语言,对于资料的处理具有很强的功能,可以使用很短的代码轻易地完成对文本档案做修改、分析、提取和比较等处理。如果使用C 或Pascal 等语言编写程序完成L 述的功能,可能需要花费较多的时间编写很长的代码。2)gnu plot Gnu plot是一个命令驱动的交互式画图软件,gnu plot的功能就是把数据资料和数学函数转换成容易观察的平面或立体的图形,帮助研究者进行数据分析因此 gnu plot并不是一般常见的美工绘图软件,它最适合的是在科学研究的过程中,帮助研究人员完成数据资料绘制与理论模型比较等机械化的工作,来加速研究。,可以产生TCP流或者 CBR流(Constant Bytes Rate Stream 。 它 所 在 目 录 为ns/indep-utils/cmu-scen-gen, 只 有cbrgen.tcl一个文件口 cbrgen. 后选择另一个目的地随机选择一个速度继续运动. .Threshold工具就是用来计算在某种传播模型下,如何设定接收功率阈值来控制无线传输的范围。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 28 页14 / 28 调试技术写程序的人都知道, bug 是在所难免的,通过调试程序排除程序中的bug 是编程序的一个非常重要的步骤。在整个程序开发周期中,调试所花的时间往往.断据了极大的比例采用什么样的调试技术、工具和手段往往决定了整个程序开发周期的长短以及最终程序的质量。所以调试技术是非常位得重视的一个环节. 2.6 Otcl实现模拟的一般过程 1 )建立 network model: 描述模拟网络拓扑结构,确定链路的基本特性,如延迟、带宽和丢失策略等。2)建立traffic model: 包括端设备的协议绑定和通信业务量模型的建立, 配置业务量模型的参数,从而确定网络上的业务量分布。3)设置Trace 对象。 Trace 对象能够把模拟过程中发生的特定类型的事件记录在Trace 文件中。 NS 通过 Trace 文件来保存整个模拟过程。模拟完成后,用户可以对Trace 文件进行分析研究。4)编写其他的辅助过程,设定模拟开始/ 结束时间,运行Otcl脚本仿真。Ad Hoc 网络是一种分布式网络。Ad Hoc 网络又称为多跳网络(multi-hop network、无固定网络设施的网络(infrastructure less network、自组 Ad Hoc 网络是移动通信和计算机网络的交叉。在 Ad Hoc 网络中,使用计算机网络的分组交换机制,而不是电路交换机制。通信的主机一般是便携式计算机、个人数字助理PDA)等移动终端设备。Ad Hoc 网络不同于目前因特网环境中的移动IP 网络。在移动IP 网络中,移动主机可以通过固定有线网络、无线链路和拨号线路等方式接入网络,而在Ad Hoc 网络中只存在无线链路一种连接方式。在移动IP 网络中,移动主机通过相邻的基站等有线设施的支持才能通信,在基站和基站无中心: Ad Hoc 网络没有严格的控制中心。所有结点的地位平等,即是一个对等式网络。结点可以随时加入和离开网络。任何结点的故障不会影响整个网络的运行,具有很强的抗毁性。(2自组织:网络的布设或展开无需依赖于任何预设的网络设施。结点通过分层协议和分布式算法协调各自的行为,结点开机后就可以快速、自动地组成一个独立的网络。(3多跳路由:当结点要与其覆盖范围之外的结点进行通信时,需要中间结点的多跳转发。与固定网络的多跳不同,Ad Hoc 网络中的多跳路由是由普通的网络结点完成的,而不是由专用的路由设备动态拓扑: Ad Hoc 网络是一个动态的网络。网络结点可以随处移动,也可以随时开机和关机,这些都会使网络的拓扑结构随时发生变化。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 28 页16 / 28 (5独立性: Ad Hoc 网络相对常规通信网络而言,最大的区别就是可以在任何时刻、任何地点不需要硬件基础网络设施的支持,快速构建起一个移动通信网络。它的建立不依赖于现有的网络通信设施,具有一定的独立性。(6有限的无线通信带宽:在Ad Hoc 网络中没有有线基础设施的支持,因此,主机之间的通信均通过无线传输来完成。由于无线信道本身的物理特性,它提供的网络带宽相对有线信道要低得多。除此以外,考虑到竞争共享无线信道产生的碰撞、信号衰减、噪音干扰等多种因素,移动终端可得到的实际带宽远远小于理论中的最大带宽值。(7有限的主机能源:在Ad Hoc 网络中,主机均是一些移动设备,如PDA、便携计算机或掌上电脑。由于主机可能处在不停的移动状态下,主机的能源主要由电池提供,因此Ad Hoc 网络有能源有限的特点。(8有限的物理安全:移动网络通常比固定网络更容易受到物理安全攻击,易于遭受窃听、欺骗和拒绝服务等攻击。现有的链路安全技术有些已应用于无线网络中来减小安全攻击。不过Ad Hoc 网络的分布式特性相对于集中式的网络具有一定的抗毁性。3.3 Ad Hoc 网络的结构(1结点结构: Ad Hoc 网络中的结点不仅具备普通移动终端的功能,而且具有报文转发能力,即具备路由器的功能。因此,就功能而言可以将结点分为主机、路由器和电台三部分。其中主机部分完成普通移动终端的功能,包括人机接口、数据处理等应用软件。而路由器部分主要负责维护网络的拓扑结构和路由信息,完成报文的转发功能。电台部分为信息传输提供无线信道支持。从物理结构上分,结构可以被分为以下几类:单主机单电台、单主机多电台、多主机单电台和多主机多电台。手持机一般采用的单主机单电台的简单结构。作为复杂的车载台,一个结点可能包括通信车内的多个主机。多电台不仅可以用来构建叠加的网络,还可用作网关结点来互联多个Ad Hoc 网络。(2 网络结构: Ad Hoc 网络的网络结构有平面结构和分级结构两种。当网络的规模较小时,可以采用简单的平面式结构;而当网络的规模增大时,应用分级结构。.平面结构:在平面结构中,所有结点的地位平等,所以又可以称为对等式结构。平面结构的网络比较简单,网络中所有结点是完全对等的,原则上不存在瓶颈,所以比较健壮。它的缺点是可扩充性差:每一个结点都需要知道到达其他所有结点的路由。维护这些动态变化的路由信息需要大量的控制消息。.分级结构:分级结构中,网络被划分为簇。每个簇由一个簇头和多个簇成员组成。这些簇头形成了高一级的网络。在高一级网络中,又可以分簇,再次形成更高一级的网络,直至最高级。在分级结构中,簇头结点负责簇间数据的转发。簇头可以预先指定,也可以由结点使用算法自动选举产生。分级结构的网络又可以被分为单频分级和多频分级两种。单频率分级网络中,所有结点使用同一个频率通信。为了实现簇头之间的通信,要有网关结点同时属于两个簇的结点)的支持。而在多频率分组网络中,不同级采用不同的通信频率。低级结点的通信范围较小,而高级结点要覆盖较大的范围。高级的结点同时处于多个级中,有多个频率,用不同的频率实现不同级的通信。在两级网络中,簇头结点有两个频率。频率1 用于簇头与簇成员的通信。而频率2 用于簇头之间精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 28 页17 / 28 的通信。分级网络的每个结点都可以成为簇头,所以需要适当的簇头选举算法,算法要能根据网络拓扑的变化重新分簇。在分级结构的网络中,簇成员的功能比较简单,不需要维护复杂的路由信息。这大大减少了网络中路由控制信息的数量,因此具有很好的可扩充性。由于簇头结点可以随时选举产生,分级结构也具有很强的抗毁性。分级结构的缺点是,维护分级结构需要结点执行簇头选举算法,簇头结点可能会成为网络的瓶颈。第四章泛洪路由协议的设计实现当用户需要一个全新的算法或协议时,就需要对NS2 进行类型的扩展这种扩展的典型特征就是需要一个分组头来实现算法或协议,本章的重点是算法或协议的添加,并不是算法或协议的本身的研究。4.1 泛洪路由协议泛洪法是一种简单的路由选择技术。这种技术不需要任何网络信息, 一个分组由源结点发送到与其相邻的每一个结点,在各个结点上,收到的分组再次被传输到与其相邻的各个结点。泛洪法具有三个属性:A:在源结点与信宿结点之间所有可能的路由都被尝试过;B:分组中至少有一个副本使用的是最小跳数路由到达信宿;C:所有直接或间接与源结点相连的结点全部被访问到. 4.2 添加路由协议类路由协议类为MFlood,路由表类为MFlood_Rtalbe, 由一条条路由表项MFlood_RTEntry 类)组成,其中每一条路由表项针对每个数据源记录了为它转发过的数据包情况。 MFlood 协议为每个节点维护一个序列号SEQ ,数据源每发送一个数据包将SEQ增加,并把该序列号添加到数据包的包头信息中,其他节点收到一个数据包后依靠序列号来判断自己是否转发过该包。在 NS2中, 所有路由协议都是从Agent 类继承而来的 , 和 UPD及 TCP等传输层协议以及 CBR等应用层协议一样 . 虽然如此 ,NS2 很好地实现了层的概念 , 应用层和传输层的数据回交到路由协议进行处理, 接收也是先由路由协议处理后, 再精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 28 页18 / 28 由一层层送交各上层协议. MFlood 路由协议需要被NS2接纳并可以在tcl代码中使用,还需要其它定义。其中 AGENT/Mflood指定了 C+ 中的 Mflood 类和 TcL 部分的 AGENT/Mflood绑 定 在 一 起 , 在 编 写TcL 测 试 代 码 时 指 定 路 由 协 议 时 就 应 该 使 用AGENT/Mflood 。AGENT/Mflood表示了一个继承关系,即Mflood 继承于 AGENT 。4.3 定义包头类型泛洪协议中并没有定义自己的控制包,但是为了进行重复包检测,同样需要定义自己的包头,将序列号存在这个包头中。虽然Mflood 的包头非常简单,仅仅需要保存一个序列号,可以同样需要实现NS2规定的功能。在hdr-mflood结构的定义中, offset和 access 都是系统所要求的,只需要作相应的修改。HDR-MFLOOD宏的定义是为了方便以后的使用,只需要使用这个宏就可以读取到hdr-mflood结构的包头。44 添加/ 修改源文件将 mflood 文件夹拷到 ns-2.33 目录下, aodv 也在这个目录下 。mflood 文件夹包含以下 5 个文件: mflood.h, mflood.cc, mflood_packet.h, mflood-seqtable.h, mflood-seqtable.cc 1. 修改ns/common/packet.h 这个文件2. 修改ns/tcl/lib/ns-packet.tcl中,在要激活的分组头的名字中加入MFLood 3. 修改文件 ns/tcl/lib/ns-lib.tcl,在 Simulator类的 create-wireless-node成员函数中加入代码4. 在 makefile文件中 。无线节点的配置较有线网络中的节点配置复杂的多, 测试的Tcl代码如精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 28 页20 / 28 下:= # Define options = set val(ifqlen 50 。# max packet in ifq set val(nn 3 。# 移动节点的数目set val(rp MFlood 。# routing protocol set val(chan Channel/WirelessChannel set val(prop Propagation/TwoRayGround set val(netif Phy/WirelessPhy set val(mac Mac/802_11 set val(ifq Queue/DropTail/PriQueue set val(ll LL set val(ant Antenna/OmniAntenna set val(stop 200 = # Main Program = #ns-random 0 # Initialize Global Variables set ns_ new Simulator set tracefd open mflood.tr w $ns_ trace-all $tracefd set namtrace open mflood.nam w $ns_ namtrace-all-wireless $namtrace 1000 500 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 28 页21 / 28 # set up topography set topo new Topography $topo load_flatgrid 1000 500 # Create God create-god $val(nn # Create the specified number of mobilenodes $val(nn and attach them # to the channel. # configure node set channel new Channel/WirelessChannel $channel set errorProbability_ 0.0 $ns_ node-config -adhocRouting $val(rp -llType $val(ll -macType $val(mac -ifqType $val(ifq -ifqLen $val(ifqlen -antType $val(ant -propType $val(prop -phyType $val(netif -channel $channel -topoInstance $topo -agentTrace ON -routerTrace ON -macTrace OFF -movementTrace OFF for set i 0 $i incr i set node_($i $ns_ node $node_($i random-motion 0。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 28 页22 / 28 # Provide initial (X,Y , for now Z=0 co-ordinates for mobilenodes $node_(0 set X_ 100.0 $node_(0 set Y_ 200.0 $node_(0 set Z_ 0.0 $node_(1 set X_ 250.0 $node_(1 set Y_ 200.0 $node_(1 set Z_ 0.0 $node_(2 set X_ 400.0 $node_(2 set Y_ 200.0 $node_(2 set Z_ 0.0 # Define node initial position in nam for set i 0 $i incr i # 20 defines the node size in nam, must adjust it according to your scenario # The function must be called after mobility model is defined $ns_ initial_node_pos $node_($i 20 set dups._(0 new Agent/UDP $ns_ attach-agent $node_(0 $udp_(0 set null_(0 new Agent/Null $ns_ attach-agent $node_(2 $null_(0 $ns_ connect $udp_(0 $null_(0 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 28 页23 / 28 set cbr_(0 new Application/Traffic/CBR $cbr_(0 set packetSize_ 512 $cbr_(0 set interval_ 4.0 $cbr_(0 set random_ 1 $cbr_(0 set maxpkts_ 10000 $cbr_(0 attach-agent $udp_(0 $ns_ at 10.0 $cbr_(0 start # Tell nodes when the simulation ends for set i 0 $i incr i $ns_ at $val(stop.0 $node_($i reset 。 $ns_ at $val(stop.0 stop $ns_ at $val(stop.01 puts NS EXITING. 。 $ns_ halt proc stop global ns_ tracefd $ns_ flush-trace close $tracefd puts Starting Simulation. $ns_ run 设上述代码存在mflood.tcl 文件中,那么要测试本文设计的mflood 路由协议只需要使用下面的命令:ns mflood.tcl 运行完毕后,可查看TRACE 结果输出文件 mflood.tr。结果示例如下:s 10.000000000-0-AGT 0cbr5120 0 0 0-0:0 2:0 32 0000 r 10.000000000-0-RTR 0cbr5120 0 0 0-0:0 2:0 32 0000 s 10.000000000-0-RTR 0cbr5120 0 0 0-0:0 2:0 30 0000 r 10.004772500-1-RTR 0cbr5320 ffffffff 0 800 -0:0 2:0 30 000 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 28 页24 / 28 r 10.005056593-1-RTR 0cbr5320 ffffffff 0 800 -0:0 2:0 29 000 r 10.009829093-1-AGT 0cbr5320 ffffffff 0 800 -0:0 2:0 29 000 r 10.009829093-0-RTR 0cbr5320 ffffffff 0 800 -0:0 2:0 29 000 d 10.009829093-0-RTR loop 0cbr5320 ffffffff 0 800 -0:0 2:0 29 0020 上面这几行输出结果 , 反映了一个数据包从0 节点出发 , 经过 1 节点转发而被 2 节点接收的过程。有关trace 输出的格式在第5 章中有详细描述 , 这里就不再重复了 , 只是提一下对后面Trace 结果分析有关的几个字段。上面每一行以r,s,f或 D 开头, 分别表示收到 , 发送和丢弃一个包。第2 个字段表示当前的时间(NS 模拟时间 。第 3 个字段格式为 _n_, 其中 n 表示处理这个包的节点ID号。第 6 个字段 (这段例子中读是0表示 cbr 包的序列号 , 用来区分不同的数据包。第 14,15 个字段中” 0:0 2:0 ”, 分别表示了”源地址: 源端口目的地址 :目的端口” 。5.2 场景测试在上面的初步测试中 , 在 mflood.tcl中构造了一个简单的两跳的拓扑, 并且用 CBR流数据来测试两跳的路由。经过修改, 可以创建更复杂的拓扑和数据流,然而为了验证协议的效果往往需要多次随机的复杂场景的测试。这样才能比较公正地反映出路由协议的性能。scene-50n-0p-40s-400t-1200-1200 这样生成了场景文件scene-50n-0p-40s-400t-1200-1200。替换刚才的测试 Tcl 文件中的场景,把原来的文件中的构造3 节点场景的代码换成下面的代码即可:source” scene -50n-0p-40s-400t-1200-1200”精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 24 页,共 28 页25 / 28 cbr-50n-30c-5p 数据流场景保存在cbr-50n-30c-5p中,把 mflood.tcl中的数据流设定部分改成下面这行代码即可,同样注意文件路径:source” cbr -50n-30c- 5p”把修改过的mflood.tcl文件另存为mflood-sceen.tcl文件以示区别,然后可以用 NS来运行 mflood-sceen.tcl文件进行测试。第五章总结网络模拟是进行网络技术研究的一种基本手段。在新新技术研究中,出于各种原因,实际的网路系统的实现往往很不现实,因此模拟也就想当成了最佳精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 25 页,共 28 页26 / 28 的选择测试,评估和验证手段之一,模拟有着周期小成本低的特点,这样可以让研究者不必耗费太大的精力。NS2 作为一个事件驱动的模拟实验床, 它可以提供有线网络, 无线网络中链路层及其上层 , 精确到数据包的一系列行为的仿真. 网络仿真不仅适用于网络模型的构造和设计、协议性能的评价与分析, 还适用于网络协议的开发与研究以及真实网络的故障诊断,很受益于通信方面. 同时通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。除此之外,我觉得在这次设计的过程中,我发现团队精神的重要性,很多时候一个人的力量是有限的,一个人不可能什么都会,什么都能自己解决,还是有需要他人帮助的时候,我觉得人与人之间的相互帮助很有必要,这样不仅能帮助大家很快的解决问题,还能提高我们每个人的实际水平,也培养了我们的团队合作精神,这些能力对于我们今后的学习和工作都很有帮助。由于时间关系,本次设计中还有不尽完善之处。希望在以后的学习生涯中不断的完善和改进。致谢在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听每个成员不同的看法,对我们更好的精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 26 页,共 28 页27 / 28 理解掌握知识,有了不少帮助,所以在这里非常感谢帮助我的同学。在此要感谢指导我的丁老师,在本次设计中对我悉心的指导,感谢老师给我的帮助。在设计过程中,我通过查阅大量有关资料,以及利用了现在发达的网络技术,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识. 由于时间关系,本次设计中还有不尽完善之处。希望在以后的学习生涯中不断的完善和改进。. 参 考 文 献:1 徐雷鸣庞博赵耀 ,NS 与网络模拟,人民邮电出版社 2003 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 27 页,共 28 页28 / 28 2 刘峰李明禄基于方向的有限洪范路由协议上海交通大学 2008 3 唐俊杰 微型计算机原理及运用。北京:高等教育出版社, 2003 4 陈卫卫 C+程序设计教程北京 希望电子出版社 2002 5 钱能 C+程序设计北京:清华大学出版社 2004 6 多媒体和无线网络通信柯志亨 程荣祥电子工业出版社 2009 7郑少仁,王海涛,赵志峰等.Ad Hoc 网络技术 M. 北京:人民邮电出版社,2005:10-1568 陈晋伦,周正 .Ad Hoc 网络技术及研究现状J.信息技术与标准化,2005,6):10-149 祖国建 .自组网体系结构研究 J.现代电子技术, 2005,621):17-2510 于斌,孙斌,温暖等NS2 与网络模拟 M 北京:人民邮电出版社,2007:1-3. 11向明尚,陈素丽,刘延军等.NS2 网络仿真平台的探讨与实现J.大庆石油学院学报, 2005,2):87-93. 12 方路平,刘世华,陈盼等.NS-2 网络模拟基础与应用 M. 北京:国防工业出版社, 2008:89-98. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 28 页,共 28 页