CN109525683A - 城域网ipv4地址的空闲地址挖潜方法及装置 - Google Patents
城域网ipv4地址的空闲地址挖潜方法及装置 Download PDFInfo
- Publication number
- CN109525683A CN109525683A CN201811353494.6A CN201811353494A CN109525683A CN 109525683 A CN109525683 A CN 109525683A CN 201811353494 A CN201811353494 A CN 201811353494A CN 109525683 A CN109525683 A CN 109525683A
- Authority
- CN
- China
- Prior art keywords
- address
- man
- metropolitan area
- area network
- ipv4
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种城域网IPV4地址的空闲地址挖潜方法及装置,包括:获取第一和第二IP地址,第一IP地址为实际分配的公网IP地址,第二IP地址为实际使用的公网IP地址;将第一和第二IP地址转换成10进制形式,获得第三和第四IP地址;根据第三和第四IP地址确定第五IP地址,第五IP地址为未使用的公网IP地址;对第五IP地址进行排序处理后再进行聚合处理,获得第六IP地址,第六IP地址为实际未使用且可使用的公网IP地址。由于该方案通过从地址自动收集,利用核心的地址形式转换、排序、聚合,自动分析出城域网中实际未使用的可读地址信息,可以节省时间,提高分析结果的精度。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种城域网IPV4地址的空闲地址挖潜方法及装置。
背景技术
IPv4地址日渐枯竭,但是实际运营商在日常运维过程中,由于操作不规范等,导致了有大量的IPv4地址浪费,形成一种运营商认为某些IP地址已经使用,但是在具体业务上没有使用的情况。现有技术中通常采用人工来分析出城域网中实际未使用的可读地址信息,但是纯靠人工,无法面对海量的地址(上亿级别)的收集比对,会耗费大量的时间,且分析结果的精度也不是很高。
发明内容
本发明实施例提供了一种城域网IPV4地址的空闲地址挖潜方法及装置,从地址自动收集,利用核心的地址形式转换、排序、聚合,自动分析出城域网中实际未使用的可读地址信息,可以节省时间,提高分析结果的精度。
本发明实施例提供了一种城域网IPV4地址的空闲地址挖潜方法,该方法包括:
获取第一IP地址,所述第一IP地址为实际分配的公网IP地址;
获取第二IP地址,所述第二IP地址为实际使用的公网IP地址;
将所述第一IP地址转换成10进制形式,获得第三IP地址;
将所述第二IP地址转换成10进制形式,获得第四IP地址;
根据所述第三IP地址和所述第四IP地址确定第五IP地址,所述第五IP地址为未使用的公网IP地址;
对所述第五IP地址进行排序处理后再进行聚合处理,获得第六IP地址,所述第六IP地址为实际未使用且可使用的公网IP地址。
本发明实施例还提供了一种城域网IPV4地址的空闲地址挖潜装置,该装置包括:
IP地址获取模块用于:
获取第一IP地址,所述第一IP地址为实际分配的公网IP地址;
获取第二IP地址,所述第二IP地址为实际使用的公网IP地址;
10进制转换模块用于:
将所述第一IP地址转换成10进制形式,获得第三IP地址;
将所述第二IP地址转换成10进制形式,获得第四IP地址;
IP地址确定模块用于:
根据所述第三IP地址和所述第四IP地址确定第五IP地址,所述第五IP地址为未使用的公网IP地址;
排序聚合模块用于:
对所述第五IP地址进行排序处理后再进行聚合处理,获得第六IP地址,所述第六IP地址为实际未使用且可使用的公网IP地址。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述城域网IPV4地址的空闲地址挖潜方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述所述城域网IPV4地址的空闲地址挖潜方法的计算机程序。
在本发明实施例中,获取第一IP地址和第二IP地址,实现各类型地址的自动收集,然后将第一IP地址和第二IP地址进行10进制形式转换,获得第三IP地址和第四IP地址,然后再根据第三IP地址和第四IP地址确定第五IP地址,对第五IP地址进行排序、聚合处理,获得实际未使用且可使用的公网IP地址。与现有技术相比,本发明可以自动分析出城域网中实际未使用的可读地址信息,节省了时间,提高了分析结果的精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种城域网IPV4地址的空闲地址挖潜方法流程图一;
图2是本发明实施例提供的一种城域网IPV4地址的空闲地址挖潜方法中步骤105的流程图;
图3是本发明实施例提供的一种城域网IPV4地址的空闲地址挖潜方法流程图二;
图4是本发明实施例提供的一种城域网IPV4地址的空闲地址挖潜装置结构框图一;
图5是本发明实施例提供的一种城域网IPV4地址的空闲地址挖潜装置结构框图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于现有技术的缺点,本发明提出一种城域网IPV4地址的空闲地址挖潜方法及装置,利用自有的开通引擎功能,模拟登陆城域网设备,实现各类型地址的自动收集,将各段地址一一打散,形成最小的地址单元(32位的IP地址),然后以哈希键定位的方式进行快速比对,并且将比对后的地址进行快速的最大化聚合还原,形成挖潜出来的实际未使用空闲地址,并实际网络中进行路由验证。
如图1所示,该城域网IPV4地址的空闲地址挖潜方法具体包括:
步骤101:获取第一IP地址,所述第一IP地址为实际分配的公网IP地址;
步骤102:获取第二IP地址,所述第二IP地址为实际使用的公网IP地址;
步骤103:将所述第一IP地址转换成10进制形式,获得第三IP地址;
步骤104:将所述第二IP地址转换成10进制形式,获得第四IP地址;
步骤105:根据所述第三IP地址和所述第四IP地址确定第五IP地址,所述第五IP地址为未使用的公网IP地址;
步骤106:对所述第五IP地址进行排序处理后再进行聚合处理,获得第六IP地址,所述第六IP地址为实际未使用且可使用的公网IP地址。
在本发明实施例中,步骤103和步骤104(即IP地址打散算法)具体按照如下方式进行10进制形式转换:
将带掩码的IP地址的地址段按照如下形式转换成10进制形式,其中掩码部分为E:
IPINT=232×A+216×B+28×C+D
其中,IPINT表示IP地址的10进制形式;A表示32位IP地址的第一个字节;B表示32位IP地址的第二个字节;C表示32位IP地址的第三个字节;D表示32位IP地址的第四个字节;
所述带掩码的IP地址的起始地址的10进制形式为IPINT,结束地址为IPINT+2(32 -E)-1。
则这段地址包含的所有地址的10进制形式为>=IPINT以及<=IPINT+2(32-E)-1中的所有地址,将每个地址进行逆运算即可得到32位地址,A段为int(IPINT/232),B段为int(mod(IPINT/232)/216),如此类推得到所有32位地址。
在本发明实施例中,如图2所示,步骤105(海量IP地址的比对)具体按照如下方式根据所述第三IP地址和所述第四IP地址确定第五IP地址:
步骤1051:将所述第三IP地址以哈希键的形式存放于第一哈希表中;
步骤1052:将所述第四IP地址以哈希键的形式存放于第二哈希表中;
步骤1053:将第一哈希表中的所述第三IP地址与第二哈希表中的所述第四IP地址进行比对,将第一哈希表中存在与第二哈希表中的所述第四IP地址相同的IP地址去除,第一哈希表中剩余的IP地址即为第五IP地址。
当IP地址存在哈希表中,比较时需要进行两次比对,主要是为了达到两个哈希之间的差异,第一次以哈希A中每个地址键为循环,定位在哈希B中是否存在,第二次以哈希B中每个地址键为循环,定位在哈希A中是否存在。
在本发明实施例中,步骤106(IP地址段汇聚算法)具体按照如下方式对所述第五IP地址进行排序处理后再进行聚合处理:
对所述第五IP地址进行排序处理,获得顺序排列的第五IP地址,这多段连续的IP地址为32位地址;
将所述顺序排列的第五IP地址先聚合成30位掩码的IP地址:
将所述顺序排列的第五IP地址中的所有IP地址进行mod4处理,获得相应的多个余数值;
判断相应的多个余数值中的第一个余数是否为0,若不为0,则将所述第一个余数对应的第一个IP地址抛出,继续判断下一个IP地址;若为0,则判断从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间是否存在四个连续的IP地址,所述四个连续的IP地址包括第一个IP地址,若存在,则将所述四个连续IP地址聚合成以第一个地址为地址位,掩码为30的一段地址,若不存在,则将从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间所有IP地址都抛出为32位地址;对剩余的余数值进行相应的判断处理,直到所有的第五IP地址进行30位掩码的IP地址聚合完为止;
对于聚合出来的所有的30位掩码的地址进行排序处理,获取多个连续的30位掩码的地址,对于多个连续的30位掩码的地址进行循环处理:
对多个连续的30位掩码的地址中的两两相连的地址进行判断,如果两两相连的地址的差值为2((32-E)-1),再判断两两相连的地址的第一个地址对应的IPINT/2(32-E)为0,若为0,则将所述两两相连的地址聚合为掩码位-1的地址,将聚合后的地址存储进行下一次循环,若不为0,则将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;如果两两相连的地址的差值不等于2((32-E)-1),则直接将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;当多个连续的30位掩码的地址中的所有不符合判断条件的两两相连的地址都抛出完毕后,剩余的地址为第六IP地址。
举例说明:从余0的地址开始,到下一个余0地址之前,若没有连续四个地址,比如有当前余0地址为0,下一个余0地址为4,中间若存在0123四个连续地址的,则进行聚合,不存在,比如只有012三个连续地址,则需要将012抛出为32位地址。
在本发明实施例中,在获得了上述第六IP地址(即实际未使用且可使用的公网IP地址)后,还需要对其准确性进行验证,如图3所示,该城域网IPV4地址的空闲地址挖潜方法还包括:
步骤107:对所述第六IP地址进行验证,确定所述第六IP地址的准确性。
具体的,按照如下形式对所述第六IP地址进行验证:
将所述第六IP地址的前缀在路由设备上按最长longer-match的形式进行路由检验,确定所述第六IP地址的准确性。
在本发明实施例中,本发明方法还可以包括:
根据所述第三IP地址和所述第四IP地址确定第七IP地址,即用所述第四IP地址减去所述第三IP地址得到第七IP地址,所述第七IP地址为未公告的IP地址;
对所述第七IP地址进行排序处理,获得多段连续的IP地址,对所述多段连续的IP地址进行聚合处理。
具体的,实际使用的地址减去实际分配的地址,得出的是实际使用了但是没有在城域网出口公告的地址,这些地址是使用不规范地址,正常来说要使用必须要在城域网出口先公告出来,这里的目的主要是为了找出已经使用的不规范地址。
实施例
(11)清查所有地市城域网设备实际分配的公网IP地址路由前缀:
通过在CR/BR上用路由指令的方式来清查城域网CR/BR向所有163和CN2设备通过BGP通告的有效路由的网络前缀;
例如:广州城域网在2台CR(TX4)上通过路由指令采集数据:
show route advertising-protocol bgp 202.97.28.108 table inet.0.
如果有多个163/CN2 BGP邻居就需要采集多份数据,然后进行合集,检查并剔除重复项,得出成果文件《xx城域网向163和CN2公布的BGP网段》。
(12)清查所有地市城域网设备实际使用公网IP地址:
目前广东城域网IP路由模式分两种:
模式一:业务路由BGP承载+链路地址路由IGP承载(广州/深圳);
采集CR/BR上的所有BGP业务路由;
采集CR/BR上所有的ISIS链路地址路由、本设备loopback地址路由、直连接口地址路由和静态路由;
模式二:所有路由都由IGP承载(仅极少数业务是由BGP承载);
采集CR/BR上的关于某些极少数业务的BGP业务路由,例如:湛江网吧大联盟业务是BGP承载的;
采集CR/BR上所有的OSPF业务路由、OSPF链路地址路由、本设备loopback地址路由、直连接口地址路由和静态路由;
得出成果文件《xx城域网BGP路由汇总》和《xx城域网IGP路由汇总》。
(13)通过计算、比对、聚合出城域网未使用公网IP地址和未公告的IP地址
通过将(11)采集的所有地市城域网设备实际分配的IP地址前缀拆分成32位掩码的主机地址;
通过将(12)采集的所有地市城域网设备实际使用的IP地址前缀拆分成32位掩码的主机地址;
通过将(11)的结果减去(12)的结果就得出城域网未使用的公网IP地址,再进行尽可能的聚合;
通过将(12)的结果减去(11)的结果就得出城域网未公告IP地址(也包括私网段),再进行尽可能的聚合;
得出成果文件《xx城域网未使用IP地址段》和《xx城域网未公告IP地址段》。
(14)仅对城域网未使用的公网IP地址的准确性进行验证:
通过将所有未使用的公网IP地址前缀在设备上进行路由检验,按最长longer-match的形式进行验证:
举例:惠州BR上验证(未使用公网IP地址)
display ip routing-table 60.205.0.0 255.255.0.0 longer-match
Route Flags:R-relay,D-download to fib
(续)举例:惠州CR上验证
将这些内容形成成果验证文件《城域网未使用IP地址验证文件》。
基于同一发明构思,本发明实施例中还提供了一种城域网IPV4地址的空闲地址挖潜装置,如下面的实施例所述。由于城域网IPV4地址的空闲地址挖潜装置解决问题的原理与城域网IPV4地址的空闲地址挖潜方法相似,因此城域网IPV4地址的空闲地址挖潜装置的实施可以参见城域网IPV4地址的空闲地址挖潜方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明实施例的城域网IPV4地址的空闲地址挖潜装置结构框图,如图4所示,该城域网IPV4地址的空闲地址挖潜装置包括:
IP地址获取模块501用于:
获取第一IP地址,所述第一IP地址为实际分配的公网IP地址;
获取第二IP地址,所述第二IP地址为实际使用的公网IP地址;
10进制转换模块502用于:
将所述第一IP地址转换成10进制形式,获得第三IP地址;
将所述第二IP地址转换成10进制形式,获得第四IP地址;
IP地址确定模块503用于:
根据所述第三IP地址和所述第四IP地址确定第五IP地址,所述第五IP地址为未使用的公网IP地址;
排序聚合模块504用于:
对所述第五IP地址进行排序处理后再进行聚合处理,获得第六IP地址,所述第六IP地址为实际未使用且可使用的公网IP地址。
下面对该结构进行说明。
在本发明实施例中,所述10进制转换模块502具体用于:
按照如下方式将IP地址转换成10进制形式:
将带掩码的IP地址的地址段按照如下形式转换成10进制形式,其中掩码部分为E:
IPINT=232×A+216×B+28×C+D
其中,IPINT表示IP地址的10进制形式;A表示32位IP地址的第一个字节;B表示32位IP地址的第二个字节;C表示32位IP地址的第三个字节;D表示32位IP地址的第四个字节;
所述带掩码的IP地址的起始地址的10进制形式为IPINT,结束地址为IPINT+2(32 -E)-1。
在本发明实施例中,所述IP地址确定模块503具体用于:
按照如下形式根据所述第三IP地址和所述第四IP地址确定第五IP地址:
将所述第三IP地址以哈希键的形式存放于第一哈希表中;
将所述第四IP地址以哈希键的形式存放于第二哈希表中;
将第一哈希表中的所述第三IP地址与第二哈希表中的所述第四IP地址进行比对,将第一哈希表中存在与第二哈希表中的所述第四IP地址相同的IP地址去除,第一哈希表中剩余的IP地址即为第五IP地址。
在本发明实施例中,所述排序聚合模块504具体用于:
按照如下方式对所述第五IP地址进行排序处理后再进行聚合处理:
对所述第五IP地址进行排序处理,获得顺序排列的第五IP地址;
将所述顺序排列的第五IP地址先聚合成30位掩码的IP地址:
将所述顺序排列的第五IP地址中的所有IP地址进行mod4处理,获得相应的多个余数值;
判断相应的多个余数值中的第一个余数是否为0,若不为0,则将所述第一个余数对应的第一个IP地址抛出,继续判断下一个IP地址;若为0,则判断从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间是否存在四个连续的IP地址,所述四个连续的IP地址包括第一个IP地址,若存在,则将所述四个连续IP地址聚合成以第一个地址为地址位,掩码为30的一段地址,若不存在,则将从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间所有IP地址都抛出为32位地址;
对剩余的余数值进行相应的判断处理,直到所有的第五IP地址进行30位掩码的IP地址聚合完为止;
对于聚合出来的所有的30位掩码的地址进行排序处理,获取多个连续的30位掩码的地址,对于多个连续的30位掩码的地址进行循环处理:
对多个连续的30位掩码的地址中的两两相连的地址进行判断,如果两两相连的地址的差值为2((32-E)-1),再判断两两相连的地址的第一个地址对应的IPINT/2(32-E)为0,若为0,则将所述两两相连的地址聚合为掩码位-1的地址,将聚合后的地址存储进行下一次循环,若不为0,则将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;如果两两相连的地址的差值不等于2((32-E)-1),则直接将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;
当多个连续的30位掩码的地址中的所有不符合判断条件的两两相连的地址都抛出完毕后,剩余的地址为第六IP地址。
在本发明实施例中,所述IP地址确定模块503还用于:
根据所述第三IP地址和所述第四IP地址确定第七IP地址,所述第七IP地址为未公告的IP地址;
所述排序模块还用于:对所述第七IP地址进行排序处理,获得多段连续的IP地址;
所述聚合模块还用于:对所述多段连续的IP地址进行聚合处理。
在本发明实施例中,如图5所示,还包括:
验证模块505,用于对所述第六IP地址进行验证,确定所述第六IP地址的准确性。
在本发明实施例中,所述验证模块505具体用于:
按照如下形式对所述第六IP地址进行验证:
将所述第六IP地址的前缀在路由设备上进行路由检验。
在本发明实施例中,所述验证模块505具体用于:
按照如下形式将所述第六IP地址的前缀在路由设备上进行路由检验:
将所述第六IP地址的前缀在路由设备上按最长longer-match的形式进行路由检验。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述城域网IPV4地址空闲地址挖潜方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述所述城域网IPV4地址空闲地址挖潜方法的计算机程序。
综上所述,本发明提出的城域网IPV4地址的空闲地址挖潜方法及装置,通过获取第一IP地址和第二IP地址,可以实现各类型地址的自动收集,然后将第一IP地址和第二IP地址进行10进制形式转换,获得第三IP地址和第四IP地址,然后再根据第三IP地址和第四IP地址确定第五IP地址,对第五IP地址进行排序、聚合处理,获得实际未使用且可使用的公网IP地址。与现有技术相比,本发明可以自动分析出城域网中实际未使用的可读地址信息,节省了时间,提高了分析结果的精度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种城域网IPV4地址的空闲地址挖潜方法,其特征在于,包括:
获取第一IP地址,所述第一IP地址为实际分配的公网IP地址;
获取第二IP地址,所述第二IP地址为实际使用的公网IP地址;
将所述第一IP地址转换成10进制形式,获得第三IP地址;
将所述第二IP地址转换成10进制形式,获得第四IP地址;
根据所述第三IP地址和所述第四IP地址确定第五IP地址,所述第五IP地址为未使用的公网IP地址;
对所述第五IP地址进行排序处理后再进行聚合处理,获得第六IP地址,所述第六IP地址为实际未使用且可使用的公网IP地址。
2.如权利要求1所述的城域网IPV4地址的空闲地址挖潜方法,其特征在于,按照如下方式将IP地址转换成10进制形式:
将带掩码的IP地址的地址段按照如下形式转换成10进制形式,其中掩码部分为E:
IPINT=232×A+216×B+28×C+D
其中,IPINT表示IP地址的10进制形式;A表示32位IP地址的第一个字节;B表示32位IP地址的第二个字节;C表示32位IP地址的第三个字节;D表示32位IP地址的第四个字节;
所述带掩码的IP地址的起始地址的10进制形式为IPINT,结束地址为IPINT+2(32-E)-1。
3.如权利要求1所述的城域网IPV4地址的空闲地址挖潜方法,其特征在于,按照如下形式根据所述第三IP地址和所述第四IP地址确定第五IP地址:
将所述第三IP地址以哈希键的形式存放于第一哈希表中;
将所述第四IP地址以哈希键的形式存放于第二哈希表中;
将第一哈希表中的所述第三IP地址与第二哈希表中的所述第四IP地址进行比对,将第一哈希表中存在与第二哈希表中的所述第四IP地址相同的IP地址去除,第一哈希表中剩余的IP地址即为第五IP地址。
4.如权利要求2所述的城域网IPV4地址的空闲地址挖潜方法,其特征在于,按照如下方式对所述第五IP地址进行排序处理后再进行聚合处理:
对所述第五IP地址进行排序处理,获得顺序排列的第五IP地址;
将所述顺序排列的第五IP地址先聚合成30位掩码的IP地址:
将所述顺序排列的第五IP地址中的所有IP地址进行mod4处理,获得相应的多个余数值;
判断相应的多个余数值中的第一个余数是否为0,若不为0,则将所述第一个余数对应的第一个IP地址抛出,继续判断下一个IP地址;若为0,则判断从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间是否存在四个连续的IP地址,所述四个连续的IP地址包括第一个IP地址,若存在,则将所述四个连续IP地址聚合成以第一个地址为地址位,掩码为30的一段地址,若不存在,则将从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间所有IP地址都抛出为32位地址;
对剩余的余数值进行相应的判断处理,直到所有的第五IP地址进行30位掩码的IP地址聚合完为止;
对于聚合出来的所有的30位掩码的地址进行排序处理,获取多个连续的30位掩码的地址,对于多个连续的30位掩码的地址进行循环处理:
对多个连续的30位掩码的地址中的两两相连的地址进行判断,如果两两相连的地址的差值为2((32-E)-1),再判断两两相连的地址的第一个地址对应的IPINT/2(32-E)为0,若为0,则将所述两两相连的地址聚合为掩码位-1的地址,将聚合后的地址存储进行下一次循环,若不为0,则将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;如果两两相连的地址的差值不等于2((32-E)-1),则直接将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;
当多个连续的30位掩码的地址中的所有不符合判断条件的两两相连的地址都抛出完毕后,剩余的地址为第六IP地址。
5.如权利要求1所述的城域网IPV4地址的空闲地址挖潜方法,其特征在于,还包括:
将所述第六IP地址的前缀在路由设备上按最长longer-match的形式进行验证,确定所述第六IP地址的准确性。
6.一种城域网IPV4地址的空闲地址挖潜装置,其特征在于,包括:
IP地址获取模块用于:
获取第一IP地址,所述第一IP地址为实际分配的公网IP地址;
获取第二IP地址,所述第二IP地址为实际使用的公网IP地址;
10进制转换模块用于:
将所述第一IP地址转换成10进制形式,获得第三IP地址;
将所述第二IP地址转换成10进制形式,获得第四IP地址;
IP地址确定模块用于:
根据所述第三IP地址和所述第四IP地址确定第五IP地址,所述第五IP地址为未使用的公网IP地址;
排序聚合模块用于:
对所述第五IP地址进行排序处理后再进行聚合处理,获得第六IP地址,所述第六IP地址为实际未使用且可使用的公网IP地址。
7.如权利要求6所述的城域网IPV4地址的空闲地址挖潜装置,其特征在于,所述10进制转换模块具体用于:
按照如下方式将IP地址转换成10进制形式:
将带掩码的IP地址的地址段按照如下形式转换成10进制形式,其中掩码部分为E:
IPINT=232×A+216×B+28×C+D
其中,IPINT表示IP地址的10进制形式;A表示32位IP地址的第一个字节;B表示32位IP地址的第二个字节;C表示32位IP地址的第三个字节;D表示32位IP地址的第四个字节;
所述带掩码的IP地址的起始地址的10进制形式为IPINT,结束地址为IPINT+2(32-E)-1。
8.如权利要求6所述的城域网IPV4地址的空闲地址挖潜装置,其特征在于,所述IP地址确定模块具体用于:
按照如下形式根据所述第三IP地址和所述第四IP地址确定第五IP地址:
将所述第三IP地址以哈希键的形式存放于第一哈希表中;
将所述第四IP地址以哈希键的形式存放于第二哈希表中;
将第一哈希表中的所述第三IP地址与第二哈希表中的所述第四IP地址进行比对,将第一哈希表中存在与第二哈希表中的所述第四IP地址相同的IP地址去除,第一哈希表中剩余的IP地址即为第五IP地址。
9.如权利要求7所述的城域网IPV4地址的空闲地址挖潜装置,其特征在于,所述排序聚合模块具体用于:
按照如下方式对所述第五IP地址进行排序处理后再进行聚合处理:
对所述第五IP地址进行排序处理,获得顺序排列的第五IP地址;
将所述顺序排列的第五IP地址先聚合成30位掩码的IP地址:
将所述顺序排列的第五IP地址中的所有IP地址进行mod4处理,获得相应的多个余数值;
判断相应的多个余数值中的第一个余数是否为0,若不为0,则将所述第一个余数对应的第一个IP地址抛出,继续判断下一个IP地址;若为0,则判断从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间是否存在四个连续的IP地址,所述四个连续的IP地址包括第一个IP地址,若存在,则将所述四个连续IP地址聚合成以第一个地址为地址位,掩码为30的一段地址,若不存在,则将从第一个IP地址开始到相应的多个余数值中的第二个余数为0的IP地址之间所有IP地址都抛出为32位地址;
对剩余的余数值进行相应的判断处理,直到所有的第五IP地址进行30位掩码的IP地址聚合完为止;
对于聚合出来的所有的30位掩码的地址进行排序处理,获取多个连续的30位掩码的地址,对于多个连续的30位掩码的地址进行循环处理:
对多个连续的30位掩码的地址中的两两相连的地址进行判断,如果两两相连的地址的差值为2((32-E)-1),再判断两两相连的地址的第一个地址对应的IPINT/2(32-E)为0,若为0,则将所述两两相连的地址聚合为掩码位-1的地址,将聚合后的地址存储进行下一次循环,若不为0,则将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;如果两两相连的地址的差值不等于2((32-E)-1),则直接将所述两两相连的地址抛出,对下一个两两相连的地址进行判断;
当多个连续的30位掩码的地址中的所有不符合判断条件的两两相连的地址都抛出完毕后,剩余的地址为第六IP地址。
10.如权利要求6所述的城域网IPV4地址的空闲地址挖潜装置,其特征在于,还包括:
验证模块,用于将所述第六IP地址的前缀在路由设备上按最长longer-match的形式进行验证,确定所述第六IP地址的准确性。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述城域网IPV4地址的空闲地址挖潜方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述城域网IPV4地址的空闲地址挖潜方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811353494.6A CN109525683B (zh) | 2018-11-14 | 2018-11-14 | 城域网ipv4地址的空闲地址挖潜方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811353494.6A CN109525683B (zh) | 2018-11-14 | 2018-11-14 | 城域网ipv4地址的空闲地址挖潜方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525683A true CN109525683A (zh) | 2019-03-26 |
CN109525683B CN109525683B (zh) | 2020-07-17 |
Family
ID=65777632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811353494.6A Active CN109525683B (zh) | 2018-11-14 | 2018-11-14 | 城域网ipv4地址的空闲地址挖潜方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109525683B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738285A (zh) * | 2019-10-28 | 2021-04-30 | 中国电信股份有限公司 | Mac映射表处理方法、装置、控制器和系统 |
CN112953741A (zh) * | 2019-12-10 | 2021-06-11 | 中盈优创资讯科技有限公司 | 城域网安全访问端口控制管理方法及装置 |
CN113709268A (zh) * | 2020-12-11 | 2021-11-26 | 浙江十进制网络有限公司 | 一种网络任意点播寻址方法及其互联网络 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595566A (zh) * | 2013-11-12 | 2014-02-19 | 杭州华三通信技术有限公司 | 一种检测空闲ip地址的方法及装置 |
US9571286B2 (en) * | 2014-01-06 | 2017-02-14 | Cloudflare, Inc. | Authenticating the identity of initiators of TCP connections |
CN108111325A (zh) * | 2016-11-24 | 2018-06-01 | 北京金山云网络技术有限公司 | 一种资源分配方法及装置 |
-
2018
- 2018-11-14 CN CN201811353494.6A patent/CN109525683B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595566A (zh) * | 2013-11-12 | 2014-02-19 | 杭州华三通信技术有限公司 | 一种检测空闲ip地址的方法及装置 |
US9571286B2 (en) * | 2014-01-06 | 2017-02-14 | Cloudflare, Inc. | Authenticating the identity of initiators of TCP connections |
CN108111325A (zh) * | 2016-11-24 | 2018-06-01 | 北京金山云网络技术有限公司 | 一种资源分配方法及装置 |
Non-Patent Citations (4)
Title |
---|
刘文: "基于"块尺寸"的IP寻址、子网划分及路由汇聚的快速算法", 《现代计算机》 * |
安淑芝: "《计算机网络[M] 》", 30 January 2015 * |
小鸟向前飞: "要做两个集合的查找比较 用哪个数据结构合适", 《CSDN论坛》 * |
阮晓龙: "IP地址聚合算法的研究与分析", 《微型电脑应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738285A (zh) * | 2019-10-28 | 2021-04-30 | 中国电信股份有限公司 | Mac映射表处理方法、装置、控制器和系统 |
CN112738285B (zh) * | 2019-10-28 | 2022-11-18 | 中国电信股份有限公司 | Mac映射表处理方法、装置、控制器和系统 |
CN112953741A (zh) * | 2019-12-10 | 2021-06-11 | 中盈优创资讯科技有限公司 | 城域网安全访问端口控制管理方法及装置 |
CN112953741B (zh) * | 2019-12-10 | 2023-10-03 | 中盈优创资讯科技有限公司 | 城域网安全访问端口控制管理方法及装置 |
CN113709268A (zh) * | 2020-12-11 | 2021-11-26 | 浙江十进制网络有限公司 | 一种网络任意点播寻址方法及其互联网络 |
Also Published As
Publication number | Publication date |
---|---|
CN109525683B (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525683A (zh) | 城域网ipv4地址的空闲地址挖潜方法及装置 | |
CN110221145B (zh) | 电力设备故障诊断方法、装置及终端设备 | |
CN108200203A (zh) | 基于双层网络的区块链系统 | |
CN108197891A (zh) | 一种基于区块链的电子签约装置及方法 | |
CN104050605B (zh) | 电力设备匹配方法和系统 | |
US10621216B2 (en) | Generating a ranked list of best fitting place names | |
CN107643984A (zh) | 用于输出信息的方法和装置 | |
CN110876072B (zh) | 一种批量注册用户识别方法、存储介质、电子设备及系统 | |
CN104615333A (zh) | 一种播放设备的分组方法及播放系统 | |
CN114329622A (zh) | 一种文件保护方法、验证方法、装置、设备和介质 | |
CN114154166A (zh) | 异常数据识别方法、装置、设备和存储介质 | |
CN110221933A (zh) | 代码缺陷辅助修复方法及系统 | |
CN111651248A (zh) | 定时任务执行方法、装置、电子设备及存储介质 | |
US10146902B2 (en) | Sharing global route topologies in detailed routing | |
CN109492433A (zh) | 存证信息查询端口的构建、存证信息的查询方法及系统 | |
CN104424060B (zh) | 一种用于确定故障的方法和装置 | |
CN111881146B (zh) | 用于收取费用的方法、计算设备和介质 | |
CN107992749A (zh) | 一种检测补丁包冲突的方法及装置 | |
CN114463002A (zh) | 跨链交易的合法性验证方法、装置、计算机设备及介质 | |
CN110166295B (zh) | 一种用于判断网络拓扑支持拜占庭容错与否的方法 | |
CN114095220A (zh) | 电话通信验证方法、装置、设备及存储介质 | |
CN110020040A (zh) | 查询数据的方法、装置和系统 | |
CN106998371A (zh) | 可信ip信息的判定方法、ip信息库的更新方法及装置 | |
CN112291241A (zh) | 防火墙开墙方法、防火墙开墙装置及终端设备 | |
CN107135191A (zh) | 检查分布式业务处理完整度的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 702-2, No. 4811, Cao'an Highway, Jiading District, Shanghai Patentee after: CHINA UNITECHS Address before: 100872 5th floor, Renmin culture building, 59 Zhongguancun Street, Haidian District, Beijing Patentee before: CHINA UNITECHS |