一种基于OLSR的简单地址自配置方案

来源 :计算机时代 | 被引量 : 0次 | 上传用户:ggqllm555
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:提出一种新主机加入移动自组网的地址自配置机制。针对OLSR路由协议网络负荷较重的情况,特别考虑了路由协议的原理特点,设计了一种基于代理邻居的简单地址自配置方法;针对代理邻居的发现、局域地址的分配、全局地址的检测与分配提出了完整的解决方案,设计了相关分组格式,并保持了与OLSR通用数据格式的一致性。该方法算法简单,对网络负荷影响极小。
  关键词:OLSR;地址自配置;邻居代理;地址池
  
  0 引言
  
  移动自组网MANET(Mobile ad hoc NETworks)是一种临时网络,它由一些固定节点或移动节点组成,没有一些预先存在的节点,可用在军事、救灾和家庭网络及其它一些类似的应用环境。移动自组网中路由问题很复杂,存在各种不同的路由方案,而这些路由方案都有一个基本的前提,即在建立无环路由和实现单播通信之前,网络中所有的节点都必须有一个全网惟一的网络地址。本文提出一种简单的基于OLSR协议的路由方案,只使用极小的网络负荷,并且可以方便地扩展到其它路由协议中去。本文第一部分是对OLSR协议的简单介绍,第二部分提出地址自配置方案的原理及实施方法,第三部分对本方法的效率进行分析,最后总结了本次研究的成果和以后需要完善的问题。
  
  1 OLSR路由协议
  
  移动自组网是由处于一定地理范围内的节点以自组织方式组成的无线网络,节点之间要求互联互通并且协同工作。移动自组网具有高度变化的拓扑结构,各节点可以任意移动,节点之间利用无线技术传送数据包,所以该网络的路由问题很复杂。优化链路状态路由协议OLSR(optimized link state routingprotocol)是解决MANET路由的常用办法之一。
  OLSR路由协议是由IETF MANET工作组提出的一种表驱动式的链路状态路由协议,主要采用两种控制分组,HELLO分组和TC(Topology Control)分组。HELLO用于建立一个节点的邻居表,其中包括邻居节点的地址以及本节点到邻居节点的延迟或开销,OLSR采用周期性地广播HELLO分组来侦听邻居节点的状态、节点之间无线链路的状态,同时HELLO分组用于计算该节点的MPR(Multi Point relay),只有MPR节点被用作路由选择节点,非MPR节点不参与路由计算,OLSR还利用MPR节点有效地广播控制信息,非MPR节点不需要转发控制信息。HELLO分组只在一跳的范围内广播,不能被转发。与之相反,TC分组必须被广播到全网,在TC分组中包含了将发送TC分组的节点选为MPR的邻居节点的信息,节点根据收到的TC分组来计算出网络的拓扑图,从而建立网络路由表。
  OLSR路由协议是先验式的,也就是说它们查找路由不依赖于路径上的节点是否要发包,而是每个节点都维护一张包含到达其它节点的路由信息表。节点间通过周期性地交换路由信息来不断更新自身的路由表,以便能够及时地反映网络拓扑结构和变化,以维护一致的、及时的、准确的路由信息。OLSR不断地收集节点之间能相互通信的数据,并对每个节点保持一个最优化的路由表,所以连接可以很快地建立。但是OLSR相对比较大而且复杂,同时频繁地找寻网络其他节点,加重了网络负荷,所以建立基于OLSR协议的地址自配置系统一定要充分考虑网络负担问题。本文提出的地址配置方案的特点,即对网络自身的数据量负荷影响很小。
  
  2 基于OLSR的简单地址配置方案
  
  本文中的地址配置方案之所以称为简单方案,是因为该方案的目标网络是一个运行OLSR路由协议的移动自组网。当然该方法可以根据不同路由协议特点方便地进行扩展,另外不考虑网络的合并与分割问题。本自配置方案可分为三个阶段:
  (1)所有OLSR网络中的节点周期性发送ADDR_EXPL数据包,以发现新加入节点。将其确定为新节点并进行地址配置的代理节点叫做代理邻居。
  (2)在新加入节点与地址配置代理节点确定了代理关系后,代理邻居为新节点配置网络的临时地址,并与新节点进行HELLO数据包的通信,对该过程中出现的各种情况进行处理。
  (3)根据整个网络的地址分配表为新加入节点配置全局网络地址,并负责对该网络地址的惟一性进行检查,同时更改全局网络数据表。
  下面详细说明在这个三个过程中涉及的问题以及解决方案。
  
  2.1确定代理邻居
  在运行OLSR路由协议的网络中,周期性发送HELLO分组和转发TC(TopologyControl)分组的节点,可以作为为新加入节点分配网络地址的代理主机。为了能够及时发现新加入节点,利用OLSR协议中的HELLO交换周期性地发送ADDR_EXPL分组。该分组是一个局部数据包,任何收到该分组的主机不必转发,以减小网络负荷。
  新力UN主机收到—个ADDR_EXPL分组后,确定该邻居节点作为自己地址配置的邻居代理,如果同时收到多个ADDR_EXPL分组,则在多个邻冒节点中选择—个地址较低的作为其邻居代理。
  OLSR网络中节点可能随时发现新主机,并且为之配置局部临时地址。因为在新主机得到全局性地址前,需要拥有一个局部的临时地址与其进行通信和链路监测,最后再为该主机分配全局永久地址。
  如何为新节点分配临时地址,并在局部监测地址冲突?本文采取这样的策略:
  (1)每—个OLSR网络中的主饥选取—个局部的地址段,用作新主机分配临时地址的地址池。并目通过不断交换ADDR_EXPL分组来分析网络拓扑结构中是否存在局部的地址冲突。
  (2)如果两个或多个没有进行地址代理的节点发生冲突,则由低地址主机重新选择局部地址段。
  (3)如果有一个或多个正在为新主机进行地址配置的节点发生了冲突,因为当前的地址配置必须完成,则代理地址节点缩小其临时地址段至当前新节点分配的地址。
  (4)如果地址代码段小于一定的空间,需进行重新选择。
  为了减少网络负担,所设计的ADDR_EXPL分组格式(如图1所示),与OLSR协议通用数据分组一致。其中全1段对应于HEELO分组的链接代码段,用于表示与新加入主机链接的标识;全零字段与HELLO分组一致,为保留字段。这样ADDR_EXPL分组即可作为HELLO分组的一部分进行周期发送。因为HELLO分组的链接代码段高四位为0,所以经过对这四位非0判断接收方很容易区分这部分内容为ADDR_EXPL分组内容。如果地址代理节点在地址分配过程中出现冲突需要置临时地址池至当前分配地址时,则开始地址置零,结束地址作为当前分配地址的标识。
  


  图1 ADDR_EXPL分组格式
  
  2.2代理邻居分配临时地址
  当新主机收到一个或多个ADDR_EXPL分组后,需要确定一个作为其地址配置的邻居代理,可根据所有邻居链路的延迟 或信号强度进行决策。在确定了代理邻居后,对该主机发送ADDR_CONFIG分组,使其确认为代理邻居并进行临时地址的分配,由代理邻居从自己的临时地址池中跳选地址并分配给新的主机。该过程采用以下处理方法:
  (1)新主机在给代理邻居发送ADDR_CONFIG分组并请求分配临时地址,同时发送自己的物理地址,为进一步分配全局的永久地址做准备;
  (2)代理邻居在收到新主机的ADDR CONFIG分组后,从自己的临时地址池中挑选地址分配给新主机,并从自己的地址池中将相应部分去除;
  (3)新主机得的临时地址在自己的一跳范围内并不能保证惟一,所以在等待分配永久地址时,不能使用该地址进行局部通信,而只是周期性地和自己的代理邻居进行HELLO分组的交换,直到得到全局永久地址,从而成为一个完全独立的OLSR网络主机。在此期间两主机链路发生变化,新主机可重新发送ADDR_CONFIG分组或者重新选择代理邻居。
  我们所设计的ADDR_CONFIG分组如图2所示,同样采用OLSR的通用数据结构。需要说明的是:如果源地址、局域临时地址及全局永久地址段为O时,表示这个一个新主机请求局域临时地址的ADDR_CONFIG分组;如果只有全局永久地址段为0,表明这是一个分配局域临时地址的分组,否则是一个分配全局永久地址的分组。
  


  图2 ADDR CONFIG分组格式
  
  2.3分配全局地址方案
  当新主机和代理邻居利用临时地址进行通信后,代理邻居就需要在全局地址空间中为新主机选择永久地址。对于全局惟一地址的选择可以有多种机制。比如类似DHCP的地址配置方案,在全网范围内建立地址服务器,用以满足地址分配请求和回收。但是这种方案降低了移动自组网的灵活性和网络健壮性,同时也增加了组网代价。
  本文采用一种分布式的分配机制。如果代理邻居不是多点中继站MPR(MultiPoint relay),则从其选定的MPR路由表中选取没有使用的地址分配给新的主机。如果代理邻届是—个MPR,则可直接选择一个路由表中没有的全局地址作为新节点的永久地址。考虑到无线局域网的动态性,必要的地址冲突监测是必须的,可以将要分配的全局地址写入TC分组中,由接收该TC分组的主机进行监测,如果存在冲突则通矢口该TC分组的产生主机。
  
  3 性能分析
  
  在上面提出的地址自配置方法中,在OLSR网络中加入了三类数据的分组交换:用于发现新主机的ADDR_EXPL分组;用于确定代理邻居并请求局域临时地址的ADDR_CONFIG分组,代理邻居分配临时地址和全局地址也使用ADDR_CONFIG分组;代理邻居从全局地址空间中获取空闲地址并进行惟一性检查的数据分组。
  在以上的三类中,ADDR_EXPL分组是加在HELLO分组后面的,不会额外增加网络负担,ADDR_CONFIG只有在进行地址配置时才会发送,并且长度只有32个字节,这两种数据分组只限于局域,也就是一跳的范围内转发,整个地址分配过程只需要四个分组的交换即可完成,所以对网络的负荷影响很小,这是该地址配置方法的一大特点。
  
  4 结束语
  
  本文提出的基于OLSR路由的移动自组网的简单地址自配置方案,概念清晰实施简单。OLSR网络路由信息交换频繁,额外负荷较重,对于这种先验式的路由协议来讲,本方法有着对网络额外负荷影响极小的好处。
  但是本方法只适用于新主机节点加入一个连通的移动自组网的情况,也就是说必须有一个属于OLSR的主机为其地址自配置提供邻居代理,这正是移动自组网中最频繁的一种需要地址自配置的情况。对于两个MANET进行合并时存在的潜在地址冲突问题,还有待进一步研究。
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘 要:基于Windows平台下.Net Framework中GDI+二维图形类库,以路径(GraphicsPath)表示图元形状,用仿射变换矩阵的乘法进行图元的连续变换,推导出图元不失真连续变换的条件,并应用图元变换的矩形区域归整化,解决了文本图元变换时字体放缩的难题。  关键词:Net;GDI+;图元变换;路径;矩阵;不失真;文本变换
期刊
摘 要:叙述了如何利用虚拟现实建模语言X3D语法,采用变通的方式来模拟面向对象编程的方法:借助X3D中的原型(PROTO)节点和Script节点,实现了面向对象编程中的如数据封装、继承等功能特性,并给出了相应的实例。  关键词:X3D;面向对象;原型;节点
期刊
摘要:利用Eclipse插件的可扩展机制开发了JTang-Eclipse插件。JTang-Eclipse插件是一个将JTang服务器集成到Eclipse上的工具,遵循Eclipse插件开发平台提供的框架,支持服务器生命周期管理,可以在JTang上部署J2EE archive包,并提供打包、部署描述符自动生成和JSP编译等辅助J2EE开发的功能。  关键词:Eclipse;插件;J2EE;PDE;A
期刊
摘要:对于一些大型的复杂网络系统,利用传统的集中式系统监控模型进行监控和故障诊断是困难的。文章给出了一种将移动Agent技术用于系统监控的分布式系统监控模型。利用这种系统监控模型可以减少网络数据流量,缩短系统监控与故障诊断时间。  关键词:分布式;移动Agent;系统监控;监控模型    0 引言    在现有的集中式系统监控体系中,客户端与服务器之间传递着大量的数据,网络流量很大,增加了网络拥塞
期刊
摘要:阐述了在共享式以太网中用Visual c++6.0实现的基于原始套接字技术的改进网络嗅探器实现。在设计上,除了捕获数据包以外,还进一步解析出应用层协议,运用模式匹配的KMP算法截获相关的数据信息,并保存到本机文件中。  关键词:共享式以太网;Visual C++6.0;原始套接字;网络嗅探器;KMP算法    0 引言    随着计算机和网络的普及,单独工作、不需要与其他用户交互的应用程序越
期刊
摘要:阐述了ARP欺骗技术的基本原理,对ARP欺骗造成局域网无法正常通讯的实例进行分析,提出了针对ARP欺骗的多种防范办法。实际应用效果较好。  关键词:ARP;局域网;MAC地址;IP地址;TCP/IP    0 引言    在大型局域网的维护工作中,最近常常发现网络时断时续的现象,而且断网的计算机也不固定。经过多方面的监控和测试,最终确定是时下比较流行的ARP欺骗病毒导致断网。由于这个病毒相当
期刊
摘 要:在课件的开发过程中,如何对学习内容进行导航,是一个必不可少的设计环节。Budmenu.u32函数是基于Windows API开发的Authorware扩展函数,通常用于制作菜单。文章结合作者多年的课件开发实践,从全新的角度介绍了如何利用该函数设计和制作导航菜单,并给出了具体实例。借鉴文章给出的方法,可以比较容易地实现对学习内容的导航,从而提高课件的开发效率和教学效果。  关键词:Auth
期刊
摘要:CORBA的通知服务相对于传统的事件服务,增加了一系列新的特性,对海量教育资源信息的订阅发布提供了更大的灵活性和通用性。文章根据通知服务原理,构建了一个资源订阅系统模型,用户可以订阅感兴趣的信息,事件通知服务负责发布事件,同时将事件分发给感兴趣的订阅者。模型采用事件过滤机制、分组共享、队列优先级设计,提高了事件通知的可靠性。  关键词:事件通知服务;发布/订阅;事件过滤;事件通道    0 
期刊
摘要:为提高网络浏览器缓存系统性能,降低用户等待时间,提出了一种基于性能约束的P2P Web Cache模型。理论分析和模拟测试表明,该模型能够减少连接时间和传输时间。  关键词:缓存系统;性能约束;P2P Web Cache;可升级;存取时间    0 引言    随着网络存取数量的飞速增长,如何提高网络的服务质量已成为研究的热点。传统的基于服务器代理的技术如Squid和Netcache,虽然易
期刊
摘 要:在以Car构件为基础的嵌入式研究领域中,构建面向Web服务的Car构件运行容器一直是研究的热点。文章阐述了面向Web服务的Car构件运行容器的特点,介绍了构件技术以及“和欣”操作系统,讨论了构件化的Web Container的分层设计理念,阐述了在“和欣”操作系统上实现的基于构件的Car Faces系统。该系统充分发挥了构件技术的优势,并具有简单、高效可配置等特点,很好地满足了以Car构件
期刊