一种移动自组网络地址自动配置的实现方法

文档序号:7813514阅读:242来源:国知局
专利名称:一种移动自组网络地址自动配置的实现方法
技术领域
本发明涉及一种地址自动配置的实现方法,尤其涉及的是一种移动自组网络地址自动配置的实现方法。
背景技术
移动自组网络中的节点之间通信通过中间节点的转发和路由来实现,因此,每个节点必须配有具有唯一性的地址来实现通信,因此,实现自动自组网络需要解决的关键技术之一就是地址自动配置问题。目前的地址配置分为有状态地址配置和无状态地址配置两种形式,有状态地址配置方案采用服务器/客户端的通信方式分配地址,即节点向服务器提出申请地址的请求, 然后由服务器统一为网络内的节点分配地址。由于移动自组网没有任何基础设施,例如服务器,因此,有状态地址配置方案无法应用到移动自组网中。在无状态地址配置方案中,每个被分配的地址都需要在整个网络中进行重复地址检测以确保它的唯一性,导致了大量的控制包开销,消耗了大量的网络资源,因此也不适用于移动自组网使用。因此针对移动自组网络需要建立一种低开销的地址自动配置方案。

发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种移动自组网络地址自动配置的实现方法。技术方案本发明公开了一种移动自组网络地址自动配置的实现方法,将移动自组网络分成多个子网,子网由子网ID唯一标识,子网ID值通过随机函数随机生成,一个子网的地址空间为[Odi-ILi取值为自然数;—个子网由多个节点构成,节点间直接通信或者通过中间节点进行间接通信,每个节点由一个节点ID标识,节点ID由i比特构成,在子网内具有唯一性;节点的状态包括已配置状态和未配置状态,已配置状态节点已经配置节点ID,未配置状态节点没有配置节点ID ;子网内所有节点构建为一个树状结构,树状结构中每个节点将自己可分配地址空间平均划分为N等份,分别分配给N个子节点使用;将树状结构中每个节点保存一个子节点记录表,表中每条表项包括四个域子节点值k,0彡k彡N-I,子节点状态,可分配地址空间上限值及可分配地址空间下限值,其中, 子节点状态包括未分配状态和已分配状态,N取值为自然数;未分配状态指子节点值没有分配,已分配状态指子节点值已经分配;已配置状态节点定期广播所在子网ID以及未分配子节点总数。通过树状结构,已配置节点可获取具有唯一性的地址空间,未配置状态的节点通过一跳范围内的已配置状态节点获取具有唯一性的地址,无需进行地址重复检测,因此降低了地址配置代价,缩短了地址配置时间。所述树状结构可有效地回收地址资源已确保已配置状态节点一直具有足够的地址空间分配给为配置状态的节点,提高了地址配置成功率。本发明所述方法中,当一个节点加入移动自组网络后,它的初始状态为未配置状态,如果它在设定时间内没有收到任何已配置状态节点广播的子网ID以及未分配子节点总数,则执行如下步骤;步骤301:开始;步骤302 未配置状态节点广播建立树消息,消息负载为时间戳以及随机产生的子网ID ;步骤303 邻居节点收到建立树消息后,保存此消息,在设定时间后,邻居节点对比收到的所有建立树消息的优先级,包括自己发送的建立树消息;步骤304 判断邻居节点自己发送的建立树消息是否为仅有的优先级最高的消息,如果是,进行步骤305,否则进行步骤306 ;步骤305 邻居节点将自己标识为根节点,进行步骤314 ;步骤306 邻居节点转发优先级最高的消息;步骤307 邻居节点收到的消息中是否仅有一个消息的优先级最高,如果是,则进行步骤308,否则进行步骤309 ;步骤308 邻居节点将转发优先级最高的消息的节点作为父节点;步骤309 邻居节点转发优先级最高的消息;步骤310 在设定时间内,判断未配置状态节点是否收到多个优先级最高的树建立消息,如果是,则进行步骤311,否则进行步骤312 ;步骤311 未配置状态节点等待随机时间再次发送树建立消息,进行步骤315 ;步骤312 未配置状态节点自己发送的建立树消息是否为仅有的优先级最高的消息,如果是,则进行步骤313,否则进行步骤314 ;步骤313 未配置状态节点将自己标识为根节点,进行步骤315 ;步骤314 未配置状态节点加入以邻居节点为根节点的树状结构;步骤315:结束。通过上述过程,未配置状态节点形成树状结构,并通过树状结构获取具有唯一性的地址。上述过程中,消息的传输控制在一跳范围内,降低了地址配置代价,缩短了地址配置延迟,增强了网络扩展性。本发明所述方法中,如果一个建立树消息T的时间戳比另外一个建立树消息T’的时间戳早,则树消息T的优先级高于树消息T’ ;如果树消息T的时间戳与树消息T’的时间戳相同,则比较消息中的子网ID,如果树消息T的子网ID小于树消息T’中的子网ID,则树消息T的优先级高于树消息T’ ;如果树消息T的时间戳和子网ID与树消息T’的时间戳及子网ID相同,则树消息T的优先级等于树消息T’。本发明所述方法中,根节点获取节点ID后,根节点在一跳范围内广播子网ID及未分配子节点总数,开始对树状结构进行初始化,树状结构中的未配置状态节点通过树状结构初始化过程获取节点ID,树状结构的初始化过程描述如下步骤401:开始;步骤402 未配置状态节点收到父节点的广播消息后,判断消息中未分配子节点
7总数不为0,如果是,则进行步骤403,否则进行步骤404 ;步骤403 未配置状态节点等待随机时间重新选择父节点获取节点ID,进行步骤 412 ;步骤404 未配置状态节点向父节点发送地址请求消息;步骤405 父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;步骤406 未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时再将可分配地址空间[a+l,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点可分配地址空间的上限和可分配地址空间的下限, 如果子节点值为k,0彡k彡N-1,那么子节点的地址分配空间为
Γ , k(b-a) (k + \)(b-a)Γ α + 1 + —-- α + ----- 1;
L N」L N 」步骤407 未配置状态节点判断子节点的可分配地址空间的上限是否小于可分配地址空间的下限,如果是,进行步骤408,否则进行步骤409 ;步骤408 未配置状态节点将对应子节点的分配状态设置为未分配状态,进行步骤 410 ;步骤409 未配置状态节点将对应子节点的分配状态设置为已分配状态;步骤410 未配置状态节点将自己标识为已配置状态节点,并广播子网ID和未分配子节点总数;步骤411 已配置状态节点的子节点收到广播后,重复步骤402 步骤410获取节点ID,直到树状结构中所有节点获取节点ID ;步骤412:结束。在上述过程中,每个已配置节点具有唯一性的地址资源,都有权利为其它未配置状态的节点分配具有唯一性的地址,因此,地址配置任务由所有已配置状态节点共同完成, 未配置状态的节点通过一跳范围内的已配置状态节点获取具有唯一性的地址,无需进行地址重复检测,实现了负载均衡,提高了地址配置效率。本发明所述方法中,树状结构初始化后,新加入移动自组网络的未配置状态节点或者在初始化过程中没有获取节点ID的未配置状态节点等待随机时间,直到收到多个已配置状态节点广播的子网ID及未分配子节点总数,所述节点选择可供分配子节点总数最大的节点作为父节点,并执行以下步骤获取节点ID 步骤501:开始;步骤502 未配置状态节点向父节点发送地址请求消息;步骤503 父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配状态的子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;步骤504 未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自
8己的节点ID,同时再将可分配地址空间[a+1,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点的可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0彡k彡N-1,那么子节点的地址分配空间为
权利要求
1.一种移动自组网络地址自动配置的实现方法,其特征在于,将所述移动自组网络分成多个子网,子网由子网ID唯一标识,子网ID值通过随机函数随机生成,一个子网的地址空间为Wdi-ILi取值为自然数;一个子网由多个节点构成,节点间直接通信或者通过中间节点进行间接通信,每个节点由一个节点ID标识,节点ID长度为i比特,在子网内具有唯一性;节点的状态包括已配置状态和未配置状态,已配置状态节点已经配置节点ID,未配置状态节点没有配置节点 ID ;子网内所有节点构建为一个树状结构,树状结构中每个节点将自己的可分配地址空间平均划分为N等份,分别分配给本节点的N个子节点使用,N取值为自然数;树状结构中每个节点保存一个子节点记录表,子节点记录表中每条表项包括四个域 子节点值k,其中0彡k彡N-I,子节点状态,可分配地址空间上限值及可分配地址空间下限值;子节点状态包括未分配状态和已分配状态,未分配状态指子节点值没有分配,已分配状态指子节点值已经分配;已配置状态节点定期广播所在子网ID以及本节点的未分配子节点总数。
2.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 当一个节点Y加入移动自组网络后,它的初始状态为未配置状态,如果它在设定时间内没有收到任何已配置状态节点的广播,则执行如下步骤;步骤301 开始;步骤302 节点Y广播建立树消息,消息负载为时间戳以及随机产生的子网ID ; 步骤303 邻居节点收到建立树消息后,保存此消息,在设定时间后,邻居节点对比收到的所有建立树消息的优先级,包括自己发送的建立树消息;步骤304 邻居节点判断自己发送的建立树消息是否为仅有的优先级最高的消息,如果是,进行步骤305,否则进行步骤306 ;步骤305 邻居节点将自己标识为根节点,进行步骤314 ; 步骤306 邻居节点转发优先级最高的消息;步骤307 邻居节点判断收到的消息中是否仅有一个消息的优先级最高,如果是,则进行步骤308,否则进行步骤309 ;步骤308 邻居节点将转发优先级最高的消息的节点作为父节点; 步骤309 邻居节点转发优先级最高的消息;步骤310 在设定时间内,判断节点Y是否收到多个优先级最高的树建立消息,如果是, 则进行步骤311,否则进行步骤312 ;步骤311 节点Y等待随机时间再次发送树建立消息,进行步骤315 ; 步骤312 判断节点Y自己发送的建立树消息是否为仅有的优先级最高的消息,如果是,则进行步骤313,否则进行步骤314 ;步骤313 节点Y将自己标识为根节点,进行步骤315 ; 步骤314 节点Y加入以邻居节点为根节点的树状结构; 步骤315 结束。
3.根据权利要求2所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 如果一个建立树消息T的时间戳比另外一个建立树消息T’的时间戳早,则树消息T的优先级高于树消息T’ ;如果树消息τ的时间戳与树消息T’的时间戳相同,则比较消息中的子网ID,如果树消息T的子网ID小于树消息T’中的子网ID,则树消息T的优先级高于树消息T’ ;如果树消息T的时间戳和子网ID与树消息T’的时间戳及子网ID相同,则树消息T的优先级等于树消息T’。
4.根据权利要求2所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 根节点获取节点ID后,根节点在一跳范围内广播子网ID及未分配子节点总数,并对树状结构进行初始化,树状结构中的未配置状态节点通过树状结构初始化获取节点ID,包括如下步骤步骤401:开始;步骤402 未配置状态节点收到父节点的广播消息后,判断消息中未分配子节点总数是否不为0,如果是,则进行步骤403,否则进行步骤404 ;步骤403 未配置状态节点等待随机时间重新选择父节点获取节点ID,进行步骤412 ; 步骤404 未配置状态节点向父节点发送地址请求消息;步骤405 父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息, 其负载为子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;步骤406 未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时将可分配地址空间[a+l,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0彡k彡N-1,那么子节点的地址分配空间为
5.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 树状结构初始化后,新加入移动自组网络的未配置状态节点或者在初始化过程中没有获取节点ID的未配置状态节点等待随机时间,直到收到多个已配置状态节点的广播,所述未配置状态节点选择可供分配子节点总数最大的节点作为父节点,并执行以下步骤获取节点 ID 步骤501:开始;步骤502 未配置状态节点向父节点发送地址请求消息;步骤503 父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配状态的子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;步骤504 未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时再将可分配地址空间[a+l,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点的可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0彡k彡N-1,那么子节点的地址分配空间为
6.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 已配置状态节点获取节点ID后,它定期向父节点发送更新消息以示自己处于正常状态,父节点收到子节点的更新消息后,向子节点回复更新响应消息以示自己处于正常工作。在规定时间内,如果父节点没有收到子节点的更新消息,它则认为子节点失效或者脱离了当前的子网,并将子节点对应的子节点记录表中的状态设置为未分配状态。在规定时间内,如果子节点没有收到父节点的更新响应消息,它则认为父节点消失或者脱离了当前的子网,将自己表示为未配置状态节点,重新选择父节点获取节点ID。
7.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 已配置状态节点X收到已配置状态节点X’广播的子网ID后,在下述两种情况下执行子网合并操作1)已配置状态节点X与已配置状态节点X’的子网ID不同;2)已配置状态节点 X与已配置状态节点X’的子网ID以及节点ID相同。
8.根据权利要求7所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 已配置状态节点X所在子网A与已配置状态节点V所在子网B的合并包括如下步骤步骤701 开始;步骤702 已配置状态节点X向所在树状结构根节点R发送合并检测消息,消息负载为子网B的子网ID ;步骤703 根节点R收到合并检测消息后,向子网B的根节点R’发送合并消息,消息负载为子网A的子网ID、分配的子节点值k,可分配地址空间的上限b和可分配地址空间的下限a;步骤704 根节点R’收到合并消息后,将根节点R作为父节点,向父节点返回合并响应消息,同时将可分配地址空间的下限a作为新的节点ID,并利用可分配地址空间下限a+Ι和可分配地址空间的上限b重新调整子节点列表中每个子节点对应的可分配地址空间上限和可分配地址空间下限,根节点R’成为合并后子网A根节点R的子节点,即节点R’ ;步骤705 节点R’判断列表中每个表项的状态域是否为已分配状态,如果是,进行步骤 706,否则进行步骤708;步骤706 节点R’向相应子节点发送一条地址更新消息,消息负载为调整后的可分配地址空间上限和可分配地址空间下限,以及子网A的子网ID ;步骤707 节点R’的子节点收到地址更新消息后,更新自己的节点ID及对应的可分配地址空间上限和可分配地址空间下限,利用更新后的可分配地址空间上限和可分配地址空间下限调整子节点列表中每一项子节点对应的可分配地址空间上限和可分配地址空间下限;同时向已分配状态的子节点发送一条地址更新消息,消息负载为调整后的可分配地址空间上限和可分配地址空间下限,以及子网A的子网ID ;节点R’的子节点收到地址更新消息后,重复本步骤直到子网B中所有节点的节点ID 及对应的可分配地址空间上限和可分配地址空间下限都进行了相应的更新;步骤708 根节点R收到合并响应消息后,将子节点值为k的子节点的状态设置为已分配状态;步骤709 子网A和子网B合并成功,合并后的子网ID为子网A的子网ID ; 步骤710 结束;其中,如果根节点R收到多个合并消息,它只回复收到的第一个合并消息。
9.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于, 在设定时间内,如果一个已配置状态节点没有收到父节点返回的更新响应消息,它则将自己重新标识为未配置状态节点;在设定时间内,如果一个未配置状态节点没有收到任何已配置状态节点广播的网络 ID,它则开始建立树状结构,并通过树状结构重新获取子网ID和节点ID。
全文摘要
本发明提供了一种移动自组网络地址自动配置的实现方法,所述移动自组网络由多个子网组成,子网由子网ID唯一标识。一个子网由多个节点构成,节点间直接通信或者通过中间节点进行间接通信,每个节点由一个节点ID标识,在子网内具有唯一性;节点的状态包括已配置状态和未配置状态,已配置状态节点已经配置节点ID,未配置状态节点没有配置节点ID。子网内所有节点构建为一个树状结构,树状结构中每个节点将自己可分配地址空间平均划分为N等份,分别分配给N个子节点使用。节点通过树状结构获取具有唯一性的地址。
文档编号H04W8/26GK102364970SQ20111038586
公开日2012年2月29日 申请日期2011年11月29日 优先权日2011年11月29日
发明者王晓喃 申请人:常熟理工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1