网络模拟和协议仿真课程设计报告 联系客服

发布时间 : 星期日 文章网络模拟和协议仿真课程设计报告更新完毕开始阅读c5b03bfc770bf78a6529549e

杭州电子科技大学

网络模拟和协议仿真课

程设计

课程题目:基于NS-2的SDRAD路由协议的实现 人 员:*****

2012/9/16

杭州电子科技大学

摘要

在网络路由技术的研究中,实际网络系统的实现往往是代价很高或不现实的。利用网络仿真器NS2 对相关网络路由协议进行仿真是一种既有效又经济的研究方法,但目前的NS2 还不能支持所有网络路由协议的仿真。本文根据拓展仿真的原理和方法,对在NS2 中添加路由协议进行了研究,添加了SDRAD 路由协议。

关键词:NS2;拓展仿真;路由协议;SDRAD

杭州电子科技大学

引言

在真实的网络中,设计和调试网络协议是一件困难且复杂的事情,仿真成了最佳可供选择的测试、评估和验证手段之一。网络仿真是用计算机程序对通信网络进行模型化,通过程序的运行模仿通信网络的运行过程。这是一种进行网络技术研究的基本手段,不仅适用于网络模型的构造和设计、协议性能的评价与分析,还适用于网络协议的开发与研究以及真实网络的故障诊断。网络模拟器NS2(Network Simulator v2)是一种免费、源代码公开的模拟软件平台,其协议代码与真实网络应用代码很相似,仿真结果具有可靠性。NS2 是一个面向对象的离散事件驱动网络模拟器,支持多种流行的网络协议如TCP、UDP 和路由调度、拥塞控制算法等。相对于一般的离散型模拟器,NS2 的优势在于它有非常丰富的构件库,而且这些对象易于组合,易于拓展,但是对用户的编程能力,实际网络协议的理解能力要求较高。本文利用NS2 已有的对象,组合所要研究的网络系统模型,在NS2 中添加了一个SDRAD[1]路由协议进行网络仿真。

由于无线传感器网络的众多优势,如可迅速大规模部署、可进行各种环境下的长期监测、可减少人为干涉等,使得它逐步应用到各种军事和民用领域,包括环境监测、智能交通等。数据收集是无线传感器网络路由中的一种特殊情况,主要任务是通过单跳或多跳的方式将网络中传感器节点收集的数据传送给基站。在环境监测应用中。可采用数据收集的方式将数据汇集到汇聚节点.再进行进一步分析。用无线传感器网络进行环境数据收集时。不同于其他对实时性要求比较高的应用,其对数据传输的延迟性没有太大要求,数据传输速率也较低,对带宽也无过高要求。如何降低网络能耗、延长网络生命周期成了环境监测中数据收集的首要问题。DRAD[2] 路由协议可以很好地满足上面提到的要求。为了模拟DRAD的原理,对它进行了简化,形成了SDRAD协议。

杭州电子科技大学

目录

第一章 协议介绍 ..................................................................................................................... 1 第二章 协议设计 ..................................................................................................................... 2 2.1 网络拓扑形成阶段 ....................................................................................................... 2 2.2 数据收集阶段 ............................................................................................................... 3 第三章 协议实现 ..................................................................................................................... 4 3.1 SDRAD协议类 ................................................................................................................ 4 3.2 数据包头 ....................................................................................................................... 5 3.3 邻居表 ........................................................................................................................... 6 3.4 SDRAD协议类的实现 .................................................................................................... 7 3.4.1 邻居表管理 ........................................................................................................... 7 3.4.2 SDRAD路由协议中的关键函数 ............................................................................ 8 3.5 将SDRAD整合到NS-2.35中 ..................................................................................... 10 3.5.1 建立协议文件 ................................................................................................... 10 3.5.2 修改NS-2.35源码 ........................................................................................... 10 3.5.3 编译NS-2.35源文件 ....................................................................................... 11 第四章 仿真验证 ................................................................................................................... 12 4.1 编写仿真tcl脚本sdrad.tcl ................................................................................ 12 4.2 在cygwin窗口中运行仿真命令 ............................................................................. 15 第五章 实验结果分析 ........................................................................................................... 16 5.1 拓扑形成阶段 ............................................................................................................. 16 5.2 据收集阶段 ................................................................................................................. 17 第六章 总结 ........................................................................................................................... 20 参考文献 ................................................................................................................................. 21 附录 ......................................................................................................................................... 22 sdrad.h ................................................................................................................................. 22 sdrad_packet.h ..................................................................................................................... 24 sdrad_nbtable.h .................................................................................................................... 25 sdrad.cc ................................................................................................................................ 26