查找如何快速查找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次方的表中。在这里我们取了一个折中。

分类:算法

digital-vm$80/月,最高10GDigital-VM1Gbps带宽带宽

digital-vm在日本东京机房当前提供1Gbps带宽、2Gbps带宽、10Gbps带宽接入的独立服务器,每个月自带10T免费流量,一个独立IPv4。支持额外购买流量:20T-$30/月、50T-$150/月、100T-$270美元/月;也支持额外购买IPv4,/29-$5/月、/28-$13/月。独立从下单开始一般24小时内可以上架。官方网站:https://digital-vm.com/de...

飞讯云E5-2678V3 64GB,湖北十堰100G高防物理机330元/月

飞讯云官网“飞讯云”是湖北飞讯网络有限公司旗下的云计算服务品牌,专注为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。飞讯云是国内为数不多具有ISP/IDC双资质的专业云计算服务商,同时持有系统软件著作权证书、CNNIC地址分配联盟成员证书,通过了ISO27001信息安全管理体系国际认证、ISO9001质量保证体系国际认证。 《中华...

bgpto:日本独立服务器6.5折($120起),新加坡独立服务器7.5折($93起)

bgp.to在对日本东京的独立服务器进行6.5折终身优惠促销,低至$120/月;对新加坡独立服务器进行7.5折终身优惠促销,低至$93/月。所有服务器都是直连国内,速度上面相比欧洲、美国有明显的优势,特别适合建站、远程办公等多种用途。官方网站:https://www.bgp.to/dedicated.html主打日本(东京、大阪)、新加坡、香港(CN)、洛杉矶(US)的服务器业务!日本服务器CPU...

查找ip为你推荐
office2016激活密钥office2016怎么激活啊?求秘钥暴风影音怎么截图暴风影音3 如何截图深圳公交车路线深圳公交线路arm开发板单片机开发板与ARM开发板有什么不同?手机区号手机号码前怎样填写正确的国内区号?网站联盟怎样进入网站联盟vbscript教程请教一下高手们,这个VBS脚本难不难啊,我想学学这个,但是又不知道该从哪入手,希望高手指点指点??qq空间打扮如何打扮QQ空间?2012年正月十五山西省太原市2012年正月十五活动的相关情况发邮件怎么发发邮件怎么发?
淘宝二级域名 冰山互联 香港加速器 edis idc测评网 softbank官网 外国空间 iis安装教程 win8升级win10正式版 网站实时监控 福建天翼加速 anylink 微信收钱 卡巴斯基免费试用 河南移动梦网 net空间 空间服务器 免费网络空间 江苏徐州移动 睿云 更多