[发明专利]一种基于二叉树的C类地址的分配方法有效
申请号: | 201911228887.9 | 申请日: | 2019-12-04 |
公开(公告)号: | CN110913037B | 公开(公告)日: | 2022-06-28 |
发明(设计)人: | 沈梦菲;江小东;刘树凤;刘旭东;张朝晖;蔡林丰 | 申请(专利权)人: | 杭州东方通信软件技术有限公司 |
主分类号: | H04L61/5007 | 分类号: | H04L61/5007;H04L101/668 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
地址: | 310013 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 二叉 地址 分配 方法 | ||
1.一种基于二叉树的C类地址的分配方法,包括:
将一个C类地址可分配的IP地址以二叉树的方式进行子网划分和存储,节点向下构成一个子网;二叉树的各个节点存储了对应子网的子网掩码和子网状态;
根据所需分配IP地址的多个主机,按二叉树方式计算出能够提供和所述多个主机的个数对应的IP地址数的至少一个子网对应的子网掩码;
为每个二叉树节点设置纵深标记位,若二叉树中任一节点存储的子网的状态为:已用子网、已预占子网或不可用子网中的任意一种时,将所述节点的纵深标记位置为-1;若二叉树中任一节点存储的子网的状态为:可用子网、可用静态路由子网中的任意一种时,将所述节点的纵深标记位置为0,其子孙节点的纵深标记位在当前节点的基础上按层依次加1;
通过所述至少一个子网对应的子网掩码,从所述二叉树的节点中获取一个或多个子网状态为可用的子网,并获取所述一个或多个子网状态为可用的子网对应的二叉树节点的纵深标记位;将子网掩码相同的子网对应的纵深标记位进行排序,以便将相同子网掩码下纵深标记位最小的子网的IP地址分配给所述主机;
修改用于分配IP地址的一个或多个子网的子网状态,并将修改后的子网状态存储到用于分配IP地址的一个或多个子网对应的二叉树节点中。
2.根据权利要求1所述的方法,其特征在于,所述根据所需分配IP地址的多个主机,按二叉树方式计算出能够提供和所述多个主机的个数对应的IP地址数的至少一个子网对应的子网掩码包括:
根据所需要分配IP地址的主机个数,计算出能够为主机划分IP地址的子网,将子网掩码最大的子网作为第一网段,并计算第一网段内的可用IP地址数;
若将第一网段内可用的IP地址数分配给需要分配IP地址的主机后,剩余未分配的IP地址的个数小于等于第一阈值,则将第一网段内的IP地址分配给需要分配IP地址的主机;
若将第一网段内可用的IP地址数分配给需要分配IP地址的主机后,剩余未分配的IP地址的个数大于第一阈值,则将第二网段内的IP地址分配给需要分配IP地址的主机,其中第二网段对应的子网掩码为第一网段对应的子网掩码加1;
计算剩余还未分配IP地址的主机的个数;
根据剩余还未分配IP地址的主机的个数,计算第一静态路由网段对应的子网掩码,若将第一静态路由网段内的IP地址划分给剩余还未分配IP地址的主机后,剩余的未分配的IP地址的个数小于等于第一阈值,则将第一静态路由网段内的IP地址划分给剩余还未分配IP地址的主机;
若将第一静态路由网段内的IP地址划分给剩余还未分配IP地址的主机后,剩余未分配的IP地址的个数大于第一阈值,则计算第N静态路由网段对应的子网掩码,将第N静态路由网段内的IP地址划分给剩余还未分配IP地址的主机后,剩余未分配的IP地址的个数小于等于第一阈值,其中N为大于等于1的自然数。
3.根据权利要求1所述的方法,其特征在于,修改用于分配IP地址的一个或多个子网的子网状态,并将修改后的子网状态存储到用于分配IP地址的一个或多个子网对应的二叉树节点中包括:
将已用于分配IP地址的子网的状态修改为已用子网,并将存储所述已用于分配IP地址的子网的二叉树节点的纵深位置为-1;
判断当前节点是否存在父节点,若当前节点存在父节点,更新所述父节点的纵深标记位和所述父节点存储的子网的子网状态;
判断当前节点是否存在子孙节点,若当前节点存在子孙节点,将当前节点的所有子孙的纵深标记位置为-1,并将当前节点的所有子孙节点存储的子网的子网状态修改为不可用子网;
判断当前节点是否存在兄弟节点,若当前节点存在兄弟节点,更新所述兄弟节点的纵深标记位和所述兄弟节点存储的子网的子网状态。
4.根据权利要求3所述的方法,其特征在于,所述判断当前节点是否存在父节点,若当前节点存在父节点,更新所述父节点的纵深标记位和所述父节点存储的子网的子网状态包括:
若当前节点的父节点存储的子网状态为可用子网,则将当前节点的父节点的子网状态修改为不可用子网,并将所述父节点的纵深标记位置为-1;
若当前节点的父节点存储的子网状态为不可用子网,则停止更新所述父节点的纵深标记位和所述父节点存储的子网的子网状态。
5.根据权利要求3所述的方法,其特征在于,所述判断当前节点是否存在兄弟节点,若当前节点存在兄弟节点,更新所述兄弟节点的纵深标记位和所述兄弟节点存储的子网的子网状态包括:
若当前节点的兄弟节点所存储的子网为:可用子网,将当前兄弟节点的纵深标记位置为0,以修改后当前兄弟节点的纵深标记位为基准,将当前兄弟节点的所有子孙节点的纵深标记位加1;
若当前节点的兄弟节点所存储的子网为:已用子网、已预占子网或不可用子网中的任意一种,则停止更新兄弟节点和兄弟节点的所有子孙节点的纵深标记位以及兄弟节点和兄弟节点的所有子孙节点的纵深标记位存储的子网的子网状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州东方通信软件技术有限公司,未经杭州东方通信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911228887.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种航空机载气体温度传感器及其制作方法
- 下一篇:一种家具板材移动装置