移动自组网地址自动分配协议在NS2中的模拟仿真方法技术

技术编号:17444779 阅读:113 留言:0更新日期:2018-03-10 18:27
一种移动自组网地址自动分配协议在NS2中的模拟仿真方法,扩展NS2网络模拟平台,在NS2平台网络中有报文到来时,地址配制代理先于路由协议代理之前获取报文;①若该报文属于地址配制协议报文,则地址配制代理处理完成后将报文丢弃;②若该报文类型为路由代理报文,则地址配制代理先根据地址自动配制协议检测网络中是否存在地址冲突,有冲突则改变IP地址;③其他类型的报文,则直接转给路由代理处理。本发明专利技术中对NS2平台进行了扩展,主要包括在路由代理之前嵌入地址配置代理和在原有GOD类中添加对模拟网络中节点编号和IP地址映射维护,使得其可以支持对网络地址自动分配协议的仿真。

【技术实现步骤摘要】
移动自组网地址自动分配协议在NS2中的模拟仿真方法
本专利技术涉及一种在NS2(NetworkSimulator2)中模拟实现移动自组网地址自动分配的方法。
技术介绍
移动自组网所具有的节点独立、无中心以及动态多跳等特性,使得其在军事应用、个人通信、灾难现场的救援和无线传感器网络等领域应用广泛。目前,移动自组网络的研究热点之一是如何有效地发现路由并建立系统路由表,所提出的协议主要分为主动式(或称表驱动式)、按需式(或称响应式)。表驱动路由协议中节点均维护一张包含到达目的节点路由信息的路由表,并根据网络拓扑的变化实时更新路由表,以尽量准确反映网络的拓扑结构正确路由。在按需驱动路由协议中,节点不需要实时更新维护路由信息,当需要时才查找并更新路由信息。不论采用何种协议,在进行正常的路由通信前,网络中的节点需要首先配置有效的网络层地址,传统的地址配置协议采用的是类似服务器-客户端的结构,由固定的服务器来分配网内节点的地址,然而在移动自组网络中并不存在固定的中心节点来实施地址分配处理,同时,伴随着节点的加入、子网合并等而导致网内节点可能出现地址冲突的问题。因此,需要针对移动自组网络区别于传统无线网络的特点,研究相应的地址配置以及冲突解决的协议与算法。针对预先分配网络地址不适用的场景,近些年来,业界提出了不少可用于移动自组网络的地址自动配置的方案,这些方案可以分为以下三类:1)基于冲突地址检测的分配机制;2)基于节点分层的地址分配机制;3)基于邻居代理的分配机制。还有一些方法难于归类,例如WeakDAD算法等,由于需要修改路由协议,降低了这类方法的实用性。总体而言,设计、分析移动自组网络中的地址分配协议时,主要考察下面几类指标:(1)可靠性:能够保证网络中不出现冲突地址,能够很好适应子网合并、拆分等拓扑变化;(2)时效性:从开始时到完成配置过程所需要的时间尽量短;(3)稳定性:在运行期间不应经常性地改变节点的地址导致正在进行的通信被打断;(4)高效性:在配置过程中占用较少的计算开销及通信开销;(5)地址回收:节点离开网络后,其使用的地址是否能够回收以备后续再次分配。为了分析、验证上述指标,通常需要通过组建实际的网络或者基于模拟仿真平台进行,然而受限于成本、物理等因素,往往无法采用大规模的节点,对于网络的规模以及结果记录存在诸多限制;另一方面网络模拟仿真平台通常是面向传统互联网的,缺乏对该类协议仿真的支持,针对该问题,本文提出通过扩展NS2来实现对自动分配类协议模拟仿真的通用方案。
技术实现思路
本专利技术要解决的技术问题是克服现有技术的不足,提供一种能够解决地址冲突问题的实现移动自组网地址自动分配的方法。为解决上述技术问题,本专利技术提出的技术方案为:一种移动自组网地址自动分配协议在NS2中的模拟仿真方法,扩展NS2网络模拟平台,在NS2平台网络中有报文到来时,地址配制代理先于路由协议代理之前获取报文,并且判断该报文的类型;若该报文属于地址配制协议报文,则地址配制代理处理完成后将报文丢弃;若该报文类型为路由代理报文,则地址配制代理先根据地址自动配制协议检测网络中是否存在地址冲突,有冲突则改变IP地址,再根据协议中处理规则将该报文丢弃或转交给内部引用路由协议代理继续处理;其他类型的报文,则直接转给路由代理处理;在上述方案中,只有当网络中出现地址冲突时,地址自动配置协议代理才去处理、解决地址冲突,否则该代理不动作,对NS2平台中原有模块、组件均无影响。所述扩展NS2网络模拟平台包括在NS2网络中嵌入地址分配代理和扩展GOD类,在NS2平台的路由代理之前嵌入地址配制代理,所述地址配制代理由AddrConfig类实现,包括以下步骤:1)查找NS2网络中节点id所对应的IP地址;2)判断NS2网络中是否有IP地址与报文中的IP地址冲突;当有IP地址冲突时更新节点中的IP地址,并且更新全局地址映射表;3)地址配制代理向更新IP地址的节点发送地址配制报文。NS2中每个节点的IP地址即为节点的id序号,由GOD类(GlobalOperationDirector)记录整个网络的全部节点序号信息,并维护了记录着网络中各节点间最小跳数,此种采用节点id值作为节点的IP能方便对网络行为的模拟,但损失了系统的扩展性,并且,由于id的唯一性且不能动态发生改变,使得在整个模拟实验过程中,节点的IP也相应地不能改变,因此,在现有的NS2平台无法实现网络地址自动配置协议的模拟实验。在平台的路由代理之前嵌入地址配置代理,扩展后的NS2平台结构如图1所示,当报文将先由地址配置代理(AddrConfigAgent)接收,经其处理后再转发给路由代理(RoutingAgent)处理。在本专利技术中,所述AddrConfig中具体提供了以下的实现:运用u_int32_tget_ip(nsaddr_tnode_id)方法查找节点id所对应的IP地址;运用voidset_ip(nsaddr_tid,u_int32_tip)方法更新节点中的IP地址;运用send_packet(Packetconst*p,u_int32_tip)方法向更新IP地址的节点发送地址配制报文运用voidstart_rt_agent()方法启动地址配置代理中所引用的路由协议代理;运用voidstop_rt_agent()方法关闭地址配置代理中所引用的路由协议代理。在AddrConfig类中,有vector<string>commands成员,用于保存系统启动时传给路由代理的参数。当地址配置代理启动所管理的路由代理时,保存在commands中的参数依次传给路由代理中的Agent::command(int,char**)方法,由此正确地初始化路由代理。经过上述的扩展后,基于NS2来进行地址自动配置协议的仿真实验的步骤为:将地址自动配置协议实现类继承为AddrConfig类的子类;重写子类中的recv方法,按照要具体的地址自动配置协议实现相关算法;重写子类方法Agent*alloc_rt_agent()。该方法为地址配置代理初始化一个尚未启动路由功能的路由代理对象,该路由代理对象用来收发路由协议报文,为上层数据报文发现并建立路由。在本专利技术中,所述扩展GOD类具体包括以下内容,在GOD类中添加了u_int32_tip_map[num_nodes]数组来记录网络中各节点的IP地址,AddrConfig代理中的u_int32_tget_ip(nsaddr_t)和voidset_ip(nsaddr_t,u_int32_t)方法维护该数组,保证节点id与IP地址正确对应。与现有技术相比,本专利技术的优点在于:本专利技术中对NS2平台进行了扩展,主要包括在路由代理之前嵌入地址配置代理和在原有GOD类中添加对模拟网络中节点编号和IP地址映射维护,使得其可以支持对网络地址自动分配协议的仿真。附图说明图1为扩展后的NS2平台结构图。图2为实施例一的网络拓扑图。图3为实施例二的网络拓扑图。具体实施方式为了便于理解本专利技术,下文将结合较佳的实施例对本专利技术作更全面、细致地描述,但本专利技术的保护范围并不限于以下具体的实施例。需要特别说明的是,当某一元件被描述为“固定于、固接于、连接于或连通于”另一元件上时,它可本文档来自技高网
...
移动自组网地址自动分配协议在NS2中的模拟仿真方法

