一种网络地址配置及网络合并的方法

文档序号:7867986阅读:266来源:国知局
专利名称:一种网络地址配置及网络合并的方法
技术领域
本发明涉及通信技术领域,尤其涉及一种网络地址配置及网络合并的方法。
背景技术
WSNs (Wireless Sensor Networks,无线传感器网络)是由大量部署在监测区域的低功耗、低速率、低成本、高密度的微型节点通过自组织、自愈合的方式组成的网络。这种大规模低成本、无人值守、自动组网、抗毁性强的网络方式,在众多监测领域如生态环境、工业、军事、智能城市、智能家居等方面具有广阔的应用前景。在传统网络中,地址的首要作用是为路由发现提供拓扑信息。有时地址也用作标识符,以指代一个通信终端。由于无线传感器网络往往是由大量节点组成,且多工作在无人值守的环境下,手动为每个节点分配地址显然是一项繁琐而庞大的任务甚至是无法完成 的。因此,针对无线传感器网络自身特点设计地址自动配置方案就显得尤为重要。现有技术中的LEADS协议将网络中的节点定义为4种角色ADA(address agents,地址代理节点),ADR (address root,根地址),ADP (address proxy,地址代理服务节点)以及普通节点。其中,ADA负责分配地址,但是,当ADA节点地址空间用尽时,对于新加入节点的地址分配问题没有得到充分的考虑。另外,现有的地址配置协议对于节点密度分布不均导致地址浪费,以及网络分裂和合并导致的网络开销增大的问题都无法得到解决。

