一种面向工业互联网标识解析的自适应IPv6地址分配方法与流程

文档序号:20839744发布日期:2020-05-22 17:20阅读:343来源:国知局
一种面向工业互联网标识解析的自适应IPv6地址分配方法与流程

本发明属于计算机网络的标识解析ip地址分配领域,具体为一种面向工业互联网标识解析的自适应ipv6地址分配方法。



背景技术:

目前,全球工业互联网平台市场持续呈现高速增长,我国工业互联网平台呈现蓬勃发展良好局面,但整体仍处于发展初期,还存在众多不确定性因素,预计还需要很长时间才能真正达到成熟发展阶段。工业互联网标识解析方面,我国相关专利持续创新,handle技术专利持有量增长较快,并且我国在完全主导的ecode标准上占据领先地位。目前,ipv4骨干路由表已经超过20万条,路由表的快速增长已严重影响当前互联网的路由性能。如果地址分配和规划不合理,下一代互联网ipv6骨干路由表很可能达到百万量级,不但无法保证电信业务所要求的传输质量,庞大的选路计算负担将超越带宽成为高速互联网络发展的瓶颈。目前正处在ipv6地址应用的早期阶段,关于ipv6地址如何分配的讨论也日趋活跃,国际上具有较多应用和研究的几种分配方法如下:

顺序分配方法是一种简单的自左向右的地址分配管理方法,按照地址请求的先后顺序,从可用地址空间中顺序地分配相应大小地址块给用户。该方法具有直观简单的分配特性,但分配过程中,产生地址片段的数量较多,严重影响地址分配的效率和网络路由的性能。

稀疏分配方法是一种二分的方法,每一个新地址块的分配,都会把已有用户和新用户之间的地址块均衡的划分成两段,只有在最大的空闲地址片段被耗尽的时候,才会进一步分配下一层较小的地址空间片段。稀疏分配方法通过统一分配管理地址的方法,最大化地址分配请求用户间的可用空间。然而当存在一些增长速度极快的用户情况下,可以引起相邻用户间的地址冲突和地址空间分段现象。

基于增长率的地址分配方法在稀疏分配算法的基础上进行了相应的改进,主要想法是在选择分配空闲地址块时,根据可用地址空间大小,以及现有用户和新用户地址的增长情况,选择合适的地址位置进行分配。基于增长率的地址分配方法可以一定程度上提高基于稀疏分配方法的效率,但满足未来较大地址块空间分配请求的成功率大大降低,也会出现不能满足较大地址空间分配请求的情况。



技术实现要素:

为了克服现有工业互联网ip地址分配方法的不足,本发明提出了一种面向工业互联网标识解析的自适应ipv6地址分配方法。该算法尽量避免在高层分配过程中出现地址分段,避免了机械二分地址空间所产生的地址碎片,同时综合考虑用户分配请求的ip地址段长度和地址消耗速度的变化情况。在多个用户同时申请分配地址空间时,重点考虑对于总地址空间影响力较大的用户,首先满足该类用户的分配请求。由于大型isp往往处在地址分配结构的较高层,地址分片的结果将导致其下游的地址碎片显著增加。假设顶级运营商的平均地址分段数为m,次级分配层次的平均地址分段数为n,底层持续增长的用户的地址分片数量将在m×n的量级,所以改进的算法在避免过多地址碎片方面也有贡献,实现了对总体分配效果的提升。

本发明解决其技术问题所采用的技术方案如下:

一种面向工业互联网标识解析的自适应ipv6地址分配方法,其步骤包括:

1)将工业互联网ip地址划分为若干层,每一层对应一段地址空间;

2)对于每一层l,当申请分配地址空间总量超过该层l地址空间中每个空闲地址段的容量,并且该层l可用地址空间大于当前申请分配地址空间总量并且该层l的地址空间hd比率未达到设定阈值时,则对用户的地址申请进行分解,并为分解后的每一地址段分配空闲地址。

进一步的,采用扁平层次规划方法将工业互联网ip地址划分为若干层。

进一步的,划分的层包括:大区区域、城域区域和站点区域。

进一步的,首先将大区区域的网络按地址消耗的速度从快到慢进行排序,将地址消耗速度快的大区网络先进入地址池按照步骤1)~2)进行分配。

进一步的,该层l的地址空间hd比率=log(该层l已经分配的地址空间)/log(该层l最大可分配的地址空间)。

进一步的,对新用户的地址分配请求或分解后的每一地址段分配空闲地址的方法为:

21)选取层l中各空闲地址段的可分配二分点;其中空闲地址段i可分配二分点记为si,i=1,…,n,n+1;n为层l中当前已存在的用户数量;

