1 引言
无线Ad-Hoc网络因其构建容易、支持用户移动性的特点,在无线通信领域中占有极其重要的地位并具有广阔的应用前景。无线通信技术、移动技术的发展为无线Ad-Hoc网络(WANET)提供了更广泛的应用空间。经常使用文件共享的P2P网非常适合 WANET。然而,在现有的无线Ad-Hoc网络中直接应用P2P技术,会造成系统开销大量增加,传输效率及查询成功率不高,从而影响整个网络的性能。在无线Ad-Hoc网络(WANET)中方便快捷地实现P2P数据共享与交换,改善文件搜索和下载机制成为广泛关注的课题。
这里提出一种将查询功能和路由功能统一的跨层设计方案,利用分布式哈希表建立树状网络拓扑结构,使用P2P位置查找技术将文件位置信息分配在其间,每一网络成员都存储和保留系统资源的位置及路由信息,实现共享文件的定位查询。在WANET中实现查询和路由功能的统一,提高文件搜索和下载效率,定向查询网络资源,降低冗余开销。
2 系统概述
这里WANET通过节点间的树形逻辑结构解决共享文件的定位查询问题,随着网络新节点的加入树形拓扑结构增大。新节点只能通过某一个邻居节点加入 WANET,每个WANET向外提供唯一的网络ID,在同一ID的网络中,每个节点只能拥有一个双亲节点。网络有一个层次分明的树状拓扑结构,这种结构有助于查找文件路径(即从存放路径的节点获得到达文件存储节点的路由),以便从文件存储节点下载文件。
为了存储和保留位置信息以及路由信息,系统使用全分布哈希表,关键词是所要共享文件的文件名,值是共享文件的全球统一的位置信息(节点MAC地址和节点文件的全路径)。用一维空间来存储关键词和哈希值对,通过统一的哈希函数将每个关键词映射到哈希链上的对应位置。统一的函数有助于节点之间信息分配的平衡, WANET中的每个节点负责存储一段哈希链(与哈希表上的索引项对应)。如果某一节点负责哈希链段上包含某一文件哈希值,称该节点为文件的路径节点 (Pnode),存储文件F的节点就称为文件节点(Fnode)。因此Pnode存储携带位置信息的索引,Fnode存储实际文件。因此,访问一个文件的步骤如下:查询节点(Qnode)哈希被搜索的文件名以确定哈希链上的值;访问Pnode(哈希值包含在Pnode负责的哈希链内);从Pnode获取被搜索文件的位置(即Fnode)并确定从Pnode小节点到Fnode的路由;从Qnode获取到Qnode-Fnode的路由,访问Fnode,文件从 Fnode被下载。
3 树形拓扑的建立和节点文件定位
图1d表示一个含有7个节点的WANET网络,在该网络中,假定节点A、B、C、D、E、F、G提供的共享文件分别为(α1α2)、(β1β2)、(γ1)、(δ1 δ2)、(σ1)、(ε1)、(η1η2)。