发明内容
本发明的目的是提供一种网络地址配置及网络合并的方法,提高了节点的接入成功率及对网络动态变化的适用性。(与权利要求对应)由上述本发明提供的技术方案可以看出,通过借用地址为子节点进行地址分配,有效解决因节点密度分布不均所引起的地址空间不足问题,提高节点的接入成功率;并且根据孤立节点的地址前缀进行网络的合并,可以减少大规模网络中因节点频繁离开和重新加入网络所引起的潜在地址重新配置开销,提高对网络动态变化的适用性。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图I为本发明实施例提供的一种网络拓扑图的示意图;图2为本发明实施例一提供的一种网络地址配置的方法的流程图;图3为本发明实施例二提供的一种网络合并的方法的流程图。
具体实施例方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。图I为一种网络拓扑图的示意图,该图中的R节点为根节点,其他节点均为传感器节点。传感器节点用于将采集到的数据汇集到根节点处,且初始能源值相同,具有相同的通信半径。具体的节点A、B、C、D、E、F、G、H与I为普通传感器节点,具有数据采集和路由器的功能;节点R为根节点,负责汇聚信息并管理网络。节点A、B互为兄弟节点(具有相同的父节点则称为兄弟节点),R为其父节点;节点C、D互为兄弟节点,A为其父节点;节点F、G、I互为兄弟节点,C为其父节点;节点B为E的父节点,节点D为H的父节点。本发明采用先组网后进行地址分配的方式,地址配置是从根节点开始自上而下进行的,子节点一般以其父节点的地址作为前缀,再随机生成k比特地址连接在父节点地址之后作为自身地址,其中,k值(k为大于O的自然数)为预先设定的全网统一值,以2k大于一个节点可承受的最大子节点数为宜。示例性的,使用4比特起始地址,此后逐次增加4比特地址空间。若将根节点R地址配置为1(4比特地址0001 ),则按照本发明提出的地址配置方法,可能出现以下情况节点A地址为I. I (8比特地址00010001 ),节点B地址为I. 2(8比特地址:00010010),节点C、D、E地址分别为I. I. I、I. I. 2,1. 2. 1,节点F、G、H地址分别为 I. I. I. 1,1. I. I. 2,1. I. 2. 1,诸如此类。实施例一本实施例主要介绍一种网络地址配置的方法,该方法中当父节点的本地地址空间已用尽时可以通过借用地址策略为子节点进行地址的分配,解决了因节点密度分布不均所引起的地址空间不足问题,提高节点的接入成功率。本实施例结合图I与图2进行介绍,主要包括如下步骤步骤201、父节点接收到其子节点发送的地址请求消息后,判断本地是否有剩余地址可供分配;若是,则转入步骤202 ;否则,转入步骤203。如图I所示,例如,节点I加入网络时,若无法自动获取地址,则向其父节点C发送地址请求包。父节点C在收到其子节点I发来的地址请求后首先判断自身是否有剩余的地址可供分配。若有剩余地址,则转入步骤202 ;否则,转入步骤203。步骤202、从本地的地址空间中为该子节点分配地址。若父节点C中有剩余地址,则从本地的地址空间中为该子节点分配地址。具体的父节点C向其子节点I回复包含有自身地址(I. I. I)的地址应答消息;子节点I在收到父节点的地址信息后,以父节点地址为前缀,再随机生成k(例如k为4)比特地址,例如0011,连接在父节点地址之后形成节点自身地址(例如,I. I. I. 3)。步骤203、向债权节点借用地址分配给所述子节点。若父节点C中的地址空间已用尽,则向债权节点借用地址。债权地址可以为父节点C的兄弟节点(例如节点D),若父节点没有兄弟节点时,也可以向其上级节点借用地址(例如节点A)。 另外,若父节点具有多个兄弟节点时,则可以向所有兄弟节点同时发送借用地址消息。接收到该借用地址消息的兄弟节点,判断本地地址空间是否有剩余地址。若有,则返回带有自身地址的借用地址应答消息。父节点侦听一段时间后,选择最优兄弟节点作为债权节点。选择的依据可以是兄弟节点中最先反馈消息、剩余地址最多或信号强度最大的节点。本示例以节点D为债权节点,则父节点C将债权节点D返回的带有节点D自身地址的借用地址应答消息转发至子节点I,子节点I在收到父节点C转发的消息后,以债权节点D地址(I. I. 2)为前缀,再随机生成k比特地址,连接在债权节点D的地址之后形成节点自身地址(例如,I. I. 2. 2)。步骤204、对子节点的地址进行冲突检测。子节点I根据步骤202或步骤203的方式形成自身地址后,将该地址信息发送至父节点C。 若子节点I的地址是由父节点C直接分配,则由父节点C进行地址的冲突检测。当父节点C检测到该地址没有分配给其他子节点时,直接回复允许消息至子节点I ;当该地址已经分配给其他子节点时,则回复拒绝消息,并要求子节点I对地址进行修改(例如重新生成k比特地址置于节点C的地址之后)。若子节点I的地址是由父节点C从债权节点D中借用地址进行的分配,则父节点C将子节点I的地址信息转发至债权节点D,由债权节点D进行地址的冲突检测。当债权节点D检测到该地址没有分配给其他子节点时,直接回复允许消息至子节点I,并将该地址及父节点C的地址写入本地的被借地址维护表中;当该地址已经分配给其他子节点时,则回复拒绝消息,并要求子节点I对地址进行修改(例如重新生成k比特地址置于节点D的地址之后)。本发明实施例通过借用地址策略为子节点进行地址分配,有效解决因节点密度分布不均所引起的地址空间不足问题,提高节点的接入成功率,并且节点采用分布式地址配置方式,将网络层地址分配和路由协议相结合地址的形式能够较好的体现路由关系,为节省路由开销提供便利。实施例二本实施例主要介绍一种网络合并的方法,当网络分裂时,可以基于本方法在不重新配置子节点地址的情况下实现网络合并。如在实施例一的基础上对网络中的各个节点进行地址分配后,若某一节点死亡或离开网络,则该节点的子节点则分裂为孤立节点,此时,该孤立节点可以保留其原始地址重新加入网络,减少了大规模网络中因节点频繁离开和重新加入网络所引起的潜在地址重新配置的开销,提高对网络动态变化的适用性。本实施例结合图I与图3进行介绍,主要包括如下步骤步骤301、子节点向其新任父节点发送地址通告消息,其新任父节点收到该通告消息后,检测子节点的地址信息是否在本地地址空间内;若是,则转入步骤302 ;否则,转入步骤 303。当父节点死亡或离开网络后,其子节点则分裂为孤立节点,具体的当父节点死亡或离开网络时,该子节点与其父节点失去连接;若所述子节点向其父节点发送η (η为大于O的自然数)次询问消息均未收到确认信息,则确定所述子节点分裂为孤立节点,所述η为大于O的自然数。如图I中的节点D死亡或离开网络后,其子节点H则分裂为孤立节点。
此时,该子节点需要重新选择新任父节点来加入网络。优选的,从实施例一的地址分配方式可以确定该子节点以其原父节点或债权节点的地址作为自身地址的前缀。因此,为使节点地址尽可能多的反映路由关系,用以减少路由开销,可以使用该子节点的前缀为选择新任父节点的匹配条件,以优先选择其原父节点的兄弟节点和上级节点作为新任父节点。该子节点按照上述方法选择新任父节点后,向其新任父节点发送地址通告消息,其新任父节点收到该通告消息后,检测子节点的地址信息是否在本地地址空间内。若是,则转入步骤302 ;否则,转入步骤303。例如,子节点H根据自身地址的前缀选择其原父节点D的兄弟节点C作为新任父节点,则向节点C发送地址通告消息,该消息中携带其自身地址I. I. 2. I。
步骤302、回复确认消息。该子节点的地址由其原父节点从新任父节点中借用地址所分配,因此,当该子节点合并于新任父节点后,其地址处于新任父节点之中,该新任父节点直接回复确认消息。另外,该子节点的新任父节点也可以为其原父节点,例如,若原父节点排除某些故障后又重新恢复通信(加入网络),则当该子节点以其自身地址的前缀进行新任父节点的匹配条件时,也可直接选择其原父节点作为新任父节点。步骤303、判断该子节点地址的前缀是否与其原父节点的地址匹配。新任父节点向所述原父节点的上级节点发送包含所述子节点地址信息的借用地址消息。原父节点的上级节点收到该消息后,判断子节点的地址由其原父节点直接分配还是从该原父节点的兄弟节点或从该上级节点借用地址所分配。若该子节点地址的前缀与其原父节点的地址匹配;则转入步骤304 ;否则,转入步骤305。步骤304、确定该子节点的地址由其原父节点直接分配。此时,所述原父节点的上级节点查看所述原父节点的地址是否已经分配给新的节点使用(原父节点死亡或离开网络后其上级节点将地址回收,该地址可以重新分配给该父节点的兄弟节点继续使用);若已分配给新的节点(一般为该父节点的兄弟节点),则将该借用地址消息转发至新分配的节点,由该节点将被借用的地址及新任父节点的地址写入本地的被借地址维护表中;否则,等待所述原父节点的地址被分配后再转发该消息。步骤305、确定该子节点的地址由其原父节点向债权节点借用地址所分配。当该子节点的地址由其原父节点向债权节点(兄弟节点或其上级节点)借用地址所分配时。该原父节点的上级节点判断自身是否为该子节点的债权节点,若是,则将被借用的地址及新任父节点的地址写入本地的被借地址维护表中;否则,确定债权节点为其原父节点的兄弟节点。该原父节点的上级节点可以通过该子节点的地址前缀为依据也可以查看节点的被借地址维护表来确定债权节点。当确定债权节点后,则查看该债权节点是否死亡或脱离网络。若该债权节点已死亡或脱离网络,则查看该债权节点的地址是否已经分配给新的节点使用(一般为债权节点的兄弟节点);若已分配,则将该借用地址消息转发至新分配的节点,由该节点将被借用的地址及新任父节点的地址写入本地的被借地址维护表中;否则,等待所述债权节点的地址被分配后再转发该消息;
若该债权节点在网络中正常工作,则将该消息转发至该债权节点,由债权节点将被借用的地址及新任父节点的地址写入本地的被借地址维护表中。本发明实施例中当网络分裂时,可在不重新配置子节点地址的情况下实现网络合并,减少了大规模网络中因节点频繁离开和重新加入网络所引起的潜在地址重新配置的开销,提高对网络动态变化的适用性。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种网络地址配置的方法,其特征在于,该方法包括 父节点接收到其子节点发送的地址请求消息后,判断本地是否有剩余地址可供分配; 若有,则从本地的地址空间中为该子节点分配地址;否则,所述父节点向债权节点借用地址分配给所述子节点,其中,所述债权节点为所述父节点的上级节点或与所述父节点具有相同上级节点的兄弟节点。
2.根据权利要求I所述的方法,其特征在于,所述父节点向债权节点借用地址分配给所述子节点的步骤包括 所述父节点向债权节点发送借用地址消息,并将债权节点反馈的借用地址应答消息转发至所述子节点; 所述子节点将该借用地址应答消息中携带的所述债权节点的地址作为前缀,并生成k比特地址置于所述债权节点地址之后作为自身地址,所述k为大于O的自然数。
3.根据权利要求2所述的方法,其特征在于,该方法还包括 当所述父节点有多个兄弟节点时,则将兄弟节点中最先反馈消息、剩余地址最多或信号强度最大的节点作为债权节点; 或,所述父节点无兄弟节点时,将其上级节点作为债权节点。
4.根据权利要求1-3任一项所述的方法,其特征在于,该方法还包括 所述父节点将所述子节点生成的地址信息发送至债权节点; 该债权节点对子节点的地址进行冲突检测; 若地址冲突,则发送拒绝消息,并要求子节点进行地址修改;否则,发送允许消息,并将该地址及其父节点的地址写入本地的被借地址维护表中。
5.—种网络合并的方法,其特征在于,该方法包括根据权利要求1-4任一项所述的方法配置地址; 当子节点分裂为孤立节点时,则该子节点以自身地址的前缀作为网络合并时选择新任父节点的匹配条件,优先选择其原父节点的兄弟节点和上级节点作为新任父节点。
6.根据权利要求5所述的方法,其特征在于,该方法还包括 新任父节点根据所述子节点发送的带有自身地址信息的地址通告消息,检测子节点的地址是否在本地地址空间内; 若是,则回复确认消息;否则,向所述原父节点的上级节点发送包含所述子节点地址信息的借用地址消息。
7.根据权利要求6所述的方法,其特征在于,该方法还包括 所述原父节点的上级节点收到所述借用地址消息后,判断所述子节点的地址的前缀是否与其原父节点的地址匹配; 若是,则确定该子节点的地址由其原父节点直接分配;否则,确定该子节点的地址由其原父节点向债权节点借用地址所分配。
8.根据权利要求7所述的方法,其特征在于,该方法还包括 当该子节点的地址由其原父节点直接分配时,所述原父节点的上级节点查看所述原父节点的地址是否已经分配给所述原父节点的兄弟节点使用;若是,则将所述借用地址消息转发至新分配的所述原父节点的兄弟节点,由该节点将被借用的地址及新任父节点的地址写入本地的被借地址维护表中;否则,等待所述原父节点的地址被分配后再转发该消息;当该子节点的地址由其原父节点向债权节点借用地址所分配时,则所述原父节点的上级节点判断自身是否为该子节点的债权节点,若是,则将被借用的地址及新任父节点的地址写入本地的被借地址维护表中;否则,确定债权节点为其原父节点的兄弟节点。
9.根据权利要求8所述的方法,其特征在于,所述确定债权节点为其原父节点的兄弟节点后还包括 所述原父节点的上级节点根据所述子节点的地址从该原父节点的兄弟节点中确定债权节点,并查看所述债权节点是否死亡或脱离网络; 若该债权节点已死亡或脱离网络,则查看该债权节点的地址是否已经分配给所述债权节点的兄弟节点使用;若已分配,则将所述借用地址消息转发至新分配的所述债权节点的兄弟节点,由该节点将被借用的地址及新任父节点的地址写入本地的被借地址维护表中;否则,等待所述债权节点的地址被分配后再转发该消息; 否则,将该消息转发至所述债权节点,由债权节点将被借用的地址及新任父节点的地址写入本地的被借地址维护表中。
10.根据权利要求5-9任一项所述的方法,其特征在于,该方法还包括 若所述子节点向其父节点发送η次询问消息均未收到确认信息,则确定所述子节点分裂为孤立节点,所述η为大于O的自然数。
全文摘要
本发明公开了一种网络地址配置及网络合并的方法,其中网络地址配置的方法包括父节点根据接收到的其子节点发送的地址请求消息,判断本地是否有剩余地址可供分配;若有,则从本地的地址空间中为该子节点分配地址;否则,所述父节点向债权节点借用地址分配给所述子节点,其中,所述债权节点为所述父节点的上级节点或与所述父节点具有相同上级节点的兄弟节点。通过采用本发明公开的方法解决因节点密度分布不均所引起的地址空间不足问题,提高节点的接入成功率。
文档编号H04L29/12GK102984296SQ201210524479
公开日2013年3月20日 申请日期2012年12月7日 优先权日2012年12月7日
发明者高德云, 张宏科, 朱婉婷, 赵伟程, 张琳娟 申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1