长链状ZigBee网络的网络地址分配方法和路由方法

文档序号:7666549阅读:213来源:国知局

专利名称::长链状ZigBee网络的网络地址分配方法和路由方法
技术领域
:本发明是有关于长链状ZigBee网络,且特别是有关于一种长链状ZigBee网络的网络地址分配方法以及路由(routing)方法。
背景技术
:在快速发展的无线传感网络(wirelesssensornetwork)技术中,ZigBee网络协定是一项重要且普及的技术。ZigBee网络协定所定义的路由方法主要可分成二种表格路由(tablerouting)与树状路由(treerouting)。表格路由主要是通过查表的方式来知道下一个要传送的节点(node)。树状路由则是利用地址分配(addressassignment)来进行路由,采用树状路由的网络都有预定的规则架构,根据地址就能知道每一个节点在网络中的位置,因此由附近节点的地址就能决定要传送的方向。然而这二种路由方式都有其缺点而均不适合长链状网络的使用。长链状网络就如图l所示,其中每个圆圈代表一个节点。长链状网络的主体是由很长的骨干网络组成,其分支网络的长度比较短。表格路由的方式,通常是在每一个节点上以有限的空间,来存放一个路由表(routingtable)。举例而言,当节点A要送封包至节点B时,节点A会先查路由表有没有存放到达节点B的路由信息。如果有,就依路由信息传送封包。如果没有,节点A会对下面的其他节点广播,以询问送封包至节点B的路径,得到路由信息后,再把原来的封包送至节点B。这种方式的缺点是成本太高,在进行路由时,可能会一直向周围的节点广播,才能得到路由信息,如此可能会有很长的广播时间,而且会造成网络拥塞以及不必要的传输浪费。树状路由的方式是依附近节点的地址来决定路由的方向。ZigBee网络设备支持两种地址类型一种是64位的IEEE(InstituteofElectricalandElectronicsEngineers,即国际电气电子工程师学会)地址,另一种是16位的网络地址(networkaddress)。IEEE地址在所有ZigBee网络设备之中是唯一的。16位的网络地址则可以由使用者自定,来决定路由的信息。然而,由于网络地址只有16位,也就是最多只能分配216个地址。网络中每个节点只能有单一的网络地址,而且使用树状路由的网络架构(topology)必须为平衡树(balancetree)。以最大链结长度(MAX—DEPTH)为5,最大下级节点数量(MAX—CHILDREN)为6的网络架构为例,16位的网络地址最多只能有五层长度,如图2所示。由于全部节点太多,绘示不便,图2仅绘示其中一部分。若以最大下级节点数量为2的平衡树来计算,16位的网络地址最多只能有15层的网络链结长度,并不适用于链结长度通常会大于15的长链状网络。由上述讨论可知,ZigBee网络协定所定义的二种路由方法,表格路由和树状路由,都不适用于长链状网络。
发明内容本发明提供一种特别适用于长链状ZigBee网络的网络地址分配方法,可减少封包传输的成本。本发明提供一种特别适用于长链状ZigBee网络的路由方法,可提升网络路由的效能。本发明的长链状ZigBee网络包括多个集群(cluster),每一集群包括一个集群首领(clusterheader)以及多个集群成员(clustermember)。本发明提出一种长链状ZigBee网络的网络地址分配方法,其特点是分配一网络地址至一长链状ZigBee网络的每一节点,其中每个网络地址包括一集群代号(clusterID)与一节点代号(nodeID)。集群代号用以识别长链状ZigBee网络的多个集群并且用以进行集群之间的封包路由。节点代号用以识别每一集群包括的多个节点并且用以进行每一集群之内的封包路由。在本发明的一实施例中,从长链状ZigBee网络的协调器(coordinator)开始,各集群的集群代号是以递增或递减方式排列。每一个集群首领的节点代号设定为零,集群成员的节点代号则依照传统的ZigBee网络地址分配演算法进行分配。在本发明的一实施例中,上述的每一集群皆为平衡树。每一个平衡树可以有相同的最大链结长度与最大下级节点数量,也可以有各自的最大链结长度与最大下级节点数量。本发明另提出一种长链状ZigBee网络的路由方法,包括下列步骤。首先,使用上述的网络地址分配方法分配各节点的网络地址。在传递封包时,检查封包的所在节点的集群代号是否等于同一封包的目的节点的集群代号。若上述两个集群代号相等,则根据目的节点的节点代号以及一预设演算法在该集群内进行封包路由。若上述两个集群代号不相等,则根据目的节点的集群代号在上述集群之间进行封包路由。在本发明的一实施例中,上述的预设演算法为树状路由演算法或表格路由演算法。在本发明的一实施例中,若封包所在节点的集群代号不等于目的节点的集群代号,而且所在节点为集群成员,则传送封包至所在节点的上级节点(parentnode)。若封包所在节点的集群代号不等于目的节点的集群代号,而且所在节点为集群首领,则根据所在节点的集群代号与目的节点的集群代号的比较结果,传送封包至所在节点的上级集群首领(parentclusterheader)或下级集群首领(childclusterheader)。在本发明的一实施例中,若封包所在节点的集群代号不等于目的节点的集群代号,而且所在节点为集群首领,则在集群首领之间传送封包的原则如下。若目的节点的集群代号位于协调器的集群代号与所在节点的集群代号所限定的范围之内,则传送封包至所在节点的上级集群首领。反之,若目的节点的集群代号位于协调器的集群代号与所在节点的集群代号所限定的范围之外,则传送封包至所在节点的下级集群首领。在本发明的一实施例中,在集群首领之间传送封包时,若某个上级集群首领无法接收封包,而且此上级集群首领的集群代号不等于封包目的节点的集群代号,则传送封包至此上级集群首领的上级集群首领。另一方面,若某个下级集群首领无法接收封包,而且此下级集群首领的集群代号不等于封包目的节点的集群代号,则传送封包至此下级集群首领的下级集群首领。本发明的网络地址分配方法以及路由方法是针对长链状ZigBee网络而设计,因此特别适用于长链状ZigBee网络,可减少封包传输的成本,提升网络路7由的效能。为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中图1是现有的一种长链状ZigBee网络的示意图。图2是现有的一种树状ZigBee网络的示意图。图3是依照本发明一实施例的长链状ZigBee网络架构示意图。图4是依照本发明一实施例的网络地址示意图。图5是依照本发明一实施例的长链状ZigBee网络架构示意图。图6是依照本发明一实施例的长链状ZigBee网络的路由方法流程图。图7是依照本发明一实施例的长链状ZigBee网络架构示意图。主要元件符号说明300、500、700:长链状ZigBee网络301:协调器310、320、330:节点集群311、321、331:集群首领312、322、332:集群成员340:骨干网络610-670:流程图步骤701-706:ZigBee网络节点0x0000-0x1400:网络节点的网络地址具体实施例方式图3为依照本发明一实施例的长链状ZigBee网络300示意图。本实施例的ZigBee网络可包括一个协调器以及多个节点集群。例如图3的ZigBee网络300包括协调器301以及三个集群310、320、330。每个集群包括一个集群首领以及多个集群成员,例如集群310包括集群首领311以及四个集群成员312,8集群320包括集群首领321以及四个集群成员322,集群330包括集群首领331以及四个集群成员332。每个集群的成员数量可以相同也可以不相同。所有集群首领组成了长链状ZigBee网络的骨干网络部分,例如集群首领311、321、以及331组成了ZigBee网络300的骨干网络340。本实施例采用16位的网络地址进行封包路由,这些网络地址在一开始规划ZigBee网络时就分配给网络中的每一个节点。如图4所示,每一个网络地址包括一个集群代号与一个节点代号,集群代号与节点代号各占多少位视实际应用而定。集群代号用以识别长链状ZigBee网络的各个集群,并且用以进行各集群之间的封包路由。节点代号则用以识别每一个集群所包括的多个节点,并且用以进行每一个集群之内的封包路由。每一个节点的集群代号和该节点的集群首领相同,也就是说,同一个集群的所有节点都有相同的集群代号。不同集群的节点则有不同的集群代号。协调器有一个唯一的集群代号,和所有集群都不相同。同一个集群之内的节点各有不同的节点代号。为了能轻易判断封包的路由方向,所有集群首领的集群代号必须组成一个严格递增数歹lj(strictlyincreasingsequence)或严格递减数歹ll(strictlydecreasingsequence)。若是严格递增数列,协调器必须有全网络最小的集群代号,例如协调器的网络地址可为0x0000,离协调器越远的集群首领分配到的集群代号就越大。反之,若是严格递减数列,协调器必须有全网路最大的集群代号,离协调器越远的集群首领分配到的集群代号就越小。如果需要更规则的顺序,可将所有集群首领的集群代号设定为一个等差数列。至于节点代号的分配,可将每一个集群首领的节点代号设定为零,集群成员的节点代号则依照传统的ZigBee网络地址分配演算法进行分配。接下来说明本实施例的封包路由方法。以下说明请参照图5和图6,图6为本实施例的长链状ZigBee网络的路由方法流程图,图5为用以说明图6流程的一个ZigBee网络范例。图5绘示了长链状ZigBee网络500的所有节点以及各节点的网络地址,其中的网络地址就如图4所示,包括6位的集群代号以及IO位的节点代号。图6的流程从步骤610开始。首先,当需要将某一个封包传送到某一个目的节点时,在步骤610判断封9包目前的所在节点的集群代号是否等于欲传送的目的节点的集群代号。如果这两个集群代号相等,表示封包所在节点和目的节点位于同一个集群之内,例如图5的节点0x0402以及0x0404。此时流程进入步骤620,根据目的节点的节点代号以及预设演算法在这个集群内进行封包路由。上述的预设演算法用于单一集群之内的封包路由,可以采用树状路由演算法或表格路由演算法。若采用树状路由演算法,为了简化运算,可将每个集群都规划为平衡树架构,而且可将每一个平衡树设定为具有相同的最大链结长度以及最大下级节点数量。这并非必要限制条件,在本发明的其他实施例中,每一个平衡树可以有各自的最大链结长度以及最大下级节点数量。回到步骤610,若封包所在节点的集群代号不等于目的节点的集群代号,表示所在节点和目的节点不在同一个集群当中,例如所在节点为0x0402,而目的节点为0x0C03。此时必须藉骨干网络根据目的节点的集群代号进行集群之间的封包路由,流程会进入步骤630以判断封包所在节点的种类。如果封包所在节点为一般的集群成员(非集群首领),则流程进入步骤640,将封包传送到目前所在节点的上级节点,例如节点0x0402会将封包传送至节点0x0401,而节点0x0401会将封包传送至集群首领0x0400。回到步骤630,若封包所在节点为集群首领,则流程进入步骤650,检查目的节点的集群代号是否位于协调器的集群代号与封包所在节点的集群代号所限定的范围之内。如果在此范围之内,表示目的节点位于协调器与封包所在节点之间,就在步骤660将封包传送至所在节点的上级集群首领,也就是协调器方向的前一个集群首领。反之,如果目的节点的集群代号位于此范围之外,就在步骤670将封包传送至所在节点的下级集群首领,也就是远离协调器方向的下一个集群首领。举例而言,集群首领0x0800的上级集群首领是0x0400,而下级集群首领是OxOCOO。在前面的从节点0x0402传送封包至节点0x0C03的范例中,封包依次经过节点0x0401、0x0400、0x0800,然后到达集群首领OxOCOO。集群首领OxOCOO则依次执行步骤610与620,使用步骤620的预设演算法进行集群内路由,将封包传送到节点OxOC03。无线传感网络可能应用在大范围的自然环境中,可能会有节点损坏,损坏的节点将无法传递封包,为了适应此情况,本发明包括骨干网络的容错(faulttolerance)机制。请参照图7,图7为依照本发明一实施例的长链状ZigBee网络700的示意图。为简单起见,图7仅绘示ZigBee网络700的骨干网络其中一部分,也就是集群首领701-706。本实施例的容错机制为,在集群首领之间传送封包时,如果某一个上级集群首领无法接收封包,而且这个上级集群首领的集群代号不等于封包目的节点的集群代号,就将封包传送到这个上级集群首领的上级集群首领。同理,如果某一个下级集群首领无法接收封包,而且这个下级集群首领的集群代号不等于封包目的节点的集群代号,就将封包传送到这个下级集群首领的下级集群首领。例如图7所示,原本将封包从集群首领702传送到集群首领704,如果集群首领704因故无法接收封包,就直接将封包从集群首领702传送到集群首领705。为达到容错的目的,每个集群首领的无线传输范围在靠近协调器的方向必须涵盖至少两个上级集群首领,在远离协调器的方向也必须涵盖至少两个下级集群首领。综上所述,本发明的网络地址分配方法以及路由方法是针对长链状ZigBee网络的架构而设计,因此特别适用于长链状ZigBee网络,尤其是链结长度超过15层的长链状网络。本发明可减少封包传输的成本,提升网络路由的效能。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。权利要求1.一种长链状ZigBee网络的网络地址分配方法,其特征在于分配一网络地址至一长链状ZigBee网络的每一节点,其中该网络地址包括一集群代号与一节点代号,该集群代号用以识别该长链状ZigBee网络的多个集群并且用以进行该些集群之间的封包路由,该节点代号用以识别上述每一集群包括的多个节点并且用以进行上述每一集群之内的封包路由。2.如权利要求1所述的长链状ZigBee网络的网络地址分配方法,其特征在于,该长链状ZigBee网络的所有集群首领的集群代号组成一严格递增数列或一严格递减数列。3.如权利要求2所述的长链状ZigBee网络的网络地址分配方法,其特征在于,若该些集群代号组成该严格递增数列,则该长链状ZigBee网络的协调器的集群代号小于该严格递增数列的每一集群代号,若该些集群代号组成该严格递减数列,则该协调器的集群代号大于该严格递增数列的每一集群代号。4.如权利要求2所述的长链状ZigBee网络的网络地址分配方法,其特征在于,该些集群代号组成一等差数列。5,如权利要求2所述的长链状ZigBee网络的网络地址分配方法,其特征在于,上述每一集群首领的节点代号皆为零。6.如权利要求1所述的长链状ZigBee网络的网络地址分配方法,其特征在于,上述每一节点的集群代号和该节点的集群首领相同。7.如权利要求1所述的长链状ZigBee网络的网络地址分配方法,其特征在于,上述每一集群皆为平衡树。8.如权利要求7所述的长链状ZigBee网络的网络地址分配方法,其特征在于,上述每一平衡树皆有相同的最大链结长度与最大下级节点数量。9.一种长链状ZigBee网络的路由方法,其特征在于包括(a)分配一网络地址至一长链状ZigBee网络的每一节点,其中该网络地址包括一集群代号与一节点代号,该集群代号用以识别该长链状ZigBee网络的多个集群,该节点代号用以识别上述每一集群包括的多个节点;(b)检查一封包的所在节点的集群代号与该封包的目的节点的集群代号是否相同;(C)若该所在节点的集群代号等于该目的节点的集群代号,则根据该目的节点的节点代号以及一预设演算法在该集群内进行该封包的路由;以及(d)若该所在节点的集群代号不等于该目的节点的集群代号,则根据该目的节点的集群代号在该些集群间进行该封包的路由。10.如权利要求9所述的长链状ZigBee网络的路由方法,其特征在于,该长链状ZigBee网络的所有集群首领的集群代号组成一严格递增数列或一严格递减数列。11.如权利要求10所述的长链状ZigBee网络的路由方法,其特征在于,若该些集群首领的集群代号组成该严格递增数列,则该长链状ZigBee网络的协调器的集群代号小于该严格递增数列的每一集群代号,若该些集群首领的集群代号组成该严格递减数列,则该协调器的集群代号大于该严格递增数列的每一集群代号。12.如权利要求10所述的长链状ZigBee网络的路由方法,其特征在于,该些集群首领的集群代号组成一等差数列。13.如权利要求10所述的长链状ZigBee网络的路由方法,其特征在于,上述每一集群首领的节点代号皆为零。14.如权利要求9所述的长链状ZigBee网络的路由方法,其特征在于,上述每一节点的集群代号和该节点的集群首领相同。15.如权利要求9所述的长链状ZigBee网络的路由方法,其特征在于,上述每一集群皆为平衡树。16.如权利要求15所述的长链状ZigBee网络的路由方法,其特征在于,上述每一平衡树皆有相同的最大链结长度与最大下级节点数量。17.如权利要求9所述的长链状ZigBee网络的路由方法,其特征在于,该预设演算法为树状路由演算法或表格路由演算法。18.如权利要求9所述的长链状ZigBee网络的路由方法,其特征在于,步骤(d)包括(dl)若该所在节点的集群代号不等于该目的节点的集群代号,而且该所在节点为集群成员,则传送该封包至该所在节点的上级节点;以及(d2)若该所在节点的集群代号不等于该目的节点的集群代号,而且该所在节点为集群首领,则根据该所在节点的集群代号与该目的节点的集群代号的比较结果,传送该封包至该所在节点的上级集群首领或下级集群首领。19.如权利要求18所述的长链状ZigBee网络的路由方法,其特征在于,步骤(d2)包括(d21)若该目的节点的集群代号位于该长链状ZigBee网络的协调器的集群代号与该所在节点的集群代号所限定的范围之内,则传送该封包至该上级集群首领;以及(d22)若该目的节点的集群代号位于该协调器的集群代号与该所在节点的集群代号所限定的范围之外,则传送该封包至该下级集群首领。20.如权利要求19所述的长链状ZigBee网络的路由方法,其特征在于,步骤(d21)包括若该上级集群首领无法接收该封包,而且该上级集群首领的集群代号不等于该目的节点的集群代号,则传送该封包至该上级集群首领的上级集群首领;而且步骤(d22)包括若该下级集群首领无法接收该封包,而且该下级集群首领的集群代号不等于该目的节点的集群代号,则传送该封包至该下级集群首领的下级集群首领。全文摘要本发明提供一种长链状ZigBee网络的网络地址分配方法与路由方法。上述路由方法的步骤如下。首先,分配网络地址至一长链状ZigBee网络的每一节点,其中每个网络地址包括一集群代号与一节点代号。集群代号用以识别长链状ZigBee网络的多个集群,节点代号用以识别每一集群包括的多个节点。在传递封包时,检查封包的所在节点与目的节点是否位在同一集群。若位在同一集群,则根据目的节点的节点代号以及一预设演算法在该集群内进行封包路由。若不在同一集群,则根据目的节点的集群代号在上述集群之间进行封包路由。文档编号H04L12/56GK101459586SQ200710186598公开日2009年6月17日申请日期2007年12月11日优先权日2007年12月11日发明者刘永之,方华韦申请人:财团法人资讯工业策进会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1