CN101600156B - 一种移动自组织网络地址自动分配方法 - Google Patents
一种移动自组织网络地址自动分配方法 Download PDFInfo
- Publication number
- CN101600156B CN101600156B CN2009100329747A CN200910032974A CN101600156B CN 101600156 B CN101600156 B CN 101600156B CN 2009100329747 A CN2009100329747 A CN 2009100329747A CN 200910032974 A CN200910032974 A CN 200910032974A CN 101600156 B CN101600156 B CN 101600156B
- Authority
- CN
- China
- Prior art keywords
- address
- node
- network
- control word
- message
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
移动移动自组织网络地址自动分配方法采用基于邻居代理的无冲突检测的IP地址分层分配模式,地址分配信息具有遗传特性,利用可变长的可用IP地址控制字,控制IP地址分配过程,本方法包括移动自组织网络地址初始化配置、IP地址自动分配协议、IP地址分配控制过程、IP地址中继协议、IP地址池回收协议、网络合并变换和网络分割变换,本方法采用基于邻居代理的无冲突检测的IP地址分层分配模式,地址分配信息具有遗传特性,利用可变长的可用IP地址控制字,灵活控制可用IP地址空间的分配过程,有效避免地址分配冲突,无需进行地址冲突检测,提高地址分配效率,减少地址分配过程中使用多播或广播报文,降低资源消耗,适用于多种版本的IP地址分配。
Description
技术领域
本发明涉及一种移动自组织(ad hoc)网络IP地址自动配置方法,属于移动自组织网络技术领域。
背景技术
移动自组织网络(MANET,Mobile Ad Hoc Networks)是由一组无线移动节点组成,不依靠现有固定通信网络基础设施,无中心实体、自组织的多跳网络。各个网络节点可动态、随意、频繁进入和离开网络,节点间通过无线链路相互协作进行通信。由于移动节点不固定,无线链路不稳定带宽有限,无中心管理设备等问题,MANET网络环境中的IP地址自动分配比有线网络困难复杂。文献[1]PRAKASH A,PATNA IK LM.”An address assignment for the automatic configuration of Mobile adhoc networks”,Personal and ubiquitous Computing,2004。
在传统的有线网络中可以通过DHCP(dynamic host configuration protocol)协议或SAA(statelessaddress autoconfiguration)协议完成地址自动分配。[2]D.ROMSR,”dynamic host configurationprotocol”,RFC2131,Dec 1998。[3]S.Thomson and T.Narten,”IPv6 Stateless AddressAutoconfiguration”,Dec 1998。但是DHCP采用集中式地址分配模式,在无中心实体的MANET网络环境中不能直接应用。而SAA协议只能应用于单跳网络模型中,目的是主机自动配置地址进行即插即用的通信。SAAA协议是基于IPv6的Ad Hoc网络无状态地址自配置协议,是SAA协议的延伸,适用于多跳网络模型,但需要修改IPv6报文信息,不能兼容IPv4网络结构。在准动态网络如传感器组、航空通信中有动态注册及配置协议-动态地址分配协议(DRCP_DAAP),可实现主机与路由器的即插即用,但限制网络的节点数量。MANETconf协议需进行两阶段的地址配置过程,并且信息交互主要通过多播和广播进行,网络开销较大。[4]MESARGI S,PRAKASH R.”MANET:Configuration of Hosts in a Mobile Ad Hoc Network”,Proceedings of the IEEE Conference on ComputerCommunications(INFOCOM),2002。被动重复地址检测法(PDAD)通过持续检测链路状态信息来判断是否存在重复地址,虽然无需增加额外开销但依赖下层路由协议。[5]WENIGER K.”PassiveDuplicate Address Detection in Mobile Ad Hoc Networks”,Proceeding of IEEE WCNC 2003,2003。基于代理的地址分配(ABA)设置集中分配表,通过特定代理节点进行地址分配,但代理节点移动、网络发生变化时需要重新确定新代理。预测分配法却只适合大规模的MANET网络的IP地址分配,地址浪费较大。[6]ZHOU H,NILM,MUTKA MW.”Prophet Address Allocation for large ScaleMANET”,Proceeding of IEEE INFOCOM 2003,2003。
由于移动自组织网络环境的特殊性,设计能适应各种情况的地址自动分配方法是非常困难的。因此,应该结合网络模型、地址结构和网络开销代价等因素提供扩展性强、兼容性好的地址自动分配方法。
发明内容
技术问题:本发明的目的在于消除地址冲突检测的开销提高地址分配效率,避免地址分配过程中使用多播或广播报文消耗网络资源,提供不依赖其他协议、支持多种版本的IP地址分配方法,提供一种移动自组织网络(MANET)节点IP地址的自动分配方法,采用基于邻居代理的无冲突检测的IP地址分层分配模式,利用可变长的可用IP地址控制字来灵活控制IP地址分配过程,有效避免地址分配冲突。
技术方案:根据网络规模和通信范围的大小,配置的IP地址可以是内部IP地址,也可以是外部IP地址。在MANET网络内通信的节点需配置可路由的内部IP地址。访问互联网的MANET节点需配置全球唯一的外部IP地址。外部IP地址可依据内部IP地址并通过网关来获得,因此本方法重在说明MANET网络内部IP地址的自动分配过程,无论是IPv4内部地址还是IPv6本地地址都适用。
采用基于邻居代理的无冲突检测的IP地址分层分配模式,地址分配信息具有遗传特性,利用可变长的可用IP地址控制字,控制可用IP地址空间的分配过程。本方法包括移动自组织网络地址初始化配置、IP地址自动分配协议、IP地址分配控制过程、IP地址中继协议、IP地址池回收协议、网络合并变换和网络分割变换,具体如下:
1)初始状态,网络中只有一个节点,该节点进行自配置,随机获取网络标识号,设置主机标识号,产生IP地址;根据主机标识号的长度和选择进制产生初始可用IP地址控制字,以便控制后续节点的IP地址自动分配;
2)非初始请求节点进入网络,单跳广播查找已配置邻居节点以获得配置信息;已配置邻居节点收到请求后根据自身IP地址和可用IP地址控制字随机产生新IP地址和新可用IP地址控制字回复给请求节点;若存在多个已配置节点响应,请求节点从中选择一个获得配置信息;
3)已配置节点为请求节点分配地址资源时,通过可用IP地址控制字,控制可用IP地址资源空间的分配,不会造成地址冲突,无需进行地址冲突检测;
4)所有相邻已配置节点若无可用的地址资源,请求节点可申请利用地址中继协议继续通过该相邻节点向其相邻节点申请地址资源;
5)如果某节点离开网络,需回收地址。脱网节点的地址信息需逐一单跳广播通知全网节点,以便所有在网节点记录脱网节点的IP地址和可用IP地址控制字;
6)如果两个或多个MANET网络节点合并,需比较合并前节点数量,确定节点IP地址和网络标识的变换情况;如果一个MANET网络出现分割,根据分割后移动节点可能的三种变化情况,可以不改变地址配置相关信息,或重新自配置生成新的MANET网络,或合并到其他MANET网络中获得重新获取新的地址配置信息。
所述的网络地址初始化配置如下:
步骤1:初始状态,网络中只有一个节点A,通过一跳广播发送邻居请求NRQ报文,查找相邻节点;
步骤2:由于处于网络初始化阶段,节点A没有收到任何响应报文,则节点A选用内部IP地址进行自配置;节点A可通过手工设置或默认的方式确定网络标识长度NIDL,并随机产生网络标识号ID。主机标识长度HIDL可通过IP地址长度L减去网络标识长度NIDL计算获知,设置主机标识号为1;
步骤3:根据节点A主机标识号长度HIDL确定可选择的进制形式;除二进制外,根据HIDL能否被4、3、或2整除可相应地选择十六进制、八进制、或四进制;根据主机标识号长度HIDL和选择的进制H可产生节点A的可用IP地址控制字,其长度CL为前面整除所得的商,即HIDL/H;初始设置可用IP地址控制字为1,除最低位取值范围为1~H-1外,其他每位的取值范围为0~H-1。
所述的IP地址自动分配协议如下:
步骤1:非初始请求节点B进入网络,通过一跳广播发送邻居请求NRQ报文查找已配置的邻居节点;
步骤2:接收到邻居请求报文的节点A需做出响应。首先查看脱网节点信息列表,如果不为空,则将第一个脱网节点信息分配给请求节点,并将其他脱网节点信息一同通过邻居响应(NRP)报文给节点B;
步骤3:响应节点A的脱网节点信息列表若为空,则从可用IP地址控制字中随机选择一位Ci,要求其数值小于H-1,并将该位数值增1,依据所选的进制形式转换计算得到相应的主机标识号;节点A将分配的IP地址通过邻居响应NRP报文发送给节点B;
步骤4:节点B收到节点A的NRP响应报文后,发送配置确认(CC)报文给节点A进行确认;如果存在多个已配置邻居节点均根据各自可用IP地址控制字随机产生新IP地址,并给请求节点B发送了邻居响应NRP报文,则请求节点B从中选择一个邻居节点获得IP地址配置信息后再发送CC报文;
步骤5:请求节点B获得IP地址后,根据IP地址和所选进制产生自身的可用IP地址控制字;
步骤6:若脱网节点信息列表为空,响应节点A收到配置确认后更新自身的可用IP地址控制字;若脱网节点信息列表非空,清除已分配的脱网节点信息并单跳广播发送地址清除(AC)报文通知相邻节点清除相应脱网节点信息,相邻节点并继续单跳广播该AC报文以通知全部在网节点。
所述的IP地址自动分配控制过程如下:
步骤1:选择进制为H=2n,其中n=1,2,3,4,H可为二进制、四进制、八进制和十六进制;IP地址结构由IP地址长度L确定,分为网络标识号和主机标识号,长度分别为NIDL和HIDL,且L=NIDL+HIDL。可用IP地址控制字长度CL由进制H=2n和主机标识号长度HIDL决定,CL=HIDL/n,初始节点A随机,产生网络标识号,并设置主机标识号为1,可用IP地址控制字为1;
步骤2:若节点A为请求节点B分配IP地址时,首先查看脱网节点信息列表,如果有脱网节点信息,则直接取出脱网节点的IP地址和可用IP地址控制字分配给请求节点,并单跳广播发送地址清除AC报文通知相邻节点清除脱网节点信息列表,相邻节点并继续单跳广播该AC报文以通知全部在网节点;
步骤3:若节点A为请求节点B分配IP地址时,脱网节点信息列表为空,则查看可用IP地址控制字第1位到第CL位数值Ci,其中i=1,2,...CL,从所有Ci小于H-1的控制位中随机选择一位j,根据H进制计算出(Cj+1)*Hj-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点B;
步骤4:若请求节点B接受节点A分配的地址,则根据主机标识号和H进制生成可用IP地址控制字,即j位为Cj+1,其他位为0。并发送配置确认报文给节点A;
步骤5:节点A完成分配后,需更新自身的可用IP地址控制字,将Cj=Cj+1;
步骤6:节点B获得分配后,也具有分配IP地址的能力,但其可用IP地址控制字继承了节点A当时可用IP地址控制字的高j位。节点B不能改变高j位可用IP地址控制字,若需要为其他请求节点分配地址时,首先查看脱网节点信息列表,非空则优先选用脱网信息列表来进行配置。若为空则节点B查看可用IP地址控制字第1位到第j-1位数值Ci其中i=1,2,...j-1,从所有Ci小于H-1的控制位中随机选择一位k,根据H进制计算出Cj*Hj-1+(Ck+1)*Hk-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点。如分配成功,则节点B更新自身可用IP地址控制字,将Ck=Ck+1;
步骤7:后续具有配置能力的节点再分配IP地址的过程类似步骤6。
所述的可用IP地址的控制字产生方法如下:
4)可用IP地址控制字长度CL由主机标识号长度HIDL和进制H决定,主机标识号长度HIDL根据IP地址类型而定,IPv4地址长度为32比特,IPv6地址长度为128比特;选择H为2n,n可选1,2,3,4,需满足HIDL是n的整数倍;
5)某网络初始节点的可用IP地址控制字是1;随后,响应请求的父节点根据可用IP地址控制字随机选择某比特位数值进行增1,最大不超过H-1,为请求的子节点分配IP地址,子节点产生自身可用IP地址控制字,同时父节点更新自身的可用IP地址控制字相应比特位数值;
6)为避免分配产生IP地址冲突,父节点提供给子节点的可用IP地址控制字,其非0的最低比特位至最高比特位部分为固定区间,其他低位部分为可变区间,子节点只能在可变区间进行IP地址随机产生分配。
所述的IP地址中继协议如下:
步骤1:某已配置节点U已经分配完所有IP地址,并且脱网节点信息里列表为空;若收到请求节点V发出NRQ报文,则发送地址满(AF)报文。
步骤2:如果请求节点V没有收到任何NRP报文,则可以发送地址中继请求(ARRQ)报文给节点U;
步骤3:节点U收到ARRQ报文后,按照地址分配协议过程从邻居节点中获得IP地址和可用IP地址控制字相关信息;
步骤4:节点V发送地址中继响应(ARRP)报文,将获得的相关地址信息发送给节点U;
步骤5:节点U收到配置的地址信息后,向节点V发送配置确认CC报文。
所述的IP地址池回收协议如下:
步骤1:如果某节点S决定离开网络,则需要单跳广播地址释放(AR)报文,通告相邻节点脱网节点S的IP地址和可用IP地址控制字;
步骤2:相邻节点收到AR报文后,记录下脱网节点S的IP地址和可用IP地址控制字;并继续单跳广播地址释放AR报文,通知其相邻节点记录脱网节点S的IP地址和可用IP地址控制字。
所述的网络标识变换过程如下:
步骤1:如果两个或多个MANET网络标识号不相同的网络合并,并且两个网络节点数量相当,那么各个MANET网络的节点IP地址仍旧保持不变,把合并前各个MANET网络的网络标识号的最长匹配作为合并后的网络标识号,调整网络标识号长度NIDL和主机标识号长度HIDL,根据进制形式再调整可用IP地址控制字的长度CL和可用IP地址控制字;
步骤2:如果一些节点加入一个MANET网络,并且加入的节点数量远小于MANET网络节点,那么为加入的节点重新分配该MANET的地址;
步骤3:如果两个或多个MANET网络标识号相同,节点的并入行为无法检测出来,会发生IP地址重复情况,需要通过地址重复检测,为冲突节点重新分配IP地址。
所述的网络标识变换过程如下:
步骤1:如果一个MANET网络出现分割,有二种配置方式供分割的节点选择;
步骤2:若分割的节点没有加入到其他MANET网络,即有可能单独存在或者又回到原来的分割网络中去,那么该节点可以不改变所有信息继续使用原有的IP地址;
步骤3:若分割的节点加入到其他MANET网络中,则可通过网络合并重新配置IP地址。
有益效果:与现有的MANET网络IP地址自动分配方案相比,本发明特色在于:
首先,适用于多种IP地址结构,包括现有的IPv4和IPv6地址。
其次,根据网络规模大小和开销高低要求,可采用可变长度的可用IP地址控制字对地址分配空间进行有效控制,减少冲突,无需进行地址重复检测,提高效率。
再次,请求节点是子节点,响应节点是父节点,父节点会将一些遗传信息传递给子节点,避免地址冲突和地址浪费。子节点获得配置信息后可作为其他新进节点的父节点,构成层次式的IP地址分配模式。
最后,不依赖任何其他协议,例如,不再依赖移动自组织网络中的AODV等路由协议。
附图说明
图1是地址分配初始化流程图,
图2是IP地址自动分配协议流程图,
图3是IP地址自动分配的控制流程图,
图4是IP地址中继协议流程图,
图5是IP地址池回收流程图,
图6是网络合并变换流程图,
图7是网络分割变换流程图。
具体实施方式
基于邻居代理的移动自组织网络节点IP地址自动分配方法的网络地址初始化配置过程如下:
1)初始网络中只有一个节点A,通过一跳广播发送邻居请求NRQ(Neighbor Request)报文,查找相邻节点。
2)由于处于网络初始化阶段,节点A没有收到任何响应报文,则节点A选用内部IP地址进行自配置。节点A可通过手工设置或默认的方式确定网络标识长度NIDL,并随机产生网络标识号ID。主机标识长度HIDL可通过IP地址长度L减去网络标识长度NIDL计算获知,设置主机标识号为1。
3)根据节点A主机标识号长度HIDL确定可选择的进制。除二进制外,根据HIDL能否被4、3、或2整除可相应地选择十六进制、八进制、或四进制。根据主机标识号长度HIDL和选择的进制H可产生节点A的可用IP地址控制字,其长度CL为前面整除所得的商。初始设置可用IP地址控制字为1,除最低位取值范围为(1~H-1)外,其他每位的取值范围为(0~H-1)。
初始节点进行网络地址初始化配置后,对于欲进入该MANET网络的请求节点,采用基于邻居代理的移动自组织网络节点IP地址自动分配协议,其过程如下:
1)非初始请求节点B进入网络,通过一跳广播发送邻居请求NRQ报文查找已配置的邻居节点。
2)接收到邻居请求报文的节点A需做出响应。首先查看脱网节点信息列表,如果不为空,则将第一个脱网节点信息分配给请求节点,并将其他脱网节点信息一同通过NRP(NeighborResponse)报文给节点B。
3)响应节点A的脱网节点信息列表若为空,则从可用IP地址控制字中随机选择一位Ci,要求其数值小于H-1,并将该位数值增1,依据所选进制形式转换计算得到相应的主机标识号。节点A将分配的IP地址通过邻居响应NRP报文发送给节点B。
4)节点B收到节点A的NRP响应报文后,发送配置确认(CC)报文给节点A进行确认。如果存在多个已配置邻居节点均根据各自可用IP地址控制字随机产生新IP地址,并给请求节点B发送了邻居响应NRP报文,则请求节点B从中选择一个邻居节点获得IP地址配置信息后再发送CC报文。
5)请求节点B获得IP地址后,根据IP地址和所选进制产生自身的可用IP地址控制字。
6)若脱网节点信息列表为空,响应节点A收到配置确认后更新自身的可用IP地址控制字。若脱网节点信息列表非空,清除已分配的脱网节点信息并单跳广播发送地址清除(AC)报文通知相邻节点清除相应脱网节点信息,相邻节点并继续单跳广播该AC报文以通知全部在网节点。
地址分配过程中通过可用IP地址控制字来避免分配重复地址,基于邻居代理的移动自组织网络IP地址自动分配的控制过程如下:
1)选择进制为H=2n(n=1,2,3,4),H表示二进制、四进制、八进制和十六进制。IP地址结构由IP地址长度L确定,分为网络标识号和主机标识号,长度分别为NIDL和HIDL,且L=NIDL+HIDL。可用IP地址控制字长度CL由进制H=2n和主机标识号长度HIDL决定,CL=HIDL/n,初始节点A随机,产生网络标识号,并设置主机标识号为1,可用IP地址控制字为1。
2)若节点A为请求节点B分配IP地址时,首先查看脱网节点信息列表,如果有脱网节点信息,则直接取出脱网节点的IP地址和可用IP地址控制字分配给请求节点,并单跳广播发送地址清除AC报文通知相邻节点清除脱网节点信息列表,相邻节点并继续单跳广播该AC报文以通知全部在网节点。
3)若节点A为请求节点B分配IP地址时,脱网节点信息列表为空,则查看可用IP地址控制字第1位到第CL位数值Ci(i=1,2,...CL),从所有Ci小于H-1的控制位中随机选择一位j,根据H进制计算出(Cj+1)*Hj-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点B。
4)若请求节点B接受节点A分配的地址,则根据主机标识号和H进制生成可用IP地址控制字,即j位为Cj+1,其他位为0。并发送配置确认报文给节点A。
5)节点A完成分配后,需更新自身的可用IP地址控制字,将Cj=Cj+1。
6)节点B获得分配后,也具有分配IP地址的能力,但其可用IP地址控制字继承了节点A当时可用IP地址控制字的高j位。节点B不能改变高j位可用IP地址控制字,若需要为其他请求节点分配地址时,首先查看脱网节点信息列表,非空则优先选用脱网信息列表来进行配置。若为空则节点B查看可用IP地址控制字第1位到第j-1位数值Ci(i=1,2,...j-1),从所有Ci小于H-1的控制位中随机选择一位k,根据H进制计算出Cj*Hj-1+(Ck+1)*Hk-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点。如分配成功,则节点B更新自身可用IP地址控制字,将Ck=Ck+1。
7)后续具有配置能力的节点再分配IP地址的过程类似步骤6的流程。
由于不同节点获得的IP地址空间不同,存在IP地址耗尽的问题,可以采用基于邻居代理的移动自组织网络IP地址中继协议通过中间节点中继获得配置信息,过程如下:
1)某已配置节点U已经分配完所有IP地址,并且脱网节点信息里列表为空。若收到请求节点V发出NRQ报文,则发送地址满(AF)报文。
2)如果请求节点V没有收到任何NRP报文,则可以发送地址中继请求(ARRQ)报文给节点U。
3)节点U收到ARRQ报文后,按照地址分配协议过程从邻居节点中获得IP地址和IP地址控制字相关信息。
4)节点V发送地址中继响应(ARRP)报文,将获得的相关地址信息发送给节点U。
5)节点U收到配置的地址信息后,向节点V发送配置确认CC报文。
当某节点脱网时,需要回收其使用的地址资源,基于邻居代理的移动自组织网络IP地址池回收过程如下:
1)如果某节点S决定离开网络,则需要单跳广播地址释放(AR)报文,通告相邻节点脱网节点S的IP地址和可用IP地址控制字。
2)相邻节点收到AR报文后,记录下脱网节点S的IP地址和可用IP地址控制字。并继续单跳广播地址释放AR报文,通知其相邻节点记录脱网节点S的IP地址和可用IP地址控制字。
如果网络进行合并,网络标识变换过程如下:
1)如果两个或多个MANET网络标识号不相同的网络合并,并且两个网络节点数量相当,那么各个MANET网络的节点IP地址仍旧保持不变,把合并前各个MANET网络的网络标识号的最长匹配作为合并后的网络标识号,调整网络标识号长度NIDL和主机标识号长度HIDL,根据所选进制再调整可用IP地址控制字的长度CL和可用IP地址控制字。
2)如果一些节点加入一个MANET网络,并且加入的节点数量远小于MANET网络节点,那么为加入的节点重新分配该MANET的地址。
3)如果两个或多个MANET网络标识号相同,节点的并入行为无法检测出来,会发生IP地址重复情况,需要通过地址重复检测,为冲突节点重新分配IP地址。
如果网络出现分割,网络标识变换过程如下:
1)如果一个MANET网络出现分割,有二种配置方式供分割的节点选择。
2)若分割的节点没有加入到其他MANET网络,即有可能单独存在或者又回到原来的分割网络中去,那么该节点可以不改变所有信息继续使用原有的IP地址。
若分割的节点加入到其他MANET网络中,则可通过网络合并重新配置IP地址。
图1是地址分配初始化过程:
1.网络中一个节点A,通过一跳广播发送邻居请求NRQ报文,查找相邻节点,如收到响应报文则转入IP地址自动分配协议进程。
2.网络初始阶段,节点A不会收到任何响应报文,进而选用内部IP地址进行自配置。节点A可通过手工设置或默认的方式确定网络标识长度NIDL,并随机产生网络标识号ID。主机标识长度HIDL可通过IP地址长度L减去网络标识长度NIDL计算获知,设置主机标识号为1。
3.由主机标识号长度HIDL确定可选择的进制形式。除二进制外,根据HIDL能否被4、3、或2整除可相应地选择十六进制、八进制、或四进制。依据主机标识号长度HIDL和选择的进制H可产生节点A的可用IP地址控制字,其长度CL为前面整除所得的商。初始设置可用IP地址控制字为1,除最低位取值范围为(1~H-1)外,其他每位的取值范围为(0~H-1)。
图2是IP地址自动分配协议过程:
1.请求节点B进入节点A无线覆盖范围,通过一跳广播发送邻居请求NRQ报文查找已配置的邻居节点。
2.接收到请求报文的节点A做出响应。首先查看脱网节点信息列表,如果不为空,则将第一个脱网节点信息分配给请求节点,并将其他脱网节点信息一同通过NRP报文给节点B。
3.响应节点A的脱网节点信息列表若为空,则从可用IP地址控制字中随机选择一位Ci,要求其数值小于H-1,并将该位数值增1,依据所选进制形式转换计算得到相应的主机标识号。节点A将分配的IP地址通过邻居响应NRP报文发送给节点B。
4.节点B收到节点A的NRP响应报文后,发送配置确认CC报文向节点A进行确认。如果存在多个已配置邻居节点均根据各自可用IP地址控制字随机产生新IP地址,并给请求节点B发送了邻居响应NRP报文,则请求节点B从中选择一个邻居节点获得IP地址配置信息后再发送CC报文。
5.请求节点B获得IP地址后,根据IP地址和所选进制产生自身的可用IP地址控制字。
6.若脱网节点信息列表为空,节点A收到配置确认后更新自身的可用IP地址控制字。若脱网信息节点不为空,则单跳广播发送地址清除AC报文通知相邻节点清除脱网节点信息列表,相邻节点并继续单跳广播该AC报文以通知全部在网节点。
图3是IP地址自动分配的控制过程:
1.进制为H=2n(n=1,2,3,4),H可为二进制、四进制、八进制和十六进制。IP地址结构由IP地址长度L确定,分为网络标识号和主机标识号,长度分别为NIDL和HIDL,且L=NIDL+HIDL。可用IP地址控制字长度CL由进制H=2n和主机标识号长度HIDL决定,CL=HIDL/n,初始节点A随机,产生网络标识号,并设置主机标识号为1,可用IP地址控制字为1。
2.若节点A为请求节点B分配IP地址时,首先查看脱网节点信息列表,如果有脱网节点信息,则直接取出脱网节点的IP地址和可用IP地址控制字分配给请求节点,并单跳广播发送地址清除AC报文通知相邻节点清除脱网节点信息列表,相邻节点并继续单跳广播该AC报文以通知全部在网节点。
3.若节点A为请求节点B分配IP地址时,脱网节点信息列表为空,则查看可用IP地址控制字第1位到第CL位数值Ci(i=1,2,...CL),从所有Ci小于H-1的控制位中随机选择一位j,根据H进制计算出(Cj+1)*Hj-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点B。
4.若请求节点B接受节点A分配的地址,则根据主机标识号和H进制生成可用IP地址控制字,即j位为Cj+1,其他位为0。并发送配置确认报文给节点A。
5.节点A完成分配后,需更新自身的可用IP地址控制字,将Cj=Cj+1。
6.节点B获得分配后,也具有分配IP地址的能力,但其可用IP地址控制字继承了节点A当时可用IP地址控制字的高j位。节点B不能改变高j位可用IP地址控制字,若需要为其他请求节点分配地址时,首先查看脱网节点信息列表,非空则优先选用脱网信息列表来进行配置。若为空则节点B查看可用IP地址控制字第1位到第j-1位数值Ci(i=1,2,...j-1),从所有Ci小于H-1的控制位中随机选择一位k,根据H进制计算出Cj*Hj-1+(Ck+1)*Hk-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点。如分配成功,则节点B更新自身可用IP地址控制字,将Ck=Ck+1。
7.后续具有配置能力的节点再分配IP地址的过程类似步骤6的流程。
图4是IP地址中继协议过程:
1.已配置节点U已经分配完所有IP地址,并且脱网节点信息里列表为空。若收到请求节点V发出NRQ报文,则发送地址满AF报文。
2.如果请求节点V没有收到任何NRP报文,则可以发送地址中继请求ARRQ报文给节点U。
3.节点U收到ARRQ报文后,按照地址分配协议过程从邻居节点中获得IP地址和可用IP地址控制字相关信息。
4.节点V发送地址中继响应ARRP报文,将获得的相关地址信息发送给节点U。
5.节点U收到配置的地址信息后,向节点V发送配置确认CC报文。
图5是IP地址池回收过程:
1.节点S在离开网络之前,发送单跳广播地址释放(AR)报文,通告相邻节点脱网节点S的IP地址和可用IP地址控制字。
2.相邻节点收到AR报文后,记录下脱网节点S的IP地址和可用IP地址控制字。并继续发送单跳广播地址释放(AR)报文,通知其相邻节点记录脱网节点S的IP地址和可用IP地址控制字。
图6是网络合并变换过程:
1.如果一些节点加入一个MANET网络,两者网络标识号不相同,并且双方节点数量相当,那么各个MANET网络的节点IP地址仍旧保持不变,把合并前各个MANET网络的网络标识号的最长匹配作为合并后的网络标识号,调整网络标识号长度NIDL和主机标识号长度HIDL,根据所选进制再调整可用IP地址控制字的长度CL和可用IP地址控制字。
2.如果一些节点加入一个MANET网络,两者网络标识号不相同,但加入的节点数量远小于MANET网络节点,那么为加入的节点重新分配该MANET的地址。
3.如果两个或多个MANET网络标识号相同,节点的并入行为无法检测出来,会发生IP地址重复情况,需要通过地址重复检测,为冲突节点重新分配IP地址。
图7是网络分割变换过程:
1.如果一个MANET网络出现分割,有二种配置方式供分割的节点选择。
2.若分割的节点没有加入到其他MANET网络,即有可能单独存在或者又回到原来的分割网络中去,那么该节点可以不改变所有信息继续使用原有的IP地址。
3.若分割的节点加入到其他MANET网络中,则可通过网络合并重新配置IP地址。
Claims (8)
1.一种移动自组织网络地址自动分配方法,其特征是:采用基于邻居代理的无冲突检测的IP地址分层分配模式,地址分配信息具有遗传特性,利用可变长的可用IP地址控制字,控制IP地址分配过程,本方法包括移动自组织网络地址初始化配置、IP地址自动分配协议、IP地址分配控制过程、IP地址中继协议、IP地址池回收协议、网络合并变换和网络分割变换,具体如下:
1)初始状态,网络中只有一个节点,该节点进行自配置,随机获取网络标识号,设置主机标识号,产生IP地址;根据主机标识号的长度和选择进制产生初始可用IP地址控制字,以便控制后续节点的IP地址自动分配;
2)非初始请求节点进入网络,单跳广播查找已配置邻居节点以获得配置信息;已配置邻居节点收到请求后根据自身IP地址和可用IP地址控制字随机产生新IP地址和新可用IP地址控制字回复给请求节点;若存在多个已配置节点响应,请求节点从中选择一个获得配置信息;
3)已配置节点为请求节点分配地址资源时,通过可用IP地址控制字,控制IP地址资源空间的分配,不会造成地址冲突,无需进行地址冲突检测;
所述的IP地址自动分配控制过程如下:
步骤1:选择进制为H=2n,其中n=1,2,3,4,H可为二进制、四进制、八进制和十六进制;IP地址结构由IP地址长度L确定,分为网络标识号和主机标识号,长度分别为NIDL和HIDL,且L=NIDL+HIDL;可用IP地址控制字长度CL由进制H=2n和主机标识号长度HIDL决定,CL=HIDL/n,初始节点A随机,产生网络标识号,并设置主机标识号为1,可用IP地址控制字为1;
步骤2:若节点A为请求节点B分配IP地址时,首先查看脱网节点信息列表,如果有脱网节点信息,则直接取出脱网节点的IP地址和可用IP地址控制字分配给请求节点,并单跳广播发送地址清除AC报文通知相邻节点清除脱网节点信息列表,相邻节点并继续单跳广播该AC报文以通知全部在网节点;
步骤3;若节点A为请求节点B分配IP地址时,脱网节点信息列表为空,则查看可用IP地址控制字第1位到第CL位数值Ci,其中i=1,2,...CL,从所有Ci小于H-1的控制位中随机选择一位j,根据H进制计算出(Cj+1)*Hj-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点B;
步骤4:若请求节点B接受节点A分配的地址,则根据主机标识号和H进制生成可用IP地址控制字,即j位为Cj+1,其他位为0,并发送配置确认报文给节点A;
步骤5:节点A完成分配后,需更新自身的可用IP地址控制字,将Cj=Cj+1;
步骤6:节点B获得分配后,也具有分配IP地址的能力,但其可用IP地址控制字继承了节点A当时可用IP地址控制字的高j位,节点B不能改变高j位可用IP地址控制字,若需要为其他请求节点分配地址时,首先查看脱网节点信息列表,非空则优先选用脱网信息列表来进行配置,若为空则节点B查看可用IP地址控制字第1位到第j-1位数值Ci其中i=1,2,...j-1,从所有Ci小于H-1的控制位中随机选择一位k,根据H进制计算出Cj*Hj-1+(Ck+1)*Hk-1即为产生的主机标识号,然后结合网络标识号组成IP地址发送给请求节点;如分配成功,则节点B更新自身可用IP地址控制字,将Ck=Ck+1;
步骤7:后续具有配置能力的节点再分配IP地址的过程类似步骤6;
4)所有相邻已配置节点若无可用的地址资源,请求节点可申请利用地址中继协议继续通过该相邻节点向其相邻节点申请地址资源;
5)如果某节点离开网络,需回收地址,脱网节点的地址信息需逐一单跳广播通知全网节点,以便所有在网节点记录脱网节点的IP地址和可用IP地址控制字;
6)如果两个或多个MANET网络节点合并,需比较合并前节点数量,确定节点IP地址和网络标识的变换情况;如果一个MANET网络出现分割,根据分割后移动节点可能的三种变化情况,可以不改变地址配置相关信息,或重新自配置生成新的MANET网络,或合并到其他MANET网络中获得重新获取新的地址配置信息。
2.根据权利要求1所述的移动自组织网络地址自动分配方法,其特征是:所述的网络地址初始化配置如下:
步骤1:初始状态,网络中只有一个节点A,通过一跳广播发送邻居请求NRQ报文,查找相邻节点;
步骤2:由于处于网络初始化阶段,节点A没有收到任何响应报文,则节点A选用内部IP地址进行自配置;节点A可通过手工设置或默认的方式确定网络标识长度NIDL,并随机产生网络标识号ID;主机标识长度HIDL可通过IP地址长度L减去网络标识长度NIDL计算获知,设置主机标识号为1;
步骤3:根据节点A主机标识号长度HIDL确定可选择的进制形式;除二进制外,根据HIDL能否被4、3、或2整除可相应地选择十六进制、八进制、或四进制;根据主机标识号长度HIDL和选择的进制H可产生节点A的可用IP地址控制字,其长度HL为前面整除所得的商,HL=HIDL/n即HIDL/H初始设置可用IP地址控制字为1,除最低位取值范围为1~H-1外,其他每位的取值范围为0~H-1。
3.根据权利要求1所述的移动自组织网络地址自动分配方法,其特征是:所述的IP地址自动分配协议如下:
步骤1:非初始请求节点B进入网络,通过一跳广播发送邻居请求NRQ报文查找已配置的邻居节点;
步骤2:接收到邻居请求报文的节点A需做出响应;首先查看脱网节点信息列表,如果不为空,则将第一个脱网节点信息分配给请求节点,并将其他脱网节点信息一同通过邻居响应NRP报文给节点B;
步骤3:响应节点A的脱网节点信息列表若为空,则从可用IP地址控制字中随机选择一位Ci,要求其数值小于H-1,并将该位数值增1,依据所选的进制形式转换计算得到相应的主机标识号;节点A将分配的IP地址通过邻居响应NRP报文发送给节点B;
步骤4:节点B收到节点A的NRP响应报文后,发送配置确认CC报文给节点A进行确认;如果存在多个已配置邻居节点均根据各自可用IP地址控制字随机产生新IP地址,并给请求节点B发送了邻居响应NRP报文,则请求节点B从中选择一个邻居节点获得IP地址配置信息后再发送CC报文;
步骤5:请求节点B获得IP地址后,根据IP地址和所选进制产生自身的可用IP地址控制字;
步骤6:若脱网节点信息列表为空,响应节点A收到配置确认后更新自身的可用IP地址控制字;若脱网节点信息列表非空,清除已分配的脱网节点信息并单跳广播发送地址清除AC报文通知相邻节点清除相应脱网节点信息,相邻节点并继续单跳广播该AC报文以通知全部在网节点。
4.根据权利要求1所述的移动自组织网络地址自动分配方法,其特征是:所述的可用IP地址控制字产生方法如下:
1)可用IP地址控制字长度CL由主机标识号长度HIDL和进制H决定,主机标识号长度HIDL根据IP地址类型而定,IPv4地址长度为32比特,IPv6地址长度为128比特;选择H为2n,n可选1,2,3,4,需满足HIDL是n的整数倍;
2)某网络初始节点的可用IP地址控制字是1;随后,响应请求的父节点根据可用IP地址控制字随机选择某比特位数值进行增1,最大不超过H-1,为请求的子节点分配IP地址,子节点产生自身可用IP地址控制字,同时父节点更新自身的可用IP地址控制字相应比特位数值;
3)为避免分配产生IP地址冲突,父节点提供给子节点的可用IP地址控制字,其非0的最低比特位至最高比特位部分为固定区间,其他低位部分为可变区间,子节点只能在可变区间进行IP地址随机产生分配。、
5.根据权利要求1所述的移动自组织网络地址自动分配方法,其特征是:所述的IP地址中继协议如下:
步骤1:某已配置节点U已经分配完所有IP地址,并且脱网节点信息里列表为空;若收到请求节点V发出NRQ报文,则发送地址满AF报文;
步骤2:如果请求节点V没有收到任何NRP报文,则可以发送地址中继请求ARRQ报文给节点U;
步骤3:节点U收到ARRQ报文后,按照地址分配协议过程从邻居节点中获得IP地址和可用IP地址控制字相关信息;
步骤4:节点V发送地址中继响应ARRP报文,将获得的相关地址信息发送给节点U;
步骤5:节点U收到配置的地址信息后,向节点V发送配置确认CC报文。
6.根据权利要求1所述的移动自组织网络地址自动分配方法,其特征是:所述的IP地址池回收协议如下:
步骤1:如果某节点S决定离开网络,则需要单跳广播地址释放AR报文,通告相邻节点脱网节点S的IP地址和可用IP地址控制字;
步骤2:相邻节点收到AR报文后,记录下脱网节点S的IP地址和可用IP地址控制字;并继续单跳广播地址释放AR报文,通知其相邻节点记录脱网节点S的IP地址和可用IP地址控制字。
7.根据权利要求1所述的移动自组织网络地址自动分配方法,其特征是:所述的网络标识变换过程如下:
步骤1:如果两个或多个MANET网络标识号不相同的网络合并,并且两个网络节点数量相当,那么各个MANET网络的节点IP地址仍旧保持不变,把合并前各个MANET网络的网络标识号的最长匹配作为合并后的网络标识号,调整网络标识号长度NIDL和主机标识号长度HIDL,根据进制形式再调整可用IP地址控制字的长度CL和可用IP地址控制字;
步骤2:如果一些节点加入一个MANET网络,并且加入的节点数量远小于MANET网络节点,那么为加入的节点重新分配该MANET的地址;
步骤3:如果两个或多个MANET网络标识号相同,节点的并入行为无法检测出来,会发生IP地址重复情况,需要通过地址重复检测,为冲突节点重新分配IP地址。
8.根据权利要求1所述的移动自组织网络地址自动分配方法,其特征是:所述的网络标识变换过程如下:
步骤1:如果一个MANET网络出现分割,有二种配置方式供分割的节点选择;
步骤2:若分割的节点没有加入到其他MANET网络,即有可能单独存在或者又回到原来的分割网络中去,那么该节点可以不改变所有信息继续使用原有的IP地址;
步骤3:若分割的节点加入到其他MANET网络中,则可通过网络合并重新配置IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100329747A CN101600156B (zh) | 2009-06-03 | 2009-06-03 | 一种移动自组织网络地址自动分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100329747A CN101600156B (zh) | 2009-06-03 | 2009-06-03 | 一种移动自组织网络地址自动分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101600156A CN101600156A (zh) | 2009-12-09 |
CN101600156B true CN101600156B (zh) | 2012-02-22 |
Family
ID=41421353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100329747A Expired - Fee Related CN101600156B (zh) | 2009-06-03 | 2009-06-03 | 一种移动自组织网络地址自动分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101600156B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302863A (zh) * | 2016-10-13 | 2017-01-04 | 陕西尚品信息科技有限公司 | 一种应用于Ad‑hoc网络的IP地址动态分配方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808145B (zh) * | 2010-04-20 | 2014-11-05 | 中兴通讯股份有限公司 | Ip地址的分配方法和系统 |
CN101873360A (zh) * | 2010-06-25 | 2010-10-27 | 深圳市合凯通信有限公司 | 网络地址自适应系统和方法及应用系统和方法 |
CN102291448B (zh) * | 2011-08-08 | 2013-10-30 | 华南理工大学 | 移动自组织网络中基于地理位置的ip地址自动分配方法 |
KR102005771B1 (ko) * | 2012-02-24 | 2019-10-01 | 삼성전자주식회사 | 무선 통신 네트워크에서 ip 주소 할당 방법 및 장치 |
CN102790963B (zh) * | 2012-07-20 | 2015-05-27 | 南京大学镇江高新技术研究院 | 基于Android手机的移动自组网系统及其构建方法 |
CN103037361A (zh) * | 2012-12-12 | 2013-04-10 | 深圳市汇川控制技术有限公司 | 基于Ad-hoc的无线Mesh网络中的IP分配系统及方法 |
CN103345217B (zh) * | 2013-06-18 | 2016-03-30 | 苏州骋研电子技术有限公司 | 群控风机过滤单元系统 |
US10797996B2 (en) * | 2015-03-06 | 2020-10-06 | Futurewei Technologies, Inc. | Server-based local address assignment protocol |
CN104811934B (zh) * | 2015-05-13 | 2018-03-02 | 南京邮电大学 | 基于IPv6编址的无线传感器网络安全路由方法 |
CN107113295B (zh) * | 2015-07-17 | 2020-02-14 | 华为技术有限公司 | 一种通信方法、装置和系统 |
CN105592520A (zh) * | 2016-01-07 | 2016-05-18 | 云南民族大学 | 一种ZigBee终端节点自动组网方法 |
CN106060190B (zh) * | 2016-07-25 | 2021-04-30 | 新华三技术有限公司 | 一种ip地址冲突的处理方法及装置 |
CN108616550B (zh) * | 2016-12-13 | 2020-12-29 | 中国电信股份有限公司 | 基于群首的分布式主机配置方法和系统 |
CN108616607B (zh) * | 2016-12-13 | 2021-08-06 | 中国电信股份有限公司 | 基于预留机制的分布式主机配置方法和系统 |
CN107682908A (zh) * | 2017-09-10 | 2018-02-09 | 南京中高知识产权股份有限公司 | 一种路边接入设备 |
CN107483654A (zh) * | 2017-09-10 | 2017-12-15 | 南京中高知识产权股份有限公司 | 一种路边接入设备 |
CN107613454A (zh) * | 2017-09-21 | 2018-01-19 | 南京中高知识产权股份有限公司 | 车位共享管理平台 |
CN107508911A (zh) * | 2017-09-21 | 2017-12-22 | 南京中高知识产权股份有限公司 | 一种智慧城市交互方法 |
CN107682420A (zh) * | 2017-09-21 | 2018-02-09 | 南京中高知识产权股份有限公司 | 一种车用互联网信息交互方法 |
CN111327534B (zh) * | 2018-12-13 | 2022-06-14 | 浙江宇视科技有限公司 | 一种跨域单播转组播传输方法及装置 |
CN112637372B (zh) * | 2020-11-13 | 2022-05-31 | 上海宇航系统工程研究所 | 一种面向运载火箭的终端地址分配方法及装置 |
CN115515126B (zh) * | 2022-09-23 | 2024-02-20 | 西安电子科技大学 | 一种自组织网络建立方法及基于自组织网络的智能系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723660A (zh) * | 2003-02-21 | 2006-01-18 | 株式会社东芝 | 自组织网络中的地址自动配置 |
CN101420463A (zh) * | 2007-10-25 | 2009-04-29 | 厦门大学 | 一种无线传感器网络地址分配机制 |
-
2009
- 2009-06-03 CN CN2009100329747A patent/CN101600156B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1723660A (zh) * | 2003-02-21 | 2006-01-18 | 株式会社东芝 | 自组织网络中的地址自动配置 |
CN101420463A (zh) * | 2007-10-25 | 2009-04-29 | 厦门大学 | 一种无线传感器网络地址分配机制 |
Non-Patent Citations (1)
Title |
---|
何智勇,沈苏彬,毛燕琴.DHCP 协议优化方案研究.《计算机技术与发展》.2010,第20卷(第9期),全文. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302863A (zh) * | 2016-10-13 | 2017-01-04 | 陕西尚品信息科技有限公司 | 一种应用于Ad‑hoc网络的IP地址动态分配方法 |
CN106302863B (zh) * | 2016-10-13 | 2019-08-20 | 陕西尚品信息科技有限公司 | 一种应用于Ad-hoc网络的IP地址动态分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101600156A (zh) | 2009-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101600156B (zh) | 一种移动自组织网络地址自动分配方法 | |
US7580382B1 (en) | System and method for distributed channelized group formation in a mobile wireless communication network | |
US7996558B2 (en) | Methods and systems for a routing protocol | |
KR100929914B1 (ko) | 애드 혹 네트워크를 위한 동적 주소 할당 방법 | |
CN101753635A (zh) | Ipv6地址配置方法和系统 | |
CN102333118A (zh) | 一种车载网络IPv6地址自动配置的实现方法 | |
CN101572692A (zh) | 一种ip地址分配方法、系统及设备 | |
CN112073920A (zh) | 一种无线网格网络节点的组网方法、网络节点设备 | |
CN103491590A (zh) | 一种下一代无线传感器网络路由的实现方法 | |
US20050083859A1 (en) | Address allocation method using site-local prefix pools in mobile ad-hoc networks | |
EP2430819B1 (en) | A method of assigning a network address for communicating in a segmented network | |
Ineke et al. | Address autoconfiguration in wireless ad hoc networks: Protocols and techniques | |
Park et al. | IPv6 address allocation in hybrid mobile ad-hoc networks | |
Wang et al. | A tree-based address configuration for a MANET | |
Ye et al. | A survey of addressing algorithms for wireless sensor networks | |
Taghiloo et al. | New approach for address auto-configuration in manet based on virtual address space mapping (vasm) | |
Munjal et al. | Scalable hierarchical distributive auto-configuration protocol for manets | |
Wang et al. | A distributed address configuration scheme for a MANET | |
Lu et al. | Low-energy address allocation scheme for wireless sensor networks | |
Choi et al. | Random and linear address allocation for mobile ad hoc networks | |
Ramakrishnaiah et al. | Tree based variable length address autoconfiguration protocol for mobile ad hoc networks | |
CN104486752A (zh) | 移动台之间的多媒体信息交互系统 | |
Bouk et al. | IPv6 autoconfiguration for hierarchical MANETs with efficient leader election algorithm | |
CN112492057B (zh) | 一种固定根节点的地址自配置方法 | |
KR20110027466A (ko) | 다중 라디오를 가진 무선 메쉬 노드에서의 채널 할당 방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120222 Termination date: 20160603 |