(毕业论文53页22660字+图+程序)摘要:在稀疏节点的移动ad-hoc网络中,由于节点之间的距离很可能大于正常通信范围,使得网络无法连接或者断续性连接情况频繁出现。实现在这种情况下的可靠数据收发是近年来在国外迅速兴起且发展很快的一种新技术。在某些特殊环境下,如危险场合的探测,该项技术可以解决基本的通信问题。在对这方面的文献进行了详细分析研究后,本文使用一种存储转发的“摆渡”模型来实现节点间的大延迟数据收发技术。利用节点本身的移动性,将数据从源节点“接力搬运”到目的节点,实现源节点和目的节点的间接通信。论文完成了大延迟条件下的数据收发算法设计,相应程序代码的编写与调试。通过对程序中关键技术的分析以及大量的实验验证了该种算法的有效性和正确性。在论文最后,提出了所涉技术的深入研究思路。
关键字:数据收发;存储-转发;移动节点;断点续传 Research on Data Receiving and Delivering in Networks with Long Delay Abstract :In the sparse mobile ad-hoc networks, the distance between nodes is probable larger than the normal communication range, for that reason, the disconnected or discontinuously connected network frequently come out.The realization of data receiving and delivering in this case is a kind of new technology which springs up promptly and gets the quick development. In some special cases, such as the exploration in dangerous environment, this kind of technology can solve the basic communication problem.With the detailed analysis of the references on this subject, this thesis uses a store forward model---"ferry" to realize data receiving and delivering in networks with long delay. The data can be "relayed" from the source node to the destination node with the help of the nodes’ mobility. Consequently, the source node and the destination node can communicate to each other indirectly. The thesis proposes the algorithm on data's receiving and delivering which is suitable to long delay networks, and completes the procedure's compiling and debugging. Analysis and experiments show that this algorithm is effective and correct. Finally the deeper design idea related to this technology is proposed.
Key words: data receiving and delivering, store-forward, mobile node, pause-and-resume capability 目 录 第1章 绪 论 1 1.1 课题背景 1 1.2 课题研究的目的和意义 1 1.3 国内外研究现状 2 1.4 本文的主要研究内容和组织结构 2 第2章 设计平台和路由协议 3 2.1 linux操作系统 3 2.1.1 linux概述 3 2.1.2 linux网络 3 2.1.3 linux利于网络编程的原因 4 2.2 AODV路由协议介绍 5 2.2.1 协议概述 5 2.2.2 AODV路由查找过程 5 第3章 总体设计思想和方案 7 3.1 设计思想 7 3.1.1 整体设计思路 7 3.1.2 数据收发的整体过程 7 3.2 程序总体设计流程 8 第4章 程序流程设计 11 4.1 linux系统下的socket网络编程 11 4.1.1 socket网络编程概述 11 4.1.2 socket网络编程模式 11 4.1.3 模式的选择 13 4.2 具体流程设计与分析 14 4.2.1 客户机程序流程 14 4.2.2 服务器程序流程 15 4.2.3 中转节点程序流程 16 4.3 关键技术分析 17 4.3.1 文件大小计算 17 4.3.2 文件断点续传 18 4.3.3 链路完整性检测 21 4.3.4 连接请求控制 22 第5章 实验平台搭建及源码分析 24 5.1 实验平台的搭建 24 5.1.1 linux操作系统内核编译 24 5.1.2 无线网卡驱动与节点配置 24 5.1.3 AODV路由协议和ethereal软件的安装 26 5.1.4 源程序编译 26 5.2 实验结果及分析 26 5.3 代码分析 32 结 论 35 致 谢 39 参考文献 40 附 录 1 41 附 录 2 46 第1章 绪 论 1.1 课题背景 近几年,无线网络通信的发展越来越快,同有线网络相比而言,无线网络具有高移动性,组网速度快,扩展能力强等特点,因而迅速成为具有普遍使用的通信方式之一。Ad-hoc网络是随着无线通信技术快速发展而出现的一种新型网络。它是一种没有有线基础设施支持的移动网络,网络中的节点均由移动主机构成,具有动态变化的网络拓扑结构,有限的主机能源,有限的无线通信带宽等特点。由于每个节点的网络覆盖范围有限,并且节点的移动性会引起通信链接的频繁中断,会出现网络无法连接,断续连接,随机性连接等情况[1]。例如,若两个相距较远的节点要进行通信,有限的可通信范围使得它们之间无法直接通信,则需要通过它们之间的中继节点协助建立路由。但节点的移动会导致主机之间的链路增加或消失,节点之间的关系不断发生变化。所以即使是已经建立好了的路由也有随时中断的可能。由于传统网络通信技术是要求端到端之间具有持续可靠连接的路径,较短的传输往返时间等。假如这些条件不具备的话,可能造成应用程序的中断、通信失败、系统不稳定等问题。因此,这些传统的网络通信技术是无法运用到这种网络结构下的。可见实现基于这种特殊网络条件下的可靠数据收发技术具有十分重要的意义[2]。本课题是源于指导老师科研项目中的一部分,目的在于解决通信链路中断情况下的通信问题。 1.2 课题研究的目的和意义 若在网络区域内只有稀疏的ad-hoc节点,节点之间的距离就相应增加了,致使建立到达终端路由的难度也加大。对于该种特殊的ad-hoc网络的传统算法就是被动地等待网络的重连,重新传输数据。然而这种方法会引起很高的传输错误率,数据的不断重发也会占用ad-hoc本身就有限的无线通信带宽和主机能源。实现在稀疏ad-hoc节点网络中的可靠数据收发技术,可以解决目前网络使用条件的局限性。该项技术可实现与缺乏基础通信设施的地区进行通信,自然环境中数据的采集和传输,为外太空,深海洋等大范围的科学探索及军事通信技术研究提供有利条件。在某些特殊环境下,比如基础通信设施遭到破坏的战场、地震灾区[3]等,该项技术的优越性可以得到充分的体现。 1.3 国内外研究现状 在国外已有专门研究这种网络结构及其支持技术的研究组,并且许多大学已经把这项技术纳入了研究的范围之内。比如,University of California, Berkeley(伯克利加州大学)、University of California, Santa Barbara(加州大学圣塔芭芭拉分校)、Dartmouth College(美国达特茅斯学院)、University of Massachusetts(马萨诸塞大学) 、Lule˚a University of Technology(瑞典吕勒奥大学)等。他们做了许多关于这项技术的实验,并且提出了许多应用设想。例如,野外动物的高效节能追踪算法,使用装有通信设备的海洋动物(比如,鲸、海豚)来收集深海的各种数据,与缺乏通信基础设施的地区实现通信。在国外,对这种基于稀疏ad-hoc节点的通信技术正在不断向前发展。而我国虽然最近几年增强了对ad-hoc无线通信技术的研究,但是对上述这种有限网络节点情况下的通信技术研究,我国还处在一个刚刚起步的阶段,还没有完整介绍这项技术的中文文献。 1.4 本文的主要研究内容和组织结构 本文主要研究在只存在稀疏ad-hoc节点的网络中,源节点和目的节点无法直接建立连接的条件下的数据收发技术。具体包括: TCP/IP协议的研究 AODV路由协议的分析 Linux操作系统下的C语言编程 基于linux操作系统下的无线通信网络构建 通信链路中断情况下的数据收发算法设计 本文的组织结构如下:第一章为绪论;第二章介绍设计平台和路由协议;第三章介绍总体设计思想和方案;第四章阐述了linux系统下的socket网络编程、具体的流程设计以及对设计中的关键点进行了分析;第五章进行关键源代码的叙述和实验结果分析;第六章对此次设计进行总结并对课题的进一步完善提出展望。
|