22)根据公式max{min[t(mi,ci),t(ni,cn+1)],i=1,…,n}找到层l的可用地址空间中预估的最晚发生碰撞时间;其中,t(mi,ci)是地址消耗平均速度为ci的用户i填满mi的时间,t(ni,cn+1)是地址消耗平均速度为cn+1的新用户n+1填满ni的时间,min[t(mi,ci),t(ni,cn+1)为空闲地址段i的最早发生碰撞的时间,mi为空闲地址ai二分后为用户i预留的增长地址空间,ni为空闲地址ai二分后为新增用户n+1分配的地址空间,ai为分配给用户i的地址;将预估的最晚发生碰撞时间对应的空闲地址段记为空闲地址段k;

23)对该空闲地址段k进行地址空间的划分,响应新用户n+1的当前地址分配请求或分解后的地址段分配空闲地址。

进一步的,确定空闲地址段i可分配二分点si的方法为:设si,j为空闲地址段i的中点;如果si,j<ai+t*ci,则将si,j更新为当前si,j与ai+1的中点;如果更新后的si,j<ai+t*ci,则继续更新si,j位置为当前si,j与ai+1的中点,直到更新后的si,j>ai+t*ci,此时将最终更新得到的si,j作为空闲地址段i的可分配二分点si;其中,t为当前层l的地址申请周期,ci为用户i的地址消耗平均速度。

进一步的,每隔t/2或t/4的时间周期,对各个用户的地址消耗速度进行重新评估。

进一步的,用户i的地址平均消耗速度ci=用户i最近一次ip地址申请量/(当前时间点–用户i最近一次申请时间)。

进一步的,按照2的幂次对用户的地址申请进行分解;按照分解地址段的从大到小的顺序进行空闲地址分配。

当用户的申请分配地址空间总量超过当前地址空间中每个空闲地址段的容量,并且运营商的可用地址空间大于当前用户请求总量并且地址空间hd比率(log(已经分配的地址空间)/log(最大可分配的地址空间))未达到设定阈值(比如0.94)时,自适应ip地址分配方法则会按照2的幂次对用户的地址申请进行分解,按照分解地址段的从大到小的顺序进行空闲地址分配,从而解决地址利用率和聚合的矛盾。

由于ip地址分配是分层的,不同层次的地址分配有不同的特点。高层地址申请单位通常是运营商的大区级,每年的ip地址使用数量可以通过一些方法进行评估和预测,并且大区级的数量通常情况下是固定不变的。这一层次的地址分配主要目标是避免分配给各大区的地址块发生碰撞,从而导致在高层地址块分片。底层中小isp业务受市场环境的影响非常大,业务突增或频繁变化是比较常见的。应该预留足够的地址空间以便实现更好的地址聚合,对其地址消耗速度变化情况进行周期评价。可以及时释放对于地址需求少的用户所保留的地址段,提高已有地址空间的利用率,以免影响后继申请。

n:当前已存在的用户数量;n+1:新用户;

t:当前层地址申请周期;

ai:i=1,…,n,n+1,分配给用户i的地址;

ci:i=1,…,n,n+1,用户i的地址消耗平均速度;

si:i=1,…,n,n+1,空闲地址段i可分配二分点;

mi:i=1,…,n,用户i地址分配位置到可分配二分点si的空闲空间(将空闲地址ai二分后为用户i预留的增长地址空间);

ni:i=1,…,n,可分配二分点si以后的空闲空间(将空闲地址ai二分后为新增用户n+1分配的地址空间);

公式(1):max{min[t(mi,ci),t(ni,cn+1)],i=1,…,n},当前层地址空间中最晚发生碰撞的时间,t(mi,ci)是地址消耗平均速度为ci的用户i填满预留地址空间mi的时间,t(ni,cn+1)是地址消耗平均速度为cn+1的新用户n+1填满新分配地址空间ni的时间,min[t(mi,ci),t(ni,cn+1)为空闲地址段i的最早发生碰撞的时间。

1)选取各空闲地址段的可分配二分点:

设si,j为空闲地址段i的中点,

即不断调整si,j位置为si,j-1与ai+1的中点,直到

si,j>ai+t*ci(2)

此时,si,j不在用户i的保留区,si,j为空闲地址段i的可分配二分点si。

2)根据公式(1)找到可用地址空间中可能最晚发生碰撞时间,即最晚发生碰撞的空闲地址段k。

3)当找到的可分配空闲地址段k可以满足新用户n+1的申请,则在该地址段k进行地址空间的划分,满足用户的此次地址分配请求。

而当每个可分配的空闲地址段均不能满足用户请求量,但总量仍可以满足该地址分配请求时,则采取如下方法进行申请拆分,将新用户的申请分配地址an+1进行2的幂次分解:

an+1=∑2n(3)

将分解出的各分量以从大到小的顺序按照上文的方法查找最晚发生碰撞的空闲地址段进行分配。所选择的空闲段仍然遵循自适应二分地址分配方法的公式(1)、公式(2)和公式(3),只不过此时拆分后的地址块消耗的增长速度设为0。每次较大地址块拆分适配成功后,剩余地址申请作为新申请执行新的插入过程即可。

