CN102364970B - 一种移动自组网络地址自动配置的实现方法 - Google Patents
一种移动自组网络地址自动配置的实现方法 Download PDFInfo
- Publication number
- CN102364970B CN102364970B CN 201110385862 CN201110385862A CN102364970B CN 102364970 B CN102364970 B CN 102364970B CN 201110385862 CN201110385862 CN 201110385862 CN 201110385862 A CN201110385862 A CN 201110385862A CN 102364970 B CN102364970 B CN 102364970B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- subnet
- configuration status
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种移动自组网络地址自动配置的实现方法,所述移动自组网络由多个子网组成,子网由子网ID唯一标识。一个子网由多个节点构成,节点间直接通信或者通过中间节点进行间接通信,每个节点由一个节点ID标识,在子网内具有唯一性;节点的状态包括已配置状态和未配置状态,已配置状态节点已经配置节点ID,未配置状态节点没有配置节点ID。子网内所有节点构建为一个树状结构,树状结构中每个节点将自己可分配地址空间平均划分为N等份,分别分配给N个子节点使用。节点通过树状结构获取具有唯一性的地址。
Description
技术领域
本发明涉及一种地址自动配置的实现方法,尤其涉及的是一种移动自组网络地址自动配置的实现方法。
背景技术
移动自组网络中的节点之间通信通过中间节点的转发和路由来实现,因此,每个节点必须配有具有唯一性的地址来实现通信,因此,实现自动自组网络需要解决的关键技术之一就是地址自动配置问题。
目前的地址配置分为有状态地址配置和无状态地址配置两种形式,有状态地址配置方案采用服务器/客户端的通信方式分配地址,即节点向服务器提出申请地址的请求,然后由服务器统一为网络内的节点分配地址。由于移动自组网没有任何基础设施,例如服务器,因此,有状态地址配置方案无法应用到移动自组网中。在无状态地址配置方案中,每个被分配的地址都需要在整个网络中进行重复地址检测以确保它的唯一性,导致了大量的控制包开销,消耗了大量的网络资源,因此也不适用于移动自组网使用。
因此针对移动自组网络需要建立一种低开销的地址自动配置方案。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种移动自组网络地址自动配置的实现方法。
技术方案:本发明公开了一种移动自组网络地址自动配置的实现方法,将移动自组网络分成多个子网,子网由子网ID唯一标识,子网ID值通过随机函数随机生成,一个子网的地址空间为[0,2i-1],i取值为自然数;
一个子网由多个节点构成,节点间直接通信或者通过中间节点进行间接通信,每个节点由一个节点ID标识,节点ID由i比特构成,在子网内具有唯一性;节点的状态包括已配置状态和未配置状态,已配置状态节点已经配置节点ID,未配置状态节点没有配置节点ID;
子网内所有节点构建为一个树状结构,树状结构中每个节点将自己可分配地址空间平均划分为N等份,分别分配给N个子节点使用;
将树状结构中每个节点保存一个子节点记录表,表中每条表项包括四个域:子节点值k,0≤k≤N-1,子节点状态,可分配地址空间上限值及可分配地址空间下限值,其中,子节点状态包括未分配状态和已分配状态,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:未配置状态节点收到父节点的广播消息后,判断消息中未分配子节点总数不为0,如果是,则进行步骤403,否则进行步骤404;
步骤403:未配置状态节点等待随机时间重新选择父节点获取节点ID,进行步骤412;
步骤404:未配置状态节点向父节点发送地址请求消息;
步骤405:父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为:子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;
步骤406:未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时再将可分配地址空间[a+1,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0≤k≤N-1,那么子节点的地址分配空间为:
步骤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作为自己的节点ID,同时再将可分配地址空间[a+1,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点的可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0≤k≤N-1,那么子节点的地址分配空间为:
步骤505:未配置状态节点判断子节点的可分配地址空间的上限是否小于可分配地址空间的下限,如果是,进行步骤506,否则进行步骤507;
步骤506:未配置状态节点将对应子节点的分配状态设置为未分配状态,进行步骤508;
步骤507:未配置状态节点将对应子节点的分配状态设置为已分配状态;
步骤508:未配置状态节点将自己标识为已配置状态节点,并广播子网ID和未分配子节点总数;
步骤509:结束。
通过上述过程,未配置状态节点通过加入树状结构获取具有唯一性的地址。每个已配置节点具有唯一性的地址资源,都有权利为其它未配置状态的节点分配具有唯一性的地址,因此,地址配置任务由所有已配置状态节点共同完成,未配置状态的节点通过一跳范围内的已配置状态节点获取具有唯一性的地址,无需进行地址重复检测,实现了负载均衡,提高了地址配置效率。
本发明所述方法中,已配置状态节点获取节点ID后,它定期向父节点发送更新消息以示自己处于正常状态,父节点收到子节点的更新消息后,向子节点回复更新响应消息以示自己处于正常工作。在规定时间内,如果父节点没有收到子节点的更新消息,它则认为子节点失效或者脱离了当前的子网,并将子节点对应的子节点记录表中的状态设置为未分配状态。在规定时间内,如果子节点没有收到父节点的更新响应消息,它则认为父节点消失或者脱离了当前的子网,将自己表示为未配置状态节点,重新选择父节点获取节点ID。
本发明所述方法中,已配置状态节点X收到已配置状态节点X’广播的子网ID后,在下述两种情况下执行子网合并操作:1)节点X与节点X’的子网ID不同;2)节点X与节点X’的子网ID以及节点ID相同。
本发明所述方法中,已配置状态节点X所在子网A与节点X’所在子网B的合并操作描述如下:
步骤701:开始;
步骤702:已配置状态节点X向所在树状结构根节点R发送合并检测消息,消息负载为子网B的子网ID;
步骤703:节点R收到合并检测消息后,向子网B的根节点R’发送合并消息,消息负载为:子网A的子网ID、分配的子节点值k,可分配地址空间的上限b和可分配地址空间的下限a;
步骤704:节点R’收到合并消息后,将节点R作为父节点,向父节点返回合并响应消息,同时将可分配地址空间的下限a作为新的节点ID,并利用可分配地址空间下限a+1和可分配地址空间的上限b重新调整子节点列表中每个子节点对应的可分配地址空间上限和可分配地址空间下限;
步骤705:节点R’判断列表中每个表项的状态域是否为已分配状态,如果是,进行步骤706,否则进行步骤708;
步骤706:节点R’向相应子节点发送一条地址更新消息,消息负载为调整后的可分配地址空间上限和可分配地址空间下限,以及子网A的子网ID;
步骤707:子节点收到地址更新消息后,更新自己的节点ID及对应的可分配地址空间上限和可分配地址空间下限,利用更新后的可分配地址空间上限和可分配地址空间下限调整子节点列表中每一项子节点对应的可分配地址空间上限和可分配地址空间下限;同时向已分配状态的子节点发送一条地址更新消息,消息负载为调整后的可分配地址空间上限和可分配地址空间下限,以及子网A的子网ID;子节点收到地址更新消息后,重复本步骤直到子网B中所有节点的节点ID及对应的可分配地址空间上限和可分配地址空间下限都进行了相应的更新;
步骤708:节点R收到合并响应消息后,将子节点值为k的子节点的状态设置为已分配状态;
步骤709:子网A和子网B合并成功,合并后的子网ID为子网A的子网ID;
步骤710:结束;
其中,如果节点R收到多个合并消息,它只回复收到的第一个合并消息。
通过上述合并过程,可以确保合并后的子网中节点地址的唯一性,实现了通信的正确性和路由的正确性。
本发明所述方法中,在设定时间内,如果一个已配置状态节点没有收到父节点返回的更新响应消息,它则将自己重新标识为未配置状态节点;在设定时间内,如果一个未配置状态节点没有收到任何已配置状态节点广播的网络ID,它则开始建立树状结构,并通过树状结构重新获取子网ID和节点ID。
有益效果:本发明提供了一种移动自组网络地址自动配置的实现方法,由于移动自组网和传统网络结构(例如互联网)不同,例如:移动自组网节点同时具有主机和路由器两个身份,因此目前传统网络中的地址配置方案无法在移动自组网络中实施,迫切需要一种适合移动自组网络使用的地址配置方案。在本发明中,每个移动自组网节点都可以为其它节点分配地址,同时无需地址重复检测即可保证地址的唯一性,这是现有技术无法实现的。所述移动自组网络中的每个节点通过本发明所提供的地址自动配置的实现方法,可拥有具有唯一性的地址,彼此之间实现通信。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的移动自组网络拓扑结构示意图。
图2为本发明所述子节点记录表项结构示意图。
图3为本发明所述的树状结构建立流程示意图。
图4为本发明所述树状结构初始化流程示意图。
图5为本发明所述节点获取节点ID流程示意图。
图6为本发明所述子网合并流程示意图。
具体实施方式:
本发明提供了一种移动自组网络地址自动配置的实现方法,在所述方法中,移动自组网络中的每个节点可获取具有唯一性的地址,节点之间通过地址实现彼此的通信。
图1为本发明所述的移动自组网络拓扑结构示意图。所述移动自组网络1由多个子网2组成,子网2由子网ID唯一标识,其值通过随机函数随机生成,一个子网的地址空间为[0,2i-1],i取值为自然数;
一个子网由多个节点3构成,节点3间直接通信或者通过中间节点进行间接通信,每个节点由一个节点ID标识,节点ID由i比特构成,在子网内具有唯一性;节点的状态包括已配置状态和未配置状态,已配置状态节点已经配置节点ID,未配置状态节点没有配置节点ID;
子网内所有节点构建为一个树状结构4,树状结构4中每个节点将自己可分配地址空间平均划分为N等份,分别分配给N个子节点使用。
图2为本发明所述子节点记录表项结构示意图。树状结构中每个节点保存一个子节点记录表,表中每条表项包括四个域:子节点值k,0≤k≤N-1,子节点状态,可分配地址空间上限值及可分配地址空间下限值,其中,子节点状态包括未分配状态和已分配状态,N取值为自然数;未分配状态指子节点值没有分配,已分配状态指子节点值已经分配;已配置状态节点定期广播所在子网ID以及未分配子节点总数。
图3为本发明所述的树状结构建立流程示意图。当一个节点加入移动自组网络后,它的初始状态为未配置状态,如果它在设定时间内没有收到任何已配置状态节点广播的子网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;
步骤315:结束。
通过上述过程,未配置状态节点形成树状结构,并通过树状结构获取具有唯一性的地址。
如果一个建立树消息T的时间戳比另外一个建立树消息T’的时间戳早,则树消息T的优先级高于树消息T’;如果树消息T的时间戳与树消息T’的时间戳相同,则比较消息中的子网ID,如果树消息T的子网ID小于树消息T’中的子网ID,则树消息T的优先级高于树消息T’;如果树消息T的时间戳和子网ID与树消息T’的时间戳及子网ID相同,则树消息T的优先级等于树消息T’。
图4为本发明所述树状结构初始化流程示意图。根节点获取节点ID后,根节点在一跳范围内广播子网ID及未分配子节点总数,开始对树状结构进行初始化,树状结构中的未配置状态节点通过树状结构初始化过程获取节点ID,树状结构的初始化过程描述如下:
步骤401:开始;
步骤402:未配置状态节点收到父节点的广播消息后,判断消息中未分配子节点总数不为0,如果是,则进行步骤403,否则进行步骤404;
步骤403:未配置状态节点等待随机时间重新选择父节点获取节点ID,进行步骤412;
步骤404:未配置状态节点向父节点发送地址请求消息;
步骤405:父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为:子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;
步骤406:未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时再将可分配地址空间[a+1,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0≤k≤N-1,那么子节点的地址分配空间为:
步骤407:未配置状态节点判断子节点的可分配地址空间的上限是否小于可分配地址空间的下限,如果是,进行步骤408,否则进行步骤409;
步骤408:未配置状态节点将对应子节点的分配状态设置为未分配状态,进行步骤410;
步骤409:未配置状态节点将对应子节点的分配状态设置为已分配状态;
步骤410:未配置状态节点将自己标识为已配置状态节点,并广播子网ID和未分配子节点总数;
步骤411:已配置状态节点的子节点收到广播后,重复步骤402~步骤410获取节点ID,直到树状结构中所有节点获取节点ID;
步骤412:结束。
通过上述过程,树状结构中的节点获取具有唯一性的地址。
图5为本发明所述节点获取节点ID流程示意图。树状结构初始化后,新加入移动自组网络的未配置状态节点或者在初始化过程中没有获取节点ID的未配置状态节点等待随机时间,直到收到多个已配置状态节点广播的子网ID及未分配子节点总数,所述节点选择可供分配子节点总数最大的节点作为父节点,并执行以下步骤获取节点ID:
步骤501:开始;
步骤502:未配置状态节点向父节点发送地址请求消息;
步骤503:父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配状态的子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为:子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;
步骤504:未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时再将可分配地址空间[a+1,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点的可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0≤k≤N-1,那么子节点的地址分配空间为:
步骤505:未配置状态节点判断子节点的可分配地址空间的上限是否小于可分配地址空间的下限,如果是,进行步骤506,否则进行步骤507;
步骤506:未配置状态节点将对应子节点的分配状态设置为未分配状态,进行步骤508;
步骤507:未配置状态节点将对应子节点的分配状态设置为已分配状态;
步骤508:未配置状态节点将自己标识为已配置状态节点,并广播子网ID和未分配子节点总数;
步骤509:结束。
通过上述过程,未配置状态节点通过加入树状结构获取具有唯一性的地址。
已配置状态节点获取节点ID后,它定期向父节点发送更新消息以示自己处于正常状态,父节点收到子节点的更新消息后,向子节点回复更新响应消息以示自己处于正常工作。在规定时间内,如果父节点没有收到子节点的更新消息,它则认为子节点失效或者脱离了当前的子网,并将子节点对应的子节点记录表中的状态设置为未分配状态。在规定时间内,如果子节点没有收到父节点的更新响应消息,它则认为父节点消失或者脱离了当前的子网,将自己表示为未配置状态节点,重新选择父节点获取节点ID。
图6为本发明所述子网合并流程示意图。已配置状态节点X所在子网A与节点X’所在子网B的合并操作描述如下:
步骤701:开始;
步骤702:已配置状态节点X向所在树状结构根节点R发送合并检测消息,消息负载为子网B的子网ID;
步骤703:节点R收到合并检测消息后,向子网B的根节点R’发送合并消息,消息负载为:子网A的子网ID、分配的子节点值k,可分配地址空间的上限b和可分配地址空间的下限a;
步骤704:节点R’收到合并消息后,将节点R作为父节点,向父节点返回合并响应消息,同时将可分配地址空间的下限a作为新的节点ID,并利用可分配地址空间下限a+1和可分配地址空间的上限b重新调整子节点列表中每个子节点对应的可分配地址空间上限和可分配地址空间下限;
步骤705:节点R’判断列表中每个表项的状态域是否为已分配状态,如果是,进行步骤706,否则进行步骤708;
步骤706:节点R’向相应子节点发送一条地址更新消息,消息负载为调整后的可分配地址空间上限和可分配地址空间下限,以及子网A的子网ID;
步骤707:子节点收到地址更新消息后,更新自己的节点ID及对应的可分配地址空间上限和可分配地址空间下限,利用更新后的可分配地址空间上限和可分配地址空间下限调整子节点列表中每一项子节点对应的可分配地址空间上限和可分配地址空间下限;同时向已分配状态的子节点发送一条地址更新消息,消息负载为调整后的可分配地址空间上限和可分配地址空间下限,以及子网A的子网ID;子节点收到地址更新消息后,重复本步骤直到子网B中所有节点的节点ID及对应的可分配地址空间上限和可分配地址空间下限都进行了相应的更新;
步骤708:节点R收到合并响应消息后,将子节点值为k的子节点的状态设置为已分配状态;
步骤709:子网A和子网B合并成功,合并后的子网ID为子网A的子网ID;
步骤710:结束;
其中,如果节点R收到多个合并消息,它只回复收到的第一个合并消息。
在设定时间内,如果一个已配置状态节点没有收到父节点返回的更新响应消息,它则将自己重新标识为未配置状态节点;在设定时间内,如果一个未配置状态节点没有收到任何已配置状态节点广播的网络ID,它则开始建立树状结构,并通过树状结构重新获取子网ID和节点ID。
综上所述,本发明提供的移动自组网络地址自动配置的实现方法,此项技术可以应用于车载监控、医疗健康、军事国防等诸多领域,例如,在车载监控领域,可将移动自组网络地址自动配置技术应用于道路拥塞监控,每台车辆为一个移动自组网节点,它们配置地址后,可以进行信息通信,传输道路交通情况,以有效避免道路拥塞,保持交通畅通,因此,本技术具有很高的推广价值。
本发明提供了一种移动自组网络地址自动配置的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (8)
1.一种移动自组网络地址自动配置的实现方法,其特征在于,将所述移动自组网络分成多个子网,子网由子网ID唯一标识,子网ID值通过随机函数随机生成,一个子网的地址空间为[0,2i-1],i取值为自然数;
一个子网由多个节点构成,节点间直接通信或者通过中间节点进行间接通信,每个节点由一个节点ID标识,节点ID长度为i比特,在子网内具有唯一性;节点的状态包括已配置状态和未配置状态,已配置状态节点已经配置节点ID,未配置状态节点没有配置节点ID;
子网内所有节点构建为一个树状结构,树状结构中每个节点将自己的可分配地址空间平均划分为N等份,分别分配给本节点的N个子节点使用,N取值为自然数;
树状结构中每个节点保存一个子节点记录表,子节点记录表中每条表项包括四个域:子节点值k,其中0≤k≤N-1,子节点状态,可分配地址空间上限值及可分配地址空间下限值;子节点状态包括未分配状态和已分配状态,未分配状态指子节点值没有分配,已分配状态指子节点值已经分配;
已配置状态节点定期广播所在子网ID以及本节点的未分配子节点总数;
当一个节点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:结束。
2.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于,如果一个建立树消息T的时间戳比另外一个建立树消息T’的时间戳早,则树消息T的优先级高于树消息T’;
如果树消息T的时间戳与树消息T’的时间戳相同,则比较消息中的子网ID,如果树消息T的子网ID小于树消息T’中的子网ID,则树消息T的优先级高于树消息T’;
如果树消息T的时间戳和子网ID与树消息T’的时间戳及子网ID相同,则树消息T的优先级等于树消息T’。
3.根据权利要求2所述的一种移动自组网络地址自动配置的实现方法,其特征在于,根节点获取节点ID后,根节点在一跳范围内广播子网ID及未分配子节点总数,并对树状结构进行初始化,树状结构中的未配置状态节点通过树状结构初始化获取节点ID,包括如下步骤:
步骤401:开始;
步骤402:未配置状态节点收到父节点的广播消息后,判断消息中未分配子节点总数是否不为0,如果是,则进行步骤403,否则进行步骤404;
步骤403:未配置状态节点等待随机时间重新选择父节点获取节点ID,进行步骤412;
步骤404:未配置状态节点向父节点发送地址请求消息;
步骤405:父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为:子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;
步骤406:未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时将可分配地址空间[a+1,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0≤k≤N-1,那么子节点的地址分配空间为:
步骤407:未配置状态节点判断子节点的可分配地址空间的上限是否小于可分配地址空间的下限,如果是,进行步骤408,否则进行步骤409;
步骤408:未配置状态节点将对应子节点的分配状态设置为未分配状态,进行步骤410;
步骤409:未配置状态节点将对应子节点的分配状态设置为已分配状态;
步骤410:未配置状态节点将自己标识为已配置状态节点,并广播子网ID和本节点的未分配子节点总数;
步骤411:已配置状态节点的子节点收到广播后,重复步骤402~步骤410获取节点ID,直到树状结构中所有节点获取节点ID;
步骤412:结束。
4.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于,树状结构初始化后,新加入移动自组网络的未配置状态节点或者在初始化过程中没有获取节点ID的未配置状态节点等待随机时间,直到收到多个已配置状态节点的广播,所述未配置状态节点选择可供分配子节点总数最大的节点作为父节点,并执行以下步骤获取节点ID:
步骤501:开始;
步骤502:未配置状态节点向父节点发送地址请求消息;
步骤503:父节点收到未配置状态节点发送的地址请求消息后,查看子节点记录表,选择最小未分配状态的子节点值对应的子节点记录,并向未配置状态节点返回一个地址响应消息,其负载为:子节点值k、可分配地址空间上限b和可分配地址空间下限a,同时将此子节点状态标识为已分配状态;
步骤504:未配置状态节点收到地址响应消息后,将可分配地址空间下限a作为自己的节点ID,同时再将可分配地址空间[a+1,b]分为N等份,建立子节点记录表,子节点记录表包括N个记录,并计算每个子节点的可分配地址空间的上限和可分配地址空间的下限,如果子节点值为k,0≤k≤N-1,那么子节点的地址分配空间为:
步骤505:未配置状态节点判断子节点的可分配地址空间的上限是否小于可分配地址空间的下限,如果是,进行步骤506,否则进行步骤507;
步骤506:未配置状态节点将对应子节点的分配状态设置为未分配状态,进行步骤508;
步骤507:未配置状态节点将对应子节点的分配状态设置为已分配状态;
步骤508:未配置状态节点将自己标识为已配置状态节点,并广播子网ID和本节点的未分配子节点总数;
步骤509:结束。
5.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于,已配置状态节点获取节点ID后,它定期向父节点发送更新消息以示自己处于正常状态,父节点收到子节点的更新消息后,向子节点回复更新响应消息以示自己处于正常工作;在规定时间内,如果父节点没有收到子节点的更新消息,它则认为子节点失 效或者脱离了当前的子网,并将子节点对应的子节点记录表中的状态设置为未分配状态;在规定时间内,如果子节点没有收到父节点的更新响应消息,它则认为父节点消失或者脱离了当前的子网,将自己表示为未配置状态节点,重新选择父节点获取节点ID。
6.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于,已配置状态节点X收到已配置状态节点X’广播的子网ID后,在下述两种情况下执行子网合并操作:1)已配置状态节点X与已配置状态节点X’的子网ID不同;2)已配置状态节点X与已配置状态节点X’的子网ID以及节点ID相同。
7.根据权利要求6所述的一种移动自组网络地址自动配置的实现方法,其特征在于,已配置状态节点X所在子网A与已配置状态节点X’所在子网B的合并包括如下步骤:
步骤701:开始;
步骤702:已配置状态节点X向所在树状结构根节点R发送合并检测消息,消息负载为子网B的子网ID;
步骤703:根节点R收到合并检测消息后,向子网B的根节点R’发送合并消息,消息负载为:子网A的子网ID、分配的子节点值k,可分配地址空间的上限b和可分配地址空间的下限a;
步骤704:根节点R’收到合并消息后,将根节点R作为父节点,向父节点返回合并响应消息,同时将可分配地址空间的下限a作为新的节点ID,并利用可分配地址空间下限a+1和可分配地址空间的上限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收到多个合并消息,它只回复收到的第一个合并消息。
8.根据权利要求1所述的一种移动自组网络地址自动配置的实现方法,其特征在于,在设定时间内,如果一个已配置状态节点没有收到父节点返回的更新响应消息,它则将自己重新标识为未配置状态节点;
在设定时间内,如果一个未配置状态节点没有收到任何已配置状态节点广播的网络ID,它则开始建立树状结构,并通过树状结构重新获取子网ID和节点ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110385862 CN102364970B (zh) | 2011-11-29 | 2011-11-29 | 一种移动自组网络地址自动配置的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110385862 CN102364970B (zh) | 2011-11-29 | 2011-11-29 | 一种移动自组网络地址自动配置的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102364970A CN102364970A (zh) | 2012-02-29 |
CN102364970B true CN102364970B (zh) | 2013-01-09 |
Family
ID=45691519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110385862 Active CN102364970B (zh) | 2011-11-29 | 2011-11-29 | 一种移动自组网络地址自动配置的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102364970B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572015B (zh) * | 2012-03-08 | 2014-06-18 | 常熟理工学院 | 一种动态移动自组网络IPv6地址配置的实现方法 |
CN102572016B (zh) * | 2012-03-08 | 2014-03-26 | 常熟理工学院 | 基于簇的分布式移动自组网络IPv6地址配置实现方法 |
CN102739817B (zh) * | 2012-04-28 | 2014-10-01 | 华南师范大学 | 一种rfid路由节点地址分配方法 |
JP2015162792A (ja) * | 2014-02-27 | 2015-09-07 | オムロン株式会社 | 無線通信システム、無線通信装置、無線通信方法、およびプログラム |
CN104104746B (zh) * | 2014-07-16 | 2017-11-10 | 苏州博联科技有限公司 | 一种无线自组网的分段式地址分配方法 |
CN105577623B (zh) * | 2014-10-17 | 2019-05-10 | 中国电信股份有限公司 | 一种联网终端安全域建立的方法及*** |
CN106341250B (zh) * | 2015-07-10 | 2019-11-22 | 南宁富桂精密工业有限公司 | 网络装置及网络地址初始化分配方法 |
CN105554173B (zh) * | 2015-12-21 | 2018-07-27 | 南京奥特迈新信息技术有限公司 | 一种非对称ZigBee网络中网络节点地址分配方法 |
CN108616608B (zh) * | 2016-12-13 | 2021-01-05 | 中国电信股份有限公司 | 基于主备ip地址的分布式主机配置方法和*** |
CN107509225A (zh) * | 2017-08-15 | 2017-12-22 | 中国联合网络通信集团有限公司 | 一种自组织网络的切换方法及*** |
CN109450799B (zh) * | 2018-10-30 | 2021-01-05 | 苏州大学 | 一种基于地址空间的树型网络地址方法 |
CN109495603A (zh) * | 2018-12-14 | 2019-03-19 | 广州孚鼎自动化控制设备有限公司 | 一种发电机组并联控制器自动快速分配通讯id的方法 |
CN113395721B (zh) * | 2021-06-07 | 2023-10-31 | 阳光电源股份有限公司 | 无线组网方法、节点及计算机可读存储介质 |
CN116506813A (zh) * | 2023-04-25 | 2023-07-28 | 成都大学 | 一种面向智慧交通的移动自组网数据传输***及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014377A (zh) * | 2011-01-06 | 2011-04-13 | 常熟理工学院 | 基于分布式的无线传感器网络IPv6地址配置实现方法 |
CN102056152A (zh) * | 2011-01-06 | 2011-05-11 | 常熟理工学院 | 6LoWPAN无线传感器网络地址自动配置的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672289B2 (en) * | 2005-08-09 | 2010-03-02 | Mitsubishi Electric Research Laboratories, Inc. | Method for defining, allocating and assigning addresses in ad hoc wireless networks |
-
2011
- 2011-11-29 CN CN 201110385862 patent/CN102364970B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014377A (zh) * | 2011-01-06 | 2011-04-13 | 常熟理工学院 | 基于分布式的无线传感器网络IPv6地址配置实现方法 |
CN102056152A (zh) * | 2011-01-06 | 2011-05-11 | 常熟理工学院 | 6LoWPAN无线传感器网络地址自动配置的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102364970A (zh) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102364970B (zh) | 一种移动自组网络地址自动配置的实现方法 | |
CN102395126B (zh) | 一种基于树状结构的移动自组网地址配置实现方法 | |
CN102572015B (zh) | 一种动态移动自组网络IPv6地址配置的实现方法 | |
CN102572016B (zh) | 基于簇的分布式移动自组网络IPv6地址配置实现方法 | |
CN102291448B (zh) | 移动自组织网络中基于地理位置的ip地址自动分配方法 | |
CN102883403B (zh) | 一种移动自组网的构建方法 | |
CN101600156A (zh) | 一种移动自组织网络地址自动分配方法 | |
WO2012139735A4 (en) | Management of radio frequencies in a wireless or hybrid mesh network | |
CN102333118A (zh) | 一种车载网络IPv6地址自动配置的实现方法 | |
CN103491590B (zh) | 一种下一代无线传感器网络路由的实现方法 | |
CN102340434A (zh) | 基于多归属接入的环路避免方法和边缘设备 | |
CN104333914A (zh) | 一种Mesh链路建立方法和设备 | |
CN105119828B (zh) | 一种快速的无线网络路由实现方法 | |
CN106254239A (zh) | 一种低延迟的lora无线通信网络业务分组传输方法 | |
CN103297342A (zh) | 节能的ZigBee网络树型拓扑形成方法 | |
CN101848522A (zh) | Underlay认知无线Mesh网络信道分配方法 | |
CN102428690B (zh) | 在分段网络中分配网络地址以用于通信的方法 | |
CN103945415B (zh) | 一种无线网络的通信实现方法 | |
CN105282851A (zh) | 一种信道分配方法和*** | |
CN103167631A (zh) | 一种mesh聚合链路建立方法和设备 | |
CN103167057B (zh) | 一种基于定位信息的车载网地址配置方法 | |
CN112740729A (zh) | 用于自主配置网格网络中的中继节点装置的装置和方法 | |
CN103249048B (zh) | 一种邻居网络干扰协调方法及装置 | |
CN108429641A (zh) | 一种网络设备管理方法及装置 | |
CN106793142A (zh) | 一种车载短距离通信网的信道资源调度优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170303 Address after: The 214205 Jiangsu Yixing environmental science and Technology Industrial Park Jun Zhilu No. 1 Patentee after: Jiangsu Trigiant Technology Co., Ltd. Address before: 215500 School of computer science and engineering, Changshu Institute Of Technology, Suzhou, Jiangsu, Patentee before: Changshu Science and Engineering College |