ad-hoc网络AODV路由协议算法设计
[关键词:ad-hoc网络,AODV,路由协议] [热度 ]提示:此毕业设计论文完整版包含【论文】 作品编号:txgc0008,word全文:52页,合计:19000字 |
课题的目的及意义
无线自组网ad-hoc有灵活、机动组网、迅速适应能力强的特点可应用于野外工作环境,在有限的地域内提供适应机动条件的移动通信装备以满足特殊需求。如:国防战备、灾难救助、偏远地区等无法得到有线网络支持、或者某些只是临时需要的通信环境。
考虑到Ad-Hoc网络具有很多优良特性,因此它的应用领域需要进一步去挖掘。比如:Ad-Hoc网络可以用来扩展现有蜂窝移动通信系统的覆盖范围,实现地铁和隧道等场合的无线覆盖,实现汽车和飞机等交通工具之间的通信,用于辅助教学和构建未来的移动无线城域网和自组织广域网等[3]。
Linux操作系统网络功能的实现
本设计在实现的时候,主要是利用Linux的网络系统。从整体角度考虑Linux网络系统基本可以分为硬件层/数据链路层、IP层、INER Socket层、BSD Socket层和应用层五个部分。其中在Linux内核中包括了前四个部分,在应用层和BSD Socket层之间的应用程序接都以4.4BSD为模板。INET Socket 层实现比IP协议层次高,实现对IP分组排序、控制网络系统效率等功能。图3-1说明了Linux基于TCP/IP协议的网络系统体系结构[7]。
本设计对AODV路由协议实现的方案中,将尽可能的利用Linux操作系统现有的路由机制。实现方案不改变Linux操作系统的分组转发功能模块,而是利用它的分组转发功能模块的实现机制,用自己的分组寻路功能模块来代替Linux操作系统现有的分组寻路功能模块[10]。
方案实现的基本思路是:用一个接收模块虚拟一个节点,将缺省的路由表项指向这个节点,从而由这个接收模块发起路由查找请求。考虑到程序的移植性和扩展的方便性,方案采用在用户空间实现分组寻路功能模块。
本AODV路由协议的原理性算法设计拟在Linux2.4操作系统平台上实现,Linux2.4分为三个主要部分:第一部分是接口部分,第二部分是AODV路由算法部分,第三部分是内核模块部分。其中,前两个部分是在用户空间实现的,第三部分是内核实现的。其中用户空间和内核空间各有一个路由表,在用户空间路由表建立的同时通过相应的系统调用在内核空间建立路由表。
......
这三个部分的功能分别是[11]:
第一部分:接口部分
接口部分的主要功能是利用Linux系统提供的应用程序接口,为实现AODV路由协议提供所需要的各种信息和服务。例如:在现实方案里当用户分组到达时,首先查询内核路由表,如果数据分组的目的节点在内核的路由表中已经存在,并且路由表项有效,则由Linux内核中的发送机制接发送,不发起AODV路由查找过程。如果数据分组的目的节点地址在内核路由表中不存在,通过接口部分从内核空间进入用户空间进行路由查找建立,路由建立后,如果AODV成功查找出路径,则要利用ioctl系统调用将这条路由表的时间,记录在时间链表中,接着netlink-socket通知内核接收该数据包以备进行下步处理。如果没有找到路径,则将缓存的数据分组释放,通知用户程序出错。
第二部分:AODV路由算法部分
从第一部分提取出用户分组数据的目的地址,就可有足够的信息来进行AODV路由查找。这部分涉及到RREQ的广播,RREP,RERR帧的处理等等。这部分......
提示:此毕业设计论文完整版包含【论文】 作品编号:txgc0008,word全文:52页,合计:19000字 |
本通信工程毕业设计论文作品由 毕业论文设计参考 [http://www.qflunwen.com] 征集整理——ad-hoc网络AODV路由协议算法设计(论文)!