【技术保护点】
一种移动自组网地址自动分配协议在NS2中的模拟仿真方法,其特征在于:扩展NS2网络模拟平台,在NS2平台网络中有报文到来时,地址配制代理先于路由协议代理之前获取报文,并且判断该报文的类型;

【技术特征摘要】
1.一种移动自组网地址自动分配协议在NS2中的模拟仿真方法,其特征在于:扩展NS2网络模拟平台,在NS2平台网络中有报文到来时,地址配制代理先于路由协议代理之前获取报文,并且判断该报文的类型;若该报文属于地址配制协议报文,则地址配制代理处理完成后将报文丢弃;若该报文类型为路由代理报文,则地址配制代理先根据地址自动配制协议检测网络中是否存在地址冲突,有冲突则改变IP地址,再根据协议中处理规则将该报文丢弃或转交给内部引用路由协议代理继续处理;其他类型的报文,则直接转给路由代理处理;所述扩展NS2网络模拟平台包括在NS2网络中嵌入地址分配代理和扩展GOD类,在NS2平台的路由代理之前嵌入地址配制代理,所述地址配制代理由AddrConfig类实现,包括以下步骤:1)查找NS2网络中节点id所对应的IP地址;2)判断NS2网络中是否有IP地址与报文中的IP地址冲突;当有IP地址冲突时更新节点中的IP地址,并且更新全局地址映射表;3)地址配制代理向更新IP地址的节点发送地址配制报文。2.根据权利要求1所述的移动自组网地址自动分配协议在NS2中的模拟仿真方法,其特...

【专利技术属性】
技术研发人员:蒋湘涛彭小芳辛动军周欣高文斌
申请(专利权)人:中南林业科技大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1