查找如何快速查找IP归属地

查找ip  时间:2021-03-01  阅读:()

如何快速查找IP归属地

这两天遇到这么一个问题就是查找一个IP的归属地。当然我会有一个IP段的分配列表格式如下

16777472 16778239 XX省XX市

第一列是IP段的起始IP第二列是IP段的终止IP第三列是对应的省份。一共大概200万条左右。

那么好了如何进行查找呢

想到的最简单的办法就是二分查找。首先对这些IP段进行首位相接的排序之后一个二分查找。那么有没有比这个还快的方法呢

我们分析一下上面的二分查找的一个缺点就是要在所有的IP段上进行二分查找大概要查找log(2000000)次才能找到一个IP的归属地。那么我们一个自然的想法就是缩小二分的IP段的数量。可以这样做

根据IP的前两个字节把IP段进行分组。之后在对要查找的IP首先根据IP的前两个字节快速定位到某一个分组之后在这个分组中进行查找。 由于分组后每一个组中的IP段会少很多。所以这个方法要比赤裸裸的二分快50%左右。

左面代表所有两字节组合每个单元都有两个索引记录其在右侧数组中的起始位置。起始位置之间的IP的前两字节都等于左侧单元编号。

当来一个ip时 首先计算ip>> 16之后找到相应的索引区间之后在相应的区间上进行查找。

其实第二中方法就是一个以空间换时间的方法。如果内存放得下我们完全可以计算出每个IP的对应的省和市存放在一个大小为2^32次方的表中。在这里我们取了一个折中。

分类:算法

什么是BGP国际线路及BGP线路有哪些优势

我们在选择虚拟主机和云服务器的时候,是不是经常有看到有的线路是BGP线路,比如前几天有看到服务商有国际BGP线路和国内BGP线路。这个BGP线路和其他服务线路有什么不同呢?所谓的BGP线路机房,就是在不同的运营商之间通过技术手段时间各个网络的兼容速度最佳,但是IP地址还是一个。正常情况下,我们看到的某个服务商提供的IP地址,在电信和联通移动速度是不同的,有的电信速度不错,有的是移动速度好。但是如果...

7月RAKsmart独立服务器和站群服务器多款促销 G口不限量更低

如果我们熟悉RAKsmart商家促销活动的应该是清楚的,每个月的活动看似基本上一致。但是有一些新品或者每个月还是有一些各自的特点的。比如七月份爆款I3-2120仅30美金、V4新品上市,活动期间5折、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量服务器比六月份折扣力度更低。RAKsmart 商家这个月依旧还是以独立服务器和站群服务器为主。当然也包括有部分的低至1.99美元的VPS主机。第一、I...

选择Vultr VPS主机不支持支付宝付款的解决方案

在刚才更新Vultr 新年福利文章的时候突然想到前几天有网友问到自己有在Vultr 注册账户的时候无法用支付宝付款的问题,当时有帮助他给予解决,这里正好顺带一并介绍整理出来。毕竟对于来说,虽然使用的服务器不多,但是至少是见过世面的,大大小小商家的一些特性特征还是比较清楚的。在这篇文章中,和大家分享如果我们有在Vultr新注册账户或者充值购买云服务器的时候,不支持支付宝付款的原因。毕竟我们是知道的,...

查找ip为你推荐
bbsxpdvbbs bbsxp LeadBBS 对比自助建站自助建站到底好还是不好不兼容软件和电脑不兼容会怎样?淘宝店推广如何推广淘宝店如何建立一个网站怎样能创建一个网站开机滚动条谁会调开机的滚动条怎么点亮qq空间图标怎么点亮QQ空间的图标bt封杀BT下载可以封杀迅雷吗?什么原理?能破吗?什么是云平台什么是云平台管理软件,一个云平台软件应该具有哪些基本功能声母是什么什么是声母,什么是韵母
河南vps 快速域名备案 什么是二级域名 150邮箱 徐正曦 100m独享 免费高速空间 能外链的相册 备案空间 带宽租赁 lick 美国盐湖城 全能空间 阿里云邮箱个人版 windowsserver2012 vim命令 戴尔主机 主机系统 大容量存储模式 竞彩论坛空间 更多