为更为准确地反映每个用户的地址分配请求增长率变化情况,自适应二分法每隔t/2或t/4的时间周期,需要对各个用户的地址消耗速度进行重新评估,用最新的数值取代原来的数值,以便使地址分配处理更符合地址实际使用情况。具体可用如下线性经验公式对地址消耗速度进行调整:

用户i的地址平均消耗速度ci=用户i最近一次ip地址申请量/(当前时间点–用户i最近一次申请时间)

与现有ip地址分配算法,自适应ipv6地址分配方法有以下优点:

该算法具有适应不同层次地址分配需求的特点,在兼顾保证地址空间的聚合性的同时降低地址空间中的地址分段数量,并且有利于充分利用地址空间中的可用空闲地址空间,能够适用于各种不同大小的地址分配请求。

附图说明

图1为ip地址分配的分级示意图;

图2为面向工业互联网标识解析的自适应ipv6地址分配方法图;

图3为自适应ipv6地址分配方法与当前分配方法模拟分配对比图;

图4为采用当前分配方法的分配结果图;

图5为采用面向工业互联网标识解析的自适应ipv6地址分配方法的分配结果图;

图6为工业互联网ipv6地址分级规划和分配的结构示意图。

具体实施方式

以下通过具体实施,并结合附图,对该算法的技术方案进一步详细说明。

ipv6地址的分配,是各级地址注册机构按照地址实际消耗情况自上而下的分配或指定ip地址的划分。该算法的自适应二分地址分配方案,由地址的扁平层次规划和ip地址自适应分配两部分共同组成。

一、ipv6地址的扁平层次规划

将地址分配和使用机构分为3级:大区区域、城域区域和站点区域。这种扁平的层次结构可以避免由地址分配层次过多带来的地址碎片,同时也可以使中小isp更好的表达地址申请需求,得到充足的ip地址。在自下而上的地址规划过程中,上级地址分配注册机构协调下级地址注册机构结合自身网络规划提出地址使用计划,按照规划总量从国家地址注册机构(nir)获得一段ipv6地址池进行实际的地址分配。

附图6是这种分级规划和分配的结构示意图:大区区域划分为主干区域到/32地址之间的地址空间,城域区域使用/32到/40地址之间的地址空间,而站点区域使用/40到/48或/56(可以根据站点中子网数量进行调整)之间的地址空间。在每个站点网中,相同的业务和应用尽量分配连续的ipv6地址空间,有利于路由聚合以及安全控制。

二、结合各层特点使用自适应二分法进行地址分配

在如上的三层规划结构中,大区区域层次分配特点与城域区域和站点区域的分配特点不同,主要是大区划分数量是确定的,每年的地址消耗量较为稳定。城域网和站点区域的网络用户数量难于确定,地址申请随业务情况波动较大,其申请的序列可以看作随机提出。因此,自适应分配方法要求对不同层次的地址分配采取不同的策略。

1)大区网络地址分配

首先应该将大区网络按地址消耗的速度从快到慢进行排序,让地址消耗速度快的大区网络先进入地址池进行分配,可以减少地址分段的可能。使用本文提出的自适应ipv6地址分配方法,结合各大区的地址消耗速度依次对各大区网络进行地址分配。

各大区的地址平均消耗速度应该每年调整一次,以使地址消耗速度符合实际的地址使用情况。随着用户数量的增长,当发生大区网络地址分配冲突时,如果总体地址利用率已经达到hd比率超过0.94的要求,则可以向nir再申请一段新的地址空间以供使用。

2)大区网向城域网及城域网向站点网的分配

大区网和城域网的地址段的分配时,由于客户的地址使用量难于预测,所以建议使用本文提出的自适应ipv6地址分配方法进行地址空间的分配。如果所选择空闲块的分割点可以满足地址分配的需求,则可以直接选取空闲段的中点进行地址空间的划分。对于每一个客户的地址消耗速度需要较频繁的评价,推荐每6个月评价一次,以避免地址过度保留影响总体地址空间的使用效率。

值得注意的是,待分地址块作为左侧的客户的增长空间,如果与左侧客户联合使用率已经达到0.94,则该段地址不适合再进行分配。这样可以进一步增强聚合,当本层地址空间的hd比率超过0.94时,则向上一层网络申请更多的ipv6地址空间。

3)站点网规划

与其他层的地址分配方式有所不同,站点网络的ipv6地址分配不再是根据其网络拓扑结构进行分配管理,而是根据该站点网所提供的不同业务应用来进行划分,以保证在相同的业务应用内的地址空间的连续性,来方便对于不同业务应用的管理。

在具体业务的分配管理过程中,同样推荐使用自适应二分方案来划分该站点网的ipv6地址空间。当站点网地址空间的hd比率超过0.94时,则向上一层城域网申请更多的ipv6地址。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1