网络装置及网络地址初始化分配方法与流程

文档序号:19193691发布日期:2019-11-25 21:25阅读:203来源:国知局
网络装置及网络地址初始化分配方法与流程
本发明涉及数据处理技术,尤其是涉及一种网络装置及网络地址初始化分配方法。
背景技术
:现有的很多网络都是根据cluster-tree算法分配地址空间。cluster-tree算法分配的地址空间cskip(d)通常无法满足网络节点数量,以经典的cluster-tree网络拓扑为例,能够容纳的最大节点数只有52个。当网络加入的节点数量超过网络可分配的最大地址数时,root必须重新规划网络模型,然后重新分配地址。这种地址分配方法对于一片区域内分布了成千上万个微型传感器显然不适用的。而且,由于cluster-tree算法分配的地址空间长度有限,当新节点需要申请加入网络时,经常会发生预备父节点下子节点已经达到饱和的状况,这时预备父节点需要向上层询问是否有冗余的地址空间,如果上层也已经饱和,需要向更上层申请,通讯开销和时间开销都是很大的。技术实现要素:鉴于以上内容,有必要提供一种网络地址初始化分配方法,可以提高网络分配地址空间能力以及网络为新加入节点分配地址的效率。鉴于以上内容,还有必要提供一种应用该网络地址初始化分配方法的网络装置,可以为网络提供更多的地址空间以及更快速的为网络中新加入节点分配地址。所述网络地址初始化分配方法包括步骤:根据网络层数l计算网络需要分配的地址预取值npre;比较所述网络需要分配的地址预取值npre与网络最大可分配地址数n;根据比较结果计算网络中每个节点的最大可接入子节点数cmax和网络实际需要分配的地址数na;根据所述网络中每个节点的最大可接入子节点数cmax和所述网络实际需要分配的地址数na计算网络中第i层的节点需要分配的地址空间cskip(i),其中1≤i≤l;根据所述网络中第i层的节点需要分配的地址空间cskip(i)对网络进行地址初始化分配。所述网络装置包括:第一计算模块用于根据网络层数l计算网络需要分配的地址预取值npre;判断模块用于比较所述第一计算模块计算的所述网络需要分配的地址预取值npre与网络最大可分配地址数n;第二计算模块用于根据所述判断模块的比较结果计算网络中每个节点的最大可接入子节点数cmax和网络实际需要分配的地址数na;第三计算模块用于根据所述第二计算模块计算的所述网络中每个节点的最大可接入子节点数cmax和所述网络实际需要分配的地址数na计算网络中第i层的节点需要分配的地址空间cskip(i),其中1≤i≤l;分配模块用于根据所述第三计算模块计算的所述网络中第i层的节点需要分配的地址空间cskip(i)对网络进行地址初始化分配。相较于现有技术,所述的网络装置及网络地址初始化分配方法,将网络最大地址数考虑进来,每一层的父节点都掌握自己已分配和未分配的地址空间cskip(i),新节点加入时,可以有效地避免不必要的通讯开销和时间开销;而且,能够有效避免root重新规划网络模型,初始化分配地址的情况。附图说明图1是本发明网络装置一实施例的功能模块图。图2是图1所示的网络装置进行网络地址初始化分配的示例图。图3是本发明网络地址初始化分配方法一实施例的流程图。主要元件符号说明网络装置2用户终端4地址初始化分配系统10存储器20处理器30第一计算模块100判断模块200第二计算模块300第三计算模块400分配模块500存储模块600如下具体实施方式将结合上述附图进一步说明本发明。具体实施方式参阅图1所示,是本发明网络装置2较佳实施例的功能模块图。网络装置2中包括地址初始化分配系统10、存储器20和处理器30。在本实施例中,网络装置2可以是网关、交换机、路由器、服务器等设备等,以有线或无线方式连接于一个或多个用户终端4。地址初始化分配系统10用于创建网络拓扑及为用户终端4分配网络地址。所述地址初始化分配系统10包括设定模块100、第一计算模块100、判断模块200、第二计算模块300、第三计算模块400、分配模块500和存储模块600。所述模块被配置成由一个或多个处理器(本实施例为处理器30)执行,以完成本发明。本发明所称的模块是完成一特定功能的计算机程序段。存储器20用于存储地址初始化分配系统10的程序代码等资料。所述第一计算模块100用于根据网络协议中节点采用地址位数m及计算规则n=2m-1计算最大可分配地址数为n;在本实施方式中,根据网络层数为l并且网络中的每个节点的最大可接入子节点数相同,所以第一计算模块100可以根据最大可分配地址数n的l分之一次方取整得到网络中每个节点的最大可接入子节点预取值cpre,即:然后再根据网络中各层的节点数求和得到网络需要分配的地址预取值npre,即:所述判断模块200用于比较所述第一计算模块计算的所述网络需要分配的地址预取值npre与网络最大可分配地址数n。所述第二计算模块300用于根据所述判断模块所述的比较结果计算网络中每个节点的最大可接入子节点数cma和网络实际需要分配的地址数na。在本实施方式中,网络需要分配的地址预取值npre小于网络最大可分配地址数n时,网络中每个节点的最大可接入子节点预取值cpre是正确的;否则,说明所述每个节点的最大可接入子节点预取值cpre偏大,需要进行减1处理。也就是说,在本实施例中,当判断模块200比较出npre≤n时,第二计算模块300根据计算规则cmax=cpre计算网络中每个节点的最大可接入子节点数cmax及根据计算规则na=npre计算网络实际需要分配的地址数na;判断模块200比较出npre>n时,第二计算模块300根据计算规则cmax=cpre-1计算网络中每个节点的最大可接入子节点数cmax,再根据计算规则计算网络实际需要分配的地址数na。请参阅表1,所示为节点地址为16bit位的网络在网络层数l取不同值时,网络中每个节点最大可接入子节点数cmax、网络实际需要分配的地址数na以及网络剩余未分配的地址nrest的计算表。lcmaxnanrest165535655350225565280255339608794656415542401129558374482808766559869549表1例如,当l=3时,第一计算模块100根据所述计算规则和计算规则分别计算出所述网络需要分配的地址预取值npre=40及所述网络需要分配的地址预取值npre=65640;判断模块200比较出所述网络需要分配的地址预取值npre大于所述网络最大可分配地址数n=216-1=65535;然后第二计算模块300根据所述计算规则cmax=cpre-1计算出网络中每个节点的最大可接入子节点数cmax=39,再根据计算规则na=cmaxl+cmaxl-1+cmaxl-2+…cmax计算网络实际需要分配的地址数na=60879。本实施方式中,网络中每一层的父节点根据最大子节点数给下一层的最大子节点数平均分配地址空间,第一层的节点的父节点为所述网络根节点,即根节点将网络实际需要分配的地址数na平均分配给第一层的cmax个节点,然后第一层的节点将所述第一层的节点的地址数减去该节点本身的需要用的一个地址再平均分配给第二层的cmax个节点,依次分配下去,直到最末层的每个节点分配到相应的地址。也就是说,所述第三计算模块400用于根据第二计算模块300计算的所述网络中每个节点的最大可接入子节点数cmax和所述网络实际需要分配的地址数na,根据计算规则:计算网络第i层的节点需要分配的地址空间cskip(i),其中1≤i≤l。所述分配模块500,用于根据述第三计算模块400计算的第i+1层的节点需要分配的地址空间cskip(i+1),将第三计算模块400计算的第i+1层的节点的父节点的地址空间cskip(i)的地址分配给所述第i+1层的节点;其中,第1层的节点的父节点是所述网络根节点,其地址空间为na。请参阅图2,所示为网络装置进行网络地址初始化分配的示例图。由图2可知,该网络的节点地址为16bit位,网络层数l=6。根据第二计算模块300的计算得到所述网络的网络中每个节点的最大可接入子节点数cmax=6,网络实际需要分配的地址数na=55986;第三计算模400块根据第二计算模块的计算结果及所述计算规则:分别计算出该网络第一层到第六层的节点需要分配的地址空间分别为:cskip(3)=259、cskip(4)=43、cskip(5)=7、cskip(6)=1。然后由分配模块500将网络实际需要分配的地址数na分配给第一层的每一个节点,分配的地址空间大小为9331;再将第一层的节点的地址空间9331分配给第二层的每一个节点,分配的地址空间大小为1555;依次分配到最末层的每一个节点。所述存储模块600用于存储分配模块500分配完毕后第i层的节点保留的所述第i层的节点的地址空间cskip(i)中未分配出去的地址;请参阅图2,所述分配模块500第一层节点的地址空间9331分配给第二层的每一个节点,分配大小为1555;但是第一层的节点下的子节点数至多的只有3个,那么9331的地址只需要分配至多3个地址空间为1555的地址,9331地址空间中未分配出去的地址,则存储在所述存储模块600中,以待后续分配。所述存储模块600还用于存储所述网络根节点保留的最大可分配地址数n减去所述分配模块500用于分配的网络实际需要分配的地址数na之后的网络剩余未分配的地址nrest。请参阅图2,节点地址为16bit位,网络层数为6的网络,所述网络剩余未分配的地址nrest=9549,这部分地址由所述网络根节点保留,存储在存储模块600以待后续分配。参阅图3所示,是本发明网络地址初始化分配方法一实施例的流程图。所述网络地址初始化分配方法应用于网络装置2中,通过处理器30执行存储器20中存储的程序代码实现。步骤s10:统计网络层数l,根据网络协议中节点采用地址位数m,设定网络的最大可分配地址数为n=2m-1(即除去网络根节点外的所有地址);并设定网络中的每个节点的最大可接入子节点数相同。步骤s12:根据所述网络层数l、所述最大可分配地址数n及预设的计算规则计算得到网络中每个节点的最大可接入子节点预取值cpre和网络需要分配的地址预取值npre。在本实施方式中,根据网络层数为l并且网络中的每个节点的最大可接入子节点数相同,所以步骤s12根据最大可分配地址数n的l分之一次方取整得到网络中每个节点的最大可接入子节点预取值cpre,即:然后再根据网络中各层的节点数求和得到网络需要分配的地址预取值npre,即:步骤s14:比较所述网络需要分配的地址预取值npre与所述网络最大可分配地址数n的大小;当npre≤n时,进行步骤s16,否则进行步骤s18。步骤s16:当所述步骤s14比较出npre≤n时,说明步骤s12计算的网络中每个节点的最大可接入子节点预取值cpre和网络需要分配的地址预取值npre是可用的,则根据计算规则cmax=cpre计算所述每个节点的最大可接入子节点数cmax,同时根据计算规则na=npre计算所述网络实际需要分配的地址数na。步骤s18:当所述步骤s3比较出npre>n时,说明步骤s12计算的网络中每个节点的最大可接入子节点预取值cpre和网络需要分配的地址预取值npre是不可用的,需对网络中每个节点的最大可接入子节点预取值cpre作减1处理后重新计算;所以根据计算规则cmax=cpre-1计算所述每个节点的最大可接入子节点数cmax,同时根据计算规则na=cmaxl+cmaxl-1+cmaxl-2+…cmax计算所述网络实际需要分配的地址数na。以节点地址为16bit位的网络为例,所述网络最大可分配地址数n=216-1=65535,当网络层数l=3时,步骤s12根据所述计算规则分别计算出所述网络需要分配的地址预取值npre=40和所述网络需要分配的地址预取值npre=65640;步骤s14对所述网络需要分配的地址预取值npre大于所述网络最大可分配地址数n进行比较,比较结果为npre>n,进行步骤s18;步骤s18根据所述计算规则cmax=cpre-1计算出所述每个节点的最大可接入子节点数cmax=39,再根据所述计算规则na=cmaxl+cmaxl-1+cmaxl-2+…cmax计算所述网络实际需要分配的地址数na=60879。步骤s20:根据步骤s16(或者步骤s18)计算的所述每个节点的最大可接入子节点数cmax和所述网络实际需要分配的地址数na及预设的计算规则计算所述网络第i层的节点需要分配的地址空间cskip(i),其中1≤i≤l。然后再根据计算的网络的每一层节点需要分配的地址空间,将地址初始化分配。本实施方式中,网络中每一层的父节点根据最大子节点数给下一层的最大子节点数平均分配地址空间,第一层的节点的父节点为所述网络根节点,即根节点将网络实际需要分配的地址数na平均分配给第一层的cmax个节点,然后第一层的节点将所述第一层的节点的地址空间cskip(1)减去该节点本身的需要用的一个地址再平均分配给第二层的cmax个节点,依次分配下去,直到最末层的每个节点分配到相应的地址空间。以节点地址为16bit位,网络层数l=6的网络为例,所述步骤s20根据所述计算规则分别计算出该网络第一层到第六层的节点需要分配的地址空间分别为:cskip(3)=259、cskip(4)=43、cskip(5)=7、cskip(6)=1。然后步骤s20将网络实际需要分配的地址空间55986分配给第一层的每一个节点,分配的地址空间大小为9331;再将第一层的节点的地址空间9331分配给第二层的每一个节点,分配的地址空间大小为1555;依次分配到最末层的每一个节点。步骤s22,所述步骤s20分配完毕后,第i层的父节点保留的所述第i层的节点的地址空间cskip(i)中未分配出去的地址;例如,所述步骤s20将第一层节点的地址空间9331分配给第二层的每一个节点,分配大小为1555;但是第一层的节点下的子节点数至多的只有3个,那么9331的地址只需要分配至多3个地址空间为1555的地址,9331地址空间中未分配出去的地址,则由该第一层的节点保留,以待后续分配。步骤s24,所述网络最大可分配地址数n减去所述步骤s16(或者步骤s18)中所述网络实际需要分配的地址数na的网络剩余未分配的地址nrest由所述网络根节点保留,以待后续分配。例如,节点地址为16bit位的网络,当网络层数l=6时,所述网络剩余未分配的地址nrest=65535-55986=9549,这部分地址由所述网络根节点保留,以待后续分配。以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1