2022年毕业设计方案9.docx
《2022年毕业设计方案9.docx》由会员分享,可在线阅读,更多相关《2022年毕业设计方案9.docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、扬州市职业高校毕业设计 论文)32 / 28设计论文) 题目: 基于 NS2 的泛洪路由协议的实现与仿真的设计系别: 电子工程系专业: 通 信 技 术 班级: 09 通信3 )班学号: 0906020306姓名: 丁威指导老师:丁晨 阳完成时间: 2021-04-29目录1 绪论52NS-2 结构与功能72.1 NS-2 的原理概述72.1.1离散大事模拟器72.2.2丰富的构件库82.1.3分裂对象模型 82.1.4开放的源代码 82.2 NS进行网络模拟的方法和一般过程92.3 分裂对象模型和 Tc1CL 92.4 NS基础102.5与 NS-2 相关几个常用工具122.6 Otcl实现模
2、拟的一般过程143.1Ad Hoc 网络的概念 153Aod Hoc 网络的简洁介绍 153.2 Ad Hoc 网络的主要特点 153.3 Ad Hoc网络的结构 164 泛洪路由协议的设计实现174.1 泛洪路由协议174.2 添加路由协议类174.3 定义包头类型184.4添加/ 修改源文件 184.5 编译代码195 泛洪路由协议的仿真测试195.1初步测试195.2 场景测试246 总结26致谢 27参考文献28摘要网络模拟是进行网络技术争论的一种基本手段;争论过程中, 由于各种缘由,实际网络系统的实现往往是现代较高或是不现实的;在这种情形下,模拟就成了正确可供挑选的测试,评估和验证手
3、段之一;网络模拟有着周期小,成本低等特点,而且可以是争论者更简洁理应他人的争论成果,可以是争论者更专心于自己所争论的部分而不必为系统的其他部分耗费过多精力;关键词NS ;网络模拟;Ad Hoc;无线自组网;路由协议;仿真;性能分析第一章绪论1.1 背 景网络模拟是进行网络技术争论的一种基本手段;在新技术的争论过程中,由于各种缘由,实际网络系统的实现往往是代价较高或是不现实的;在这种情形下,模拟就成了正确可供挑选的测试、评估和验证手段之一;网络模拟有着周期小、成本低等特点,而且可以使争论者更简洁利用他人的争论成果;NS2 正是这样一种针对网络技术的源代码公开的、免费的软件模拟平台;它是美国 DA
4、RPA支持的工程 VINTVirtual InterNet Testbed)开发的通用的多协议网络模拟软件,其中集成了大量典型的有线、无线甚至卫星网络下各个层的协议,同时 NS 广泛的用户又在不断地对这个系统进行完善和修改;正是由于NS2的这种开放性,使争论者更好的进行各种算法的实现和协议的改进;Ad Hoc 网络是一组具有无线收发装置的移动节点组成的一个多跳的暂时性的自组织系统,具有以下一些主要特点:动态拓扑,即网络中的节点可以任意移动,因此,网络的拓扑结构也可能会变化;链路带宽受限、容量时变,由于拓扑动态变化导致每个节点转发的非自身作为目的地的业务量随时间而变化,因此与有线网络不同,它的链
5、路容量表现出时变特点;动力受限,能量受限,由于网络节点的移动特点,其中大多数节点以电池作为动力,在进行系统设计时节能就成为一个特别重要的指标;物理上安全有限,移动网络比固定网络 开头编写 Otc1 脚本;第一配置模拟网络拓扑结构,此时可以确定链路的基本特性,如推迟、带宽和丢失策略等2 建立协议代理,包括端设备的协议绑定和通信业务量模型的建盆3 配置业务量模型的参数,从而确定网络上的业务量分布;4 设置 Trace 对象; Trace 对象能够把模拟过程中发生的特定类型的大事记录在 trace文件中; NS通过 trace文件来储存整个模拟过程;仿真完成后,用户可以对 trace 文件进行分析争
6、论;5 编写其他的帮助过程,设定模拟终止时间,至此Owl脚本编写完成;6 用 NS说明执行刚才编写的Ote1 脚本7 对 trace文件进行分析,得出有用的数据;也可以用N-等工具观看网络模拟运行过程8 调整配置拓扑结构和业务量模型,重新进行上述模拟过程;2.3 分裂对象模型和 Tc1CLTc1 和 OIL Ta 是一种说明执行的简洁的脚本语言;其说明器是用c+编写的,具有很强的可扩展性;只要用户增加相应的说明执行模块的程序,就可扩展出新的命令;为了进一步增强编程的敏捷性,提高程序的效率,我们需要把Owl 和 C+结合起来;为了能充分发挥Otc1 和 C+这两种面对对象语言的强大才能,我们需要
7、一种机制,使得在C+中能直接调用 Owl 说明器的功能, Owl 和C+能够相互直接操作对方定义的数据,并且C+中的类可以和 Owl 中的类对应起来;这种机制就是 Tc1CL;NS正是利用了 TOCL建立起分裂对象模型,形成了其丰富的构件库;通过这种机制,NS 达到了模拟配置敏捷性和运行效率的统一;2.4 NS 基础NS 与网络模拟NS是一个大事 event 驱动的模拟器,日前NS支持 2 种类型的大事调度器 :非实时的none real-nine和实时的 real-time.非实时的调度器又分为3 种:linked- list, heap, calendar;NS 只支持单线程,故在某一时刻
8、只能有一个大事在执行,假如有多于一个大事被支配在同一时刻,那么会依据大事代码插入的先后次序执行;list scheduler Scheduler/List类是川一个简洁的链表结构实现的; 大事依据时间次序排列,因此大事的插入和删除都需要搜寻整个链表;_heap scheduler Scheduler/Heap类是用一个堆结构实现的,在大事很多时,这种 结构比链表结构有优势;对于n 个大事, heap scheduler插入和删除操作的时间是 Olog n,calendar scheduler Scheduler/Calendar类是用一种类似于年历的数据结构来实现,年份不同但日月相同的时间可以
9、记录在同一天中: 相对于 heap scheduler来说,它的执行效率更高 . 因此是目前 Ns 中缺省的非实时大事调度器 . ;节点一个单播节点的基本结构如下列图,它主要包括两个对象 : 地址分类器address classifier 和端口分类器 port classifier ,它们分别用来判定分组的目标地址以及分组的目标 Agents.配置节点单播节点的结构配置节点就是在创建节点之前定义它的各种属性,函数Simulator node- comfit用来配置节点的属性;节点的属性包括节点的地址类型、移动节点的各个网络构件的类型、 ad-b.网络中移动节点的路由协议类型、是否打开各层Ag
10、ent. Router. MAC的trace功能等等;分类器 classifier收到一个分组后,节点需要检查分组的某些区域 大多数情形下是检查目的地址,某些时候会检查源地址,然后查找与这个区域的值相匹配的接收者;在NS中,这个下作由 Classifier对象完成, NS 中有各种不同的 Classifier对象,分别负责检查分组的不同部分,来完成不同的匹配、挑选工作 .定时器定时器 timer 既可以在 C-中实现也可以在 Owl 中实现;在 c+中,各种定时器都是基于抽象基类的 定义于 ns/common/timer-handler,h ,它们常常用于 agent 对象中,但也可以被其他对
11、象使用 .分组头治理在 NS的网络模拟中,分组是对象间交互的基本单元;分组由一系列分组头和一个可选的数据空间组成 如图 5.8 所示;分组头的结构在 Simulator对象创建时就被初始化了,同时每个分组头相对于分组的起始地址的偏移量也被记录下来;在缺省情形卜,大多数NS内建的分组头都是始能的 包括 common头、IP 头、TCP头、RTP头、trace头等这意味着在缺省情形下无论某个分组头是 否会被使用,它都会被初始化;当然用户也可以挑选只激活全部分组头中的一部分,以节省模拟过程中的内存开销;在通常情形下,分组只含有系列分组头,而指向数据空间的指针为 null ;虽然分组可以通过安排数据空
12、间来携带真实的数据,但很少有上层应用和 agent 支持这一特性,由于一般来说在非实时的模拟中携带真实数据是没有意义的 .应用层在 NS 中,应用层程序构建在运输层代理 transport agent之上,它分为两 大 类 : 流 量 发 生 器 trafficgenerator和 应 用 模 拟 器 simulated application图 5.13说明白这 两类应用层程序与 运输 层代理 transport agent 之间的关系 : 流量发生器一股用在UDP 代理之上,应用模拟器一般用在TCP代理之上 .Traffic generatorSimulated applicationAp
13、plication TrafficExponentiaApplication/FTPAPIAPIAgent/UDPAgent/TCP/pull应用程序与运输层之间的关系2.5 与 NS-2 相关几个常用工具1)gawkgawk 是一种程序语言,对于资料的处理具有很强的功能,可以使用很短的代码轻易地完成对文本档案做修改、分析、提取和比较等处理;假如使用C 或Pascal 等语言编写程序完成 L 述的功能,可能需要花费较多的时间编写很长的代码;2)gnu plotGnu plot是一个命令驱动的交互式画图软件, gnu plot的功能就是把数据资料和数学函数转换成简洁观看的平面或立体的图形,帮忙争
14、论者进行数据分析因此 gnu plot并不是一般常见的美工绘图软件,它最适合的是在科学争论的过程中,帮忙争论人员完成数据资料绘制与理论模型比较等机械化的工作,来加速争论;,可以产生TCP流或者 CBR流Constant BytesRateStream ; 它 所 在 目 录 为 ns/indep-utils/cmu-scen-gen, 只 有cbrgen.tcl一个文件口 cbrgen.后挑选另一个目的地随机挑选一个速度连续运动.Threshold工具就是用来运算在某种传播模型下,如何设定接收功率阈值来掌握无线传输的范畴;调试技术写程序的人都知道, bug 是在所难免的,通过调试程序排除程序中
15、的 bug 是编程序的一个特别重要的步骤;在整个程序开发周期中,调试所花的时间往往 .断据了极大的比例采纳什么样的调试技术、工具和手段往往打算了整个程序开发周期的长短以及最终程序的质量;所以调试技术是特别位得重视的一个环节 .2.6 Otcl实现模拟的一般过程1 )建立 network model: 描述模拟网络拓扑结构,确定链路的基本特性, 如推迟、带宽和丢失策略等;2)建立 traffic model: 包括端设备的协议绑定和通信业务量模型的建立, 配置业务量模型的参数,从而确定网络上的业务量分布;3)设置 Trace 对象; Trace 对象能够把模拟过程中发生的特定类型的大事记录在 T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 毕业设计 方案
限制150内