遗传区域路由协议摘要:与表驱动协议以及按需求协议相比,区域路由协议(ZRP)由于优秀的工作表现,得到了最高承认度。该协议很适于在移动Ad-hoc网络(MANETs)发展混合路由协议。基于遗传算法的概念的研究,是为了提供一套可以利用来到达目的地的路径,使得网络负荷达到平衡。该协议可以减轻消耗以及更好地实现数据包的传递。这种新的路由协议叫做遗传区域路由协议(GZRP)。关键词:Adhoc网络,MANET,遗传算法,表驱动协议,按需协议,混合协议,ZRP,GZRP绪论在诸如adhoc的多跳无线网络里,移动用户必须在没有固定的网络基础设施或者可以即时建立网络基础设施构架的环境下进行通信。Adhoc网络有时也叫做无基础设施网络【1】。移动Adhoc网络(MANETs)是动态创建的。相对于标准的数据网络而言,MANETs的动态环境提出了特殊的挑战【2】。在这样一个网络里,每一个移动节点的运作不仅是作为一个主机,同时也是一个路由器。在这个网络里可能不能直接对每个点传送数据,而要移动节点把数据转发给其他移动节点。每个节点都必须动态地建立合作相互路由。每个参加adhoc路由协议的节点必须找到通过网络连接其它节点的“多跳”路径。文献[3],[4]中有一些可能使用adhoc网络的例子包括学生用笔记本电脑参加互动课程,商业伙伴在会议上分享信息,士兵了解战场上的情况,台风或地震过后紧急救灾人员协调合作。必须在很短的时间里算出最短的路径(SP)。这涉及到经典的组合优化问题中产生的许多设计规划的情况【5】。遗传算法(GAs)和其它的改良算法【6】-【14】有望解决这个复杂的问题,在多处实践中它们已经成功地应用。而且,Gas的硬件实现是非常的快点。本文组织结构如下:第二部分,关于现有协议工作情况的讨论,区域路由协议(ZRP)的运行,遗传算法的工作情况以及特点。第三部分,遗传区域路由协议(GZRP)及其工作情况。第四部分,给出了实验过程包括评价方法和用于仿真的仿真环境。第五部分,罗列仿真结果。第六部分,给出结论。相关工作常规路由协议最近,很多与adhoc网络有关的问题备受关注【15】,【16】。提出了很多在这样的环境下使用的路由协议。这些协议可以泛泛地分为两类:主动的路由协议和被动的路由协议。主动或者表驱动的路由协议会在整个网络内一直对所有节点以广播的方式更新路由信息,像DSDV【17】,TBRPF,OLSR,WRP,STAR和FSR。另外的被动或按需的协议只有当源端需要发送数据包的时候,才会找一条通往目的地的路径,例如DSR【18】,AODV和TORA。主动协议用路由表保持从一个节点到其他节点的路由信息。无论何时需要查询到目的地的道路,它经历最小的延时后都随时可用。但如果这些路由信息没被使用,又会极大地浪费网络资源。被动协议通常与动态网络里少量的交通控制相关;节点必须等待路由查询的回复。被动的路由协议也会对可能造成网络拥挤的频繁信息流进行分类。混合协议就在两种相差甚远的协议中间。区域路由协议(ZRP)【19】是混合了主动和被动协议。它由主动的区域内路由协议(IARP)【20】,被动的区域间路由协议(IERP)【21】,边播解析协议(BRP)【22】。相对于表驱动协议【23-26】和按需协议【27-28】ZRP有着很好的工作表现。ZRP概述本文中以ZRP为源协议。对ZRP中的IARP不做任何改变。但会把遗传算法应用到IERP和BRP。ZRP一方面限制了主动路由在周边节点的范围,将纯路由原理的浪费最小化了。另一方面,全网络的搜索是在所选定的有效节点查询而不是全网络节点查询。主动路由为了维护路由信息而使用了超额的带宽,而被动路由则存在一个长的请求延时。ZRP的目标是通过组合这些方案的优点来解决这些问题。ZRP减少了以每个节点为中心的主动范围。在限定的区域内,可以更容易地维持路由信息。而且,没使用的路由信息也已经最小化了。要连接更远的节点就要用被动路由。因为所有的节点都存储了本地路由信息,路由请求不需询问所有网络节点所以更加有效。就像它的名字所说,区域路由协议是基于区域的概念。每个点都有独自的路由区域和重叠的周边节点。路由区域有一个半径r,用来表示跳数。所以区域包含了中心节点r跳以内的节点。要注意到是区域以条为定义,而不是以物理距离。一个区域的节点分为周边节点和区域内节点。·周边节点是到中心节点的最小距离刚好等于区域半径r的节点。·区域内节点是到中心节点的最小距离小于区域半径r的节点。一个节点的路由区域的建立首先要知道它的相邻节点。相邻节点的定义是与本节点只有一跳的距离,可以直接通信。可以直接用媒体访问控制(MAC)协议来鉴别相邻节点。此外,邻发现可以通过一个MAC级别的邻发现协议(NDP)来实现。这个协议通常是通过定期广播“hello”为信标。“hello”标记的接收(或接收质量)可以用来描述相邻信标连接状态。ZRP与主动本地路由相关的组件是区域内路由协议(IARP)。IERP和IARP都不是个别的路由协议。IARP属于限制深度主动链接状态路由协议。IARP保持了路由区域内所有节点的路由信息。相应的,IERP属于提供了增强了基于IARO的本地连接监测的路由寻找和路由维护服务的被动路由协议。事实上,需要全局路由寻找时,本地区域拓扑可以减少交通量。ZRP用一种叫边播的概念代替广播数据包。利用IARP提供的拓扑信息直接对区域边界广播询问请求。边播数据包的投递服务由边波解析协议(BRP)提供。由通知IARP更新相邻表的NDP来触发路由信息的更新。IERP用IARP的路由表回应路由询问,用BRP转发路由询问。BRP用IARP的路由表引导远离询问源的路由询问。遗传算法因为在搜索的空间内遍布“探针”,所以遗传算法【5】的工作性能比其它算法好得多。本文期待遗传算法作为优化的算法是因为它有极强的鲁棒性。遗传算法值得注意的另一个优点是能够通过在不同的机器之间扩散评估以实现大规模的并行性。遗传算法或改进算法在通信网络之中的应用方面,已经做了很多工作。研究人员已经把GAs应用于最短路径的路由问题【6】,多重播放路由问题【7-9】,在文献[10],作者试图将遗传算法用于自动选择参数,如心跳间隔时间,心跳点数,历史规模评分,上调分数门槛,下调分数门槛,路由算法以及使adhoc网络的流量最大。文献[11]将遗传算法应用于最短路径问题。文献[12]研究针对水下adhoc网络运用遗传算法创建路由表。文献[13]检验了在MANETs中应用遗传算法动态优化路由。文献[14]关注到如何使用遗传算法聚集网络节点形成子网络。建立一个简单的遗传算法包括以下步骤:1.【数量初始化】随机产生n条染色体的种群(与问题情况相适应)2.【适应度】求出种群里每个染色体x的适应度xf3.【新种群】重复以下步骤知道新种群完成a.【大小选择】根据适应度(适应度越大,选中几率越大)从种群中选择两个父代染色体b.【组合交叉】以一个组合交叉的概率从父代生出新的后代(子代)。如果没有组合交叉,后代将会完全地复制父代c.【变异】每一个基因位(染色体内的位置)以一个突变的概率成出后代d.【接受】将一个新的后代加入种群4.【取代】以新的种群运行算法5.【检测】若条件符合则停止,返回种群的最佳解决方案6.【循环】跳转第二步遗传区域路由协议本文提出了一项新的协议叫做遗传区域路由协议(GZRP),它运用简单的遗传算法来找到多条最短(有时候是接近最短)路径以使得负载平衡以及可以承受。任何按需路由协议使用路由查询和维护路由信息的过程是为了找出使信号到达目的地的最短路径。任何情况下如果路由失败或者发生拥堵就会使路由延迟或者数据丢失,那么需要重新查询新的SP。这就导致了网络资源和时间不必要的浪费。ZRP是一种混合协议,如果目的地在路由区域内就使用现成的路由。然而现实的情况目的地往往是在区域外的。这种情况下就要应用IERP和BRP的路由查询了。这种路由查询实在区域之间的边界节点。在这一点上,应用遗传算法。每一个边界节点都将应用GA去寻找最短或近似最短的路径。每次现有路径通信失败后,边界节点将利用最短路线,来取代重新查询路径。A.编码方法GA的一条染色体包含一串正整数以表示路由路径经过的边界节点的ID。每一个第一个基因位的基因通常是为原节点保留的。在网络里的每条路径都不超过N个节点。因此,每条染色体的最大值为N。编码一条染色体(路由路径)的问题,是基于网络的拓扑信息(路由表),列出从源节点到目的地途径的边界节点的ID。B.种群初始化种群初始化的一个问题是种群的大小。一个大种群是非常有用的,但会过分耗费内存和时间。种群增大会增加为了得到一个好的解决方案的复杂指数(即,染色体长度)。最近研究表明,小的种群反而能得到令人满意的结果。本文使用大小为网络节点数目的两倍的种群。而且,文献建议随机初始化的方法能够用来产出新种群。C.适应度函数GA的适应度函数通常是要求优化的目标函数。适应度函数描述一条染色体比其它染色体更好的时候,就更加有价值了。适应度函数在SP路由问题中是很明显的,因为要计算SP的数量来找出最低损耗的路径。多跳网络的基本拓扑可以由意向图ANG,直接给出,其中N是节点的集(定点),A是链路的集(弧和边)。每个链接(Lj)的损耗为LjC。损耗可以由损耗矩阵ijCC给出,其中ijC表示在链路(Lj)传输一个数据包的损耗。S和D分别指原节点和目标节点。每个链接由ijI表示作为一个染色体图(掩蔽),提供关于从节点i到节点j的链接是否在路由路径中的信息,定义如下:ijI=1,路由路径包含节点i到节点j的链路=0,路由路径不包含节点i到节点j的链路目标函数形式如下:源节点和目的节点之间的路径没有循环的条件为:D.大小选择选择(生殖)操作是为了通过给高质量的染色体重组生成下一代来提高种群的平均质量。还有很多像轮盘赌选择,随机剩余选择,竞争选择,截断选择的技术,可以用来选择下一代的染色体。GA技术用于应用最广泛的轮盘赌选择。在这项技术里,两条染色体按一定概率进行选择。但是,不能选择同一条染色体当父代两次。E.组合交叉组合交叉是为了找到更好的解决方案。自然地组合交叉在SP路由问题中起到交换两条染色体的部分路由信息,以生成代表一条路径的后代的作用。这就要求选择一点交叉作为一个好的GA候选方案。路径的一部分是从源节点连接到中间接点,另一部分是从中间接点连接到目标节点。但是组合交叉的机理与传统的一点交叉不一样。在建议的方案里,两条被选作选择交叉染色体除了源节点和目标节点之外至少有一个公共节点,但不要求在同一个基因位置。那是因为组合交配不依靠路由路径中节点的位置。组合交配前:组合交配后:在组合交叉中可能形成循环。必须注意修改和惩罚函数是常用的简单的对策。F.变异种群经历候选燃烧体的一个基因本质上的改变或者翻转的变异,从而保持自身的最佳量。在GA里,从突变节点到目的节点间的部分路由,自然地产生交替。还要运用一个拓扑信息数据库。当然变异可能引发微小的偏移,但是可以忽略。变异前:变异后:依靠变异点,从被选染色体中挑选出一个基因(节点B2)。与变异节点相连的一个节点,被随机选为部分交替路由的第一个节点。G..修改函数之前提到,组合交叉可能产生违反路由路径循环限制的不可行的染色体。必须注意到没有一条种群初始的或变异后的染色体是不可行的,因为一旦选定了节点,就排除了路径中的其他节点。总结针对移动adhoc网络,本文提出了一个新的路由协议,应用遗传算法寻找存在于区域路由协议中的多重最短(或接近最优)路径,叫作遗传区域路由协议,是为了发生拥堵时平衡网络负载或者路由失败时提高鲁棒性。这样可以使数据包更好地传到目的地,减少网络的开销和延时。GZRP将被未来所承认。薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁薈螁膄莃莁蚇膄肃薇薃膃芅荿羁膂莈蚅袇膁蒀蒈螃膀膀蚃虿腿节蒆羈芈莄蚁袄芈蒆蒄螀芇膆蚀蚆袃莈蒃蚂袂蒁螈羀袁膀薁袆袁芃螆螂袀莅蕿蚈衿蒇莂羇羈膇薇袃羇艿莀蝿羆蒂薆螅羅膁蒈蚁羅芄蚄罿羄莆蒇袅羃蒈蚂螁羂膈蒅蚇肁芀蚁薃肀莂蒃袂肀肂虿袈聿芄薂螄肈莇螇蚀肇葿薀罿肆腿莃袅肅芁