CN116743707B - 基于主动时延探测的ip地理定位方法及装置 - Google Patents
基于主动时延探测的ip地理定位方法及装置 Download PDFInfo
- Publication number
- CN116743707B CN116743707B CN202310404764.6A CN202310404764A CN116743707B CN 116743707 B CN116743707 B CN 116743707B CN 202310404764 A CN202310404764 A CN 202310404764A CN 116743707 B CN116743707 B CN 116743707B
- Authority
- CN
- China
- Prior art keywords
- geographic
- detection
- time delay
- data
- network
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 159
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 51
- 239000011521 glass Substances 0.000 claims abstract description 27
- 238000005516 engineering process Methods 0.000 claims description 26
- 238000012360 testing method Methods 0.000 claims description 25
- 238000007781 pre-processing Methods 0.000 claims description 12
- 239000000523 sample Substances 0.000 claims description 9
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000007405 data analysis Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 11
- 238000010801 machine learning Methods 0.000 abstract description 11
- 238000004458 analytical method Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000009776 industrial production Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
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/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/69—Types of network addresses using geographic information, e.g. room number
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于主动时延探测的IP地理定位方法及装置,该方法包括:利用网络开源数据构建可靠地理关键词信息字典;利用可靠地理关键词信息字典解析网络中公开的Looking Glass的地理位置,得到可靠探测点集合;利用可靠地理关键词信息字典解析网络中暴露IP地理位置的开源数据,得到被探测点集合;利用探测点对被探测点进行时延探测;将所得时延作为输入,使用机器学习算法训练地理区域预测模型;将所得时延和预测区域作为输入,使用机器学习算法训练地理坐标预测模型,最终输出目标所在的地理位置。本发明能够解决现有技术中存在的成本较高,准确度较低等问题,以较小的成本,实现较高准确度的IP地址的地理位置推断。
Description
技术领域
本发明涉及网络时延探测及IP定位技术领域,特别是涉及基于主动时延探测的IP地理定位方法及装置。
背景技术
随着互联网的飞速发展,网络空间已成为“海陆空天”四大空间后的第五空间。但网络空间并不是完全独立于物理空间的状态,其作为物理空间在虚拟世界的同台影射,对物理世界有着重要影响。IP地理定位技术是指确定一个IP地址对应设备在现实世界中的地理位置的技术,该技术将网络空间和物理空间的重要标识联系在了一起,是连接这两个交织交融的空间不可缺少的一环。
网络设备的地理位置信息的应用领域非常广泛,可以涉及到许多不同的行业和领域。例如,在进行定向内容推送服务时,网络服务提供商可以根据被服务对象的地理位置提供更为个性化的服务内容;社交网络中,根据用户的地理位置可以更好地推荐周围的人或者相关活动,增加用户的参与度和粘性;在网络测量研究领域中,IP地址的地理位置可以辅助研究人员更好地进行拓扑测量、别名解析等工作;在网络性能优化领域,工程师通过寻找距离IP地址地理距离较近的节点来减少远距离通信开销。
然而,目前的IP地理定位技术的效果仍然不够乐观,无法满足工业生产和科学研究的要求。根据是否向目标发送数据包,IP地理定位技术可分为被动和主动两种方法。被动IP地理定位通过分析包含IP地址潜在地理提示的开源数据来实现,但该方法的原理也导致其覆盖率过低,无法实现大规模IP地址的定位。主动定位根据是否只对目标进行ping命令可以分为基于时延和使用拓扑的两类方法。使用拓扑的方法虽然利用了更多的信息,但额外进行的拓扑探测导致了该方法覆盖率和时间效率的降低。基于时延的主动地理定位可定位的地址较多,同时也可以保持较低的成本,该方法有着极高的应用价值潜力。但当前基于时延的主动地理定位仍然存在如下问题:第一,定位需要足够数量的探测点,导致该类方法的成本过高。第二,定位目前根据探测时延进行定位的方法仍较为简单暴力,其定位误差过大。
现有的IP地理定位可分为四类:依赖客户端的IP地理定位技术、基于信息推测的IP地理定位技术、基于网络时延探测的IP地理定位技术、使用网络拓扑探测的IP地理定位技术。
依赖客户端的IP地理定位技术。依赖客户端的IP地理定位技术是指需要在定位的目标上安装额外的装置,通过这些装置达到定位的目的。卫星定位通常使用该项技术,如GPS和北斗系统,通过在目标上安装相关模块,卫星系统可以与目标设备通讯并完成定位。此外,室内定位也采用该种定位手段,根据目标设备上安装的模块(如WIFI、蓝牙、蜂窝网络等),采用对应的通讯方式,进而根据得到的数据进行定位推断。基于信息推测的IP地理定位技术。基于信息推测的IP地理定位技术也称为被动IP地理定位。该技术通过分析网络中可能暴露IP地理位置的开源数据来实现IP地址和地理位置的映射。Wang等人发现一些摄像头网页中的源代码包含了摄像头对应的IP地址和地理经纬度,通过分析这些网页完成定位目标。Huffaker等人和Luckie等人均分析了网络管理员配置的反向DNS(reverse DNS,rDNS)中的主机名(hostname),发现其中可能包含城市名称等地理关键词,基于此使用正则表达式成功抽取出部分IP地址所在的地理位置信息。Guo等人对IP地址所对应的网页内容进行分析,通过从网页内容中提取出地理信息来实现定位。基于网络时延探测的IP地理定位技术。基于网络时延探测的IP地理定位技术需要在定位前使用一些地理位置已知的探测点对目标发送时延探测包,通过得来的探测数据进行地理位置的推断。Gueye等人将探测的时延转换为地理距离,使用三角定位法(Trilateration)进行定位。Wong等人在其基础上,将探测时延转换为地理距离的区间,最后同样使用三角定位法来完成定位。Eriksson等人通过对地理位置进行区域划分,将原始的地理坐标预测问题转换为地理区域分类问题,最后使用朴素贝叶斯分类方法进行了预测。Jiang等人使用了两层的神经网络将输入的探测时延转换为地理经纬度。使用网络拓扑探测的IP地理定位技术。使用网络拓扑探测的IP地理定位技术需要先通过地理位置已知的探测点对目标IP地址进行拓扑探测,得出拓扑信息,再利用该信息完成位置预测。Bassett等人按照探测点到目标IP的拓扑路径中的各个IP地址的顺序,对这些IP地址进行迭代定位,最终来推测目标的所在位置。Xiang等人推测出每台路由器的覆盖范围的半径,找到目标节点和已知位置的地标节点(landmark)的共同路由器,根据该路由器的覆盖半径和地标节点的位置推测出目标节点的地理位置。Wang等人利用图神经网络将输入的拓扑数据转换为地理坐标。
现有技术的缺陷:
依赖客户端的IP地理定位技术需要目标IP地址的所在设备上安装相关装置,能够满足要求的目标地址较少。此外,使用该项技术进行定位会受到服务提供商的权限限制,因而该项技术适用的覆盖率较低,难以满足工业生产和科学研究的要求。基于信息推测的IP地理定位技术依赖于IP地址对应数据包含潜在的地理信息提示,满足此类要求的IP地址数量较少,因此该类技术覆盖率较低。此外,数据源中的噪声数据会影响定位精度,例如,某些方法通过抽取IP地址所对应网页中的地理关键词来定位,会受到云服务器和CDN的影响而产生误差。由于数据源的准确度难以衡量,因而此类定位技术的可信度难以保证。基于网络时延探测的IP地理定位技术精确度依赖于所探测的时延数据。由于网络中的时延数据容易受到多方面的干扰,如网络波动、网络拥塞,因此时延和地理距离的关联性较为复杂,目前的方法使用时延进行推测的方式仍然较为简单,难以对这种复杂性进行较好地模拟,因此定位效果较差。此外,由于该类方法需要一定数量的探测点对目标节点进行时延探测,因此该类方法的成本也比较高。使用网络拓扑探测的IP地理定位技术使用了拓扑探测技术,相较于时延探测所使用的数据包,拓扑探测技术所消耗的时间和网络流量较多,因此该项技术难以进行大规模的测量,否则会消耗大量时间以及造成较大的网络压力。此外,一些路由器专门对拓扑探测数据包进行了屏蔽,因此该类技术无法对这样的路由器进行定位,导致其覆盖率相较于基于网络时延探测的IP地理定位技术较低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的是提出一种基于主动时延探测的IP地理定位方法,解决现有技术中存在的成本较高,准确度较低等问题,本发明在基于网络时延探测的前提下,以较小的成本,实现较高准确度的IP地址的地理位置推断。
本发明的另一个目的在于提出一种基于主动时延探测的IP地理定位装置。
为达上述目的,本发明一方面提出一种基于主动时延探测的IP地理定位方法,包括:
基于网络中的地理数据信息构建地理信息字典;
利用所述地理信息字典分别解析网络中公开的Looking Glass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合;
利用所述探测点集合中的探测点对所述被探测点集合中的地标节点进行时延探测得到时延数据;其中,所述地标节点为地理位置信息已知的IP地址;
将所述时延数据输入基于所述被探测点集合训练得到的地理区域预测模型以输出预测的目标节点的地理区域类别;以及将所述时延数据和所述预测的地理区域类别输入基于所述探测点集合训练得到的地理坐标预测模型以输出目标节点所在的地理位置;其中,所述目标节点为地理位置信息待预测的IP地址。
另外,根据本发明上述实施例的基于主动时延探测的IP地理定位方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述地理信息字典的键值分别为地理关键词和地理坐标;所述基于网络中的地理数据信息构建地理信息字典,包括:
将网络中的地理数据信息的各个地理关键词进行预处理得到预处理结果;
基于所述预处理结果对地理信息字典的键值进行约束,以根据约束结果构建地理信息字典。
进一步地,在本发明的一个实施例中,所述利用所述地理信息字典分别解析网络中公开的Looking Glass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合,包括:
利用爬虫技术得到Looking Glass数据的网页内容并分析出不同类别的模板,通过模板格式抽取出网页内容中存在地理关键词的第一字符串,并利用所述第一字符串和地理信息字典获取Looking Glass数据所对应的地理位置以得到探测点集合;
分析网络中显示IP地理位置的开源数据得到存在地理关键词的第二字符串,并利用所述第二字符串和所述地理信息字典查询对应IP地址所在的地理位置以获得被探测点集合。
进一步地,在本发明的一个实施例中,所述利用所述探测点集合中的探测点对所述被探测点集合中的地标节点进行时延探测得到时延数据,包括:
利用服务器调用探测点的调用接口;
利用探测点对地标节点执行服务器下发的探测命令,使得所述调用接口向服务器返回时延探测结果;
利用正则表达式处理所述时延探测结果以得到每个探测点和被探测点之间的时延数据。
进一步地,在本发明的一个实施例中,将所述被探测点集合划分为第一训练集和第一测试集;将作为所述第一训练集的地标节点输入地理区域预测模型进行训练得到训练好的地理区域预测模型,并将作为所述第一测试集的目标节点和所述时延数据输入训练好的地理区域预测模型以输出预测的目标节点对应的地理区域类别;
将所述探测点集合划分为第二训练集和第二测试集;将作为所述第二训练集的探测点输入地理坐标预测模型进行训练得到训练好的地理坐标预测模型,并将作为所述第二测试集的目标节点、所述地理区域类别和所述时延数据输入训练好的地理坐标预测模型,以输出目标节点所在的地理位置。
为达上述目的,本发明另一方面提出一种基于主动时延探测的IP地理定位装置,包括:
信息字典构建模块,用于基于网络中的地理数据信息构建地理信息字典;
探测数据解析模块,用于利用所述地理信息字典分别解析网络中公开的LookingGlass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合;
时延数据探测模块,用于利用所述探测点集合中的探测点对所述被探测点集合中的地标节点进行时延探测得到时延数据;其中,所述地标节点为地理位置信息已知的IP地址;
模型训练输出模块,用于将所述时延数据输入基于所述被探测点集合训练得到的地理区域预测模型以输出预测的目标节点的地理区域类别;以及将所述时延数据和所述预测的地理区域类别输入基于所述探测点集合训练得到的地理坐标预测模型以输出目标节点所在的地理位置;其中,所述目标节点为地理位置信息待预测的IP地址。
本发明实施例的基于主动时延探测的IP地理定位方法和装置,通过对网络中的网络性能测试工作(Looking Glass)进行地理位置解析,得到地理分布广泛的低成本探测点,利用这些探测点对目标IP地址进行主动时延探测,获得时延数据,将时延数据和目标IP地址的地理区域信息作为输入,使用机器学习算法进行分析和计算,最终得到目标IP地址的地理位置。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明实施例的基于主动时延探测的IP地理定位方法的流程图;
图2是根据本发明实施例的基于主动时延探测的IP地理定位方法的流程示意框图;
图3是根据本发明实施例的不同方法的误差对比CDF图;
图4是根据本发明实施例的基于主动时延探测的IP地理定位装置结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面参照附图描述根据本发明实施例提出的基于主动时延探测的IP地理定位方法和装置。
图1是本发明实施例的基于主动时延探测的IP地理定位方法的流程图。
本发明实施例的缩略语和关键术语定义:
网络性能测试工具(Looking Glass):网络管理员为了检测其管理的网络的性能等指标,在其路由器上部署的工具。该工具可执行时延探测、拓扑探测等操作。一部分的Looking Glass有对应网页,用户可以在网页上进行操作。CLLI代码:该代码是北美通信产业使用的一种标识符号,该符号共有十一个字母,其中前6个字母由于标识位置。联合国口岸及相关地点代码(UN/LOCODE):该代码被航运业使用,用于标识海港、铁路和公路终点站、机场、邮件互换局和边境口岸。国际航空运输协会机场代码(IATA):该代码由国际航空运输协会规定、用于代表全世界大多数机场的代码。它的编号规则为用3个字母组成。
如图1所示,该方法包括但不限于以下步骤:
S1,基于网络中的地理数据信息构建地理信息字典。
具体地,本发明收集网络中的地理数据信息,对其进行处理得出地理信息字典。
在本发明的一个实施例中,如图2所示,地理关键词信息字典的键值分别为地理关键词和地理坐标,即输入地理关键词,该字典可输出对应地理位置的经纬度。地理关键词包括城市名称、CLLI代码、UN/LOCODE代码、IATA代码。使用的网络中的地理数据包括Geonames全球城市信息数据库、CLLI代码数据库、UN/LOCODE代码数据库、IATA代码数据库。
在本发明的一些实施例中,处理数据时将各个的地理关键词转为小写并去除其中空格便于后续比较。为了防止误判,需要对字典的键进行一定的约束,如:要求名称长度大于设定的阈值;出现重名关键词时,设定规则进行选择。此外,可生成包含空格的城市名称列表,后续步骤判断字符串是否含有地理关键词时,先遍历该列表查看字符串是否含有对应城市名称。由于包含空格的城市名称较少,该操作不会造成过大的时间负担。
进一步地,由于某些地理关键词可能带来歧义性,如“normal”单词,虽然表示normal城市,但出现该词时的场景时该词通常用于标识对应设备处于正常状态,因此需要手动构建一份黑名单,名单中的单词不应该作为字典的键。
S2,利用地理信息字典分别解析网络中公开的Looking Glass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合。
可以理解的是,探测点的来源为网络中公开的Looking Glass数据,主要来源有Giotsas等人工作、Zhuang等人工作以及traceroute.org等开源列表。
在本发明的一个实施例中,首先使用爬虫去得到各个Looking Glass的网页内容,然后手动分析出不同类别的模板,通过模板格式来抽取出网页中可能存在地理关键词的字符串,最后通过步骤S1所得出的地理关键词字典来获取Looking Glass所对应的地理位置。
可以理解的是,由于网络管理员在部署Looking Glass时通常使用公开的模板,因此手动分析模板不会造成过大的人力和时间消耗。
具体地,被探测点的开源数据来源有三类:存在主动填写地理位置信息的探针的RIPE Atlas探测平台;对应网页源代码中暴露地理位置和IP地址的摄像头网站;存在地理提示信息的反向DNS数据集。
具体地,被探测点的分析方式和分析探测点的方式相同,得到可能存在地理关键词的字符串后,使用地理关键词字典查询对应IP地址所在的地理位置。经过该步骤,可以获得探测点和被探测点两个集合。
在本发明的一个实施例中,查看字符串是否存在地理关键词时,进行如下流程:
S21,将字符串转为小写,删除字符串中的数字。
S22,遍历包含空格的城市名称,查看字符串中是否包含某个城市,若包含则返回对应结果。
S23,将字符串根据部分特殊字符进行分割(逗号,破折号,括号),得到分割后的单词列表。
S24,遍历分割后的单词列表,检查其是否在地理关键词字典中。若存在则将结果放入候选名单中。其中若匹配的关键词类型为IATA代码时,要求分割后的单词列表中包含对应的国家代码或“IXP”单词(通常IXP会使用IATA代码来表示地点)。
S25,检查候选名单。存在多个候选时,若某个候选的城市名称为其他某个候选的所属州的名称,则将其删除;再通过比对候选的地理距离是否小于阈值,若小于阈值将其合并。最后查看候选名单,若只有一个候选则返回结果。
S3,利用探测点集合中的探测点对被探测点集合中的地标节点进行时延探测得到时延数据;其中,地标节点为地理位置信息已知的IP地址。
可以理解的是,本发明实施例的被探测点在训练时可以为地标节点,在预测时可以为目标节点。本发明实施例的地标节点为:已知地理位置信息的IP地址。
进一步地,本发明可以使用自动化脚本的方式进行时延探测。对步骤S2的探测点集合进行手动分析,获取访问各个Looking Glass所对应API,然后对步骤S2的被探测点集合进行探测。由于访问Looking Glass的API相对较少,因此该步骤不会造成过多的人力和时间负担。
进一步地,时延探测的返回结果格式统一为时延探测命令ping的结果格式,因此可以采用统一的正则表达式对结果进行抽取,将抽取的结果存储到时延数据中。
在本发明的一个实施例中,利用服务器调用探测点的调用接口,利用探测点对地标节点执行服务器下发的探测命令,使得调用接口向服务器返回时延探测结果;利用正则表达式处理时延探测结果以得到每个探测点和被探测点之间的时延数据。
具体地,本发明使用服务器去调用通过LookingGlass得出的探测点的API调用接口,让这些探测点对地标节点执行探测命令,这些API会返回给服务器时延探测结果,然后使用正则表达式处理返回地时延探测结果,得到每个探测点和被探测点之间的时延数据。
S4,将时延数据输入基于被探测点集合训练得到的地理区域预测模型以输出预测的目标节点的地理区域类别;以及将时延数据和预测的地理区域类别输入基于探测点集合训练得到的地理坐标预测模型以输出目标节点所在的地理位置;其中,目标节点为地理位置信息待预测的IP地址。
可以理解的是,本发明实施例的目标节点为:地理位置信息待预测的IP地址。
具体地,本发明使用机器学习算法通过探测而来的时延训练IP地址的地理区域预测模型,并使用该模型预测目标IP地址的地理区域类别。
可以理解的是,本发明实施例的地理区域预测模型可以为任意的机器学习分类算法,将被探测点集合划分为训练集和测试集,根据测试的准确度作为选择算法的标准。
在本发明的一个实施例中,将被探测点集合划分为训练集和测试集;将作为训练集的地标节点输入地理区域预测模型进行训练得到训练好的地理区域预测模型,并将作为第一测试集的目标节点和所述时延数据输入训练好的地理区域预测模型以输出预测的目标节点对应的地理区域类别。
进一步地,利用预测的目标IP地址的地理区域,结合探测所得时延,使用机器学习算法训练地理坐标预测模型,最终使用该模型预测目标所在的地理位置。
可以理解的是,该地理坐标预测模型选择的机器学习算法方式和上述地理区域预测模型相同,将探测点集合分为训练集和测试集,根据最终的定位误差作为选择机器学习算法的标准。
在本发明的一个实施例中,将探测点集合划分为对应的训练集和测试集;将作为该训练集的探测点输入地理坐标预测模型进行训练得到训练好的地理坐标预测模型,并将作为该测试集的目标节点、地理区域类别和时延数据输入训练好的地理坐标预测模型,以输出目标节点所在的地理位置。即输出为IP地址对应设备的地理坐标,即经纬度。
综上,本发明针对基于网络时延探测的地理定位技术中成本较高的问题,本发明根据对网络中可用的探测点的地理位置进行解析,得到地理分布广泛且成本较低的探测点,解决了该类技术成本较高的问题。
综上所述,本发明针对基于网络时延探测的地理定位技术中准确度较低的问题,本发明使用两阶段预测方式。第一阶段将时延数据作为输入,使用机器学习算法对目标IP地址的地理区域进行预测;第二阶段将上一阶段的预测结果和时延数据作为输入,使用机器学习算法对目标IP地址的地理位置进行预测。本发明较好地模拟了时延和地理位置的复杂关系,提高了定位结果的准确度。
由此,本发明通过解析网络中公开探测点的地理位置完成了基于时延探测的IP地理定位中需要一定探测点的需求,达到了降低成本的目的。使用机器学习算法并结合了地理区域这一维度信息,较好地模拟了时延和地理距离的关系。本发明实现了一种基于主动时延探测的IP地理定位方法,为对IP地址的地理位置有需求的工业生产和科学研究提供了数据支持。
进一步地,本发明最终给出了一份可以公开自动化利用且地理位置已知的探测点集合。实验从1600个原始列表中,成功解析了407个探测点的地理位置。结果显示探测点分布于147个城市,表明了使用网络公开Looking Glass进行IP地理定位满足其对探测点地理分布需要分散的要求。此外,实验结果表明各探测点均可以至少完成80%的探测任务,该结果验证了本发明给出的探测点集合进行实验探测的可行性。相比于传统方法中所使用的探测平台探针或购买云服务器进行探测,本发明也降低了成本和时间消耗。
进一步地,本发明在对IP地址进行位置预测时结合了地理区域信息,提高了定位的准确度。表1展示了使用不同地理区域信息在不同规模下的平均误差。结果表明,无论采用何种地理区域划分方式,引入地理区域信息均可以对结果的准确度有一定的提升。其中,本发明所使用的联合国地理区域方案可以带来最好的提升效果。
表1不同地理区域划分方式时的平均误差(千米)
由此,本发明使用机器学习算法模拟了时延和地理位置的复杂关系,相比于其他的研究方法,本发明最终结果的准确度有较大的提升。图3显示了本发明和相关研究的误差对比CDF图,其中本发明的平均误差为69千米,比相关研究中的最好结果降低了160千米。其中36.19%的地址定位误差在10千米以内,60.36%的地址定位误差在50千米以内。实验结果表明了本发明对基于主动时延探测的IP地理定位的精度的提升。
根据本发明实施例的基于主动时延探测的IP地理定位方法,可解决现有技术中存在的成本较高,准确度较低等问题,并且在基于网络时延探测的前提下,以较小的成本,实现较高准确度的IP地址的地理位置推断。
为了实现上述实施例,如图4所示,本实施例中还提供了基于主动时延探测的IP地理定位装置10,该装置10包括,信息字典构建模块100、探测数据解析模块200、时延数据探测模块300和模型训练输出模块400。
信息字典构建模块100,用于基于网络中的地理数据信息构建地理信息字典;
探测数据解析模块200,用于利用地理信息字典分别解析网络中公开的LookingGlass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合;
时延数据探测模块300,用于利用探测点集合中的探测点对被探测点集合中的地标节点进行时延探测得到时延数据;其中,地标节点为地理位置信息已知的IP地址;
模型训练输出模块400,用于将时延数据输入基于被探测点集合训练得到的地理区域预测模型以输出预测的目标节点的地理区域类别;以及将时延数据和预测的地理区域类别输入基于探测点集合训练得到的地理坐标预测模型以输出目标节点所在的地理位置;其中,目标节点为地理位置信息待预测的IP地址。
进一步地,地理信息字典的键值分别为地理关键词和地理坐标;上述信息字典构建模块100,还用于:
将网络中的地理数据信息的各个地理关键词进行预处理得到预处理结果;
基于预处理结果对地理信息字典的键值进行约束,以根据约束结果构建地理信息字典。
进一步地,上述探测数据解析模块200,还用于:
利用爬虫技术得到Looking Glass数据的网页内容并分析出不同类别的模板,通过模板格式抽取出网页内容中存在地理关键词的第一字符串,并利用第一字符串和地理信息字典获取Looking Glass数据所对应的地理位置以得到探测点集合;
分析网络中显示IP地理位置的开源数据得到存在地理关键词的第二字符串,并利用第二字符串和所述地理信息字典查询对应IP地址所在的地理位置以获得被探测点集合。
进一步地,上述时延数据探测模块300,还用于:
利用服务器调用探测点的调用接口;
利用探测点对地标节点执行服务器下发的探测命令,使得调用接口向服务器返回时延探测结果;
利用正则表达式处理时延探测结果以得到每个探测点和被探测点之间的时延数据。
进一步地,上述模型训练输出模块400,还用于将被探测点集合划分为第一训练集和第一测试集;将作为第一训练集的地标节点输入地理区域预测模型进行训练得到训练好的地理区域预测模型,并将作为第一测试集的目标节点和时延数据输入训练好的地理区域预测模型以输出预测的目标节点对应的地理区域类别;以及,
将探测点集合划分为第二训练集和第二测试集;将作为第二训练集的探测点输入地理坐标预测模型进行训练得到训练好的地理坐标预测模型,并将作为第二测试集的目标节点、地理区域类别和时延数据输入训练好的地理坐标预测模型,以输出目标节点所在的地理位置。
根据本发明实施例的基于主动时延探测的IP地理定位装置,可解决现有技术中存在的成本较高,准确度较低等问题,并且在基于网络时延探测的前提下,以较小的成本,实现较高准确度的IP地址的地理位置推断。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
Claims (10)
1.一种基于主动时延探测的IP地理定位方法,其特征在于,包括以下步骤:
基于网络中的地理数据信息构建地理信息字典;
利用所述地理信息字典分别解析网络中公开的Looking Glass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合;
利用所述探测点集合中的探测点对所述被探测点集合中的地标节点进行时延探测得到时延数据;其中,所述地标节点为地理位置信息已知的IP地址;
将所述时延数据输入基于所述被探测点集合训练得到的地理区域预测模型以输出预测的目标节点的地理区域类别;以及将所述时延数据和所述预测的地理区域类别输入基于所述探测点集合训练得到的地理坐标预测模型以输出目标节点所在的地理位置;其中,所述目标节点为地理位置信息待预测的IP地址。
2.根据权利要求1所述的方法,其特征在于,所述地理信息字典的键值分别为地理关键词和地理坐标;所述基于网络中的地理数据信息构建地理信息字典,包括:
将网络中的地理数据信息的各个地理关键词进行预处理得到预处理结果;
基于所述预处理结果对地理信息字典的键值进行约束,以根据约束结果构建地理信息字典。
3.根据权利要求2所述的方法,其特征在于,所述利用所述地理信息字典分别解析网络中公开的Looking Glass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合,包括:
利用爬虫技术得到Looking Glass数据的网页内容并分析出不同类别的模板,通过模板格式抽取出网页内容中存在地理关键词的第一字符串,并利用所述第一字符串和地理信息字典获取Looking Glass数据所对应的地理位置以得到探测点集合;
分析网络中显示IP地理位置的开源数据得到存在地理关键词的第二字符串,并利用所述第二字符串和所述地理信息字典查询对应IP地址所在的地理位置以获得被探测点集合。
4.根据权利要求3所述的方法,其特征在于,所述利用所述探测点集合中的探测点对所述被探测点集合中的地标节点进行时延探测得到时延数据,包括:
利用服务器调用探测点的调用接口;
利用探测点对地标节点执行服务器下发的探测命令,使得所述调用接口向服务器返回时延探测结果;
利用正则表达式处理所述时延探测结果以得到每个探测点和被探测点之间的时延数据。
5.根据权利要求4所述的方法,其特征在于,将所述被探测点集合划分为第一训练集和第一测试集;将作为所述第一训练集的地标节点输入地理区域预测模型进行训练得到训练好的地理区域预测模型,并将作为所述第一测试集的目标节点和所述时延数据输入训练好的地理区域预测模型以输出预测的目标节点对应的地理区域类别;
将所述探测点集合划分为第二训练集和第二测试集;将作为所述第二训练集的探测点输入地理坐标预测模型进行训练得到训练好的地理坐标预测模型,并将作为所述第二测试集的目标节点、所述地理区域类别和所述时延数据输入训练好的地理坐标预测模型,以输出目标节点所在的地理位置。
6.一种基于主动时延探测的IP地理定位装置,其特征在于,包括:
信息字典构建模块,用于基于网络中的地理数据信息构建地理信息字典;
探测数据解析模块,用于利用所述地理信息字典分别解析网络中公开的LookingGlass数据和网络中显示IP地理位置的开源数据,对应得到探测点集合和被探测点集合;
时延数据探测模块,用于利用所述探测点集合中的探测点对所述被探测点集合中的地标节点进行时延探测得到时延数据;其中,所述地标节点为地理位置信息已知的IP地址;
模型训练输出模块,用于将所述时延数据输入基于所述被探测点集合训练得到的地理区域预测模型以输出预测的目标节点的地理区域类别;以及将所述时延数据和所述预测的地理区域类别输入基于所述探测点集合训练得到的地理坐标预测模型以输出目标节点所在的地理位置;其中,所述目标节点为地理位置信息待预测的IP地址。
7.根据权利要求6所述的装置,其特征在于,所述地理信息字典的键值分别为地理关键词和地理坐标;所述信息字典构建模块,还用于:
将网络中的地理数据信息的各个地理关键词进行预处理得到预处理结果;
基于所述预处理结果对地理信息字典的键值进行约束,以根据约束结果构建地理信息字典。
8.根据权利要求7所述的装置,其特征在于,所述探测数据解析模块,还用于:
利用爬虫技术得到Looking Glass数据的网页内容并分析出不同类别的模板,通过模板格式抽取出网页内容中存在地理关键词的第一字符串,并利用所述第一字符串和地理信息字典获取Looking Glass数据所对应的地理位置以得到探测点集合;
分析网络中显示IP地理位置的开源数据得到存在地理关键词的第二字符串,并利用所述第二字符串和所述地理信息字典查询对应IP地址所在的地理位置以获得被探测点集合。
9.根据权利要求8所述的装置,其特征在于,所述时延数据探测模块,还用于:
利用服务器调用探测点的调用接口;
利用探测点对地标节点执行服务器下发的探测命令,使得所述调用接口向服务器返回时延探测结果;
利用正则表达式处理所述时延探测结果以得到每个探测点和被探测点之间的时延数据。
10.根据权利要求9所述的装置,其特征在于,所述模型训练输出模块,还用于将所述被探测点集合划分为第一训练集和第一测试集;将作为所述第一训练集的地标节点输入地理区域预测模型进行训练得到训练好的地理区域预测模型,并将作为所述第一测试集的目标节点和所述时延数据输入训练好的地理区域预测模型以输出预测的目标节点对应的地理区域类别;以及,
将所述探测点集合划分为第二训练集和第二测试集;将作为所述第二训练集的探测点输入地理坐标预测模型进行训练得到训练好的地理坐标预测模型,并将作为所述第二测试集的目标节点、所述地理区域类别和所述时延数据输入训练好的地理坐标预测模型,以输出目标节点所在的地理位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310404764.6A CN116743707B (zh) | 2023-04-17 | 2023-04-17 | 基于主动时延探测的ip地理定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310404764.6A CN116743707B (zh) | 2023-04-17 | 2023-04-17 | 基于主动时延探测的ip地理定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116743707A CN116743707A (zh) | 2023-09-12 |
CN116743707B true CN116743707B (zh) | 2024-01-23 |
Family
ID=87910343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310404764.6A Active CN116743707B (zh) | 2023-04-17 | 2023-04-17 | 基于主动时延探测的ip地理定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743707B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881346A (zh) * | 2017-05-12 | 2018-11-23 | 中国人民解放军信息工程大学 | 面向位置服务的网络空间实体资源可视化方法及系统 |
CN114301874A (zh) * | 2021-11-10 | 2022-04-08 | 北京邮电大学 | 基于IPv4地址地理位置信息的IPv6地址定位方法及电子设备 |
CN115102925A (zh) * | 2022-06-10 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | 基于IP2vec模型的街道级IP定位方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220376B (zh) * | 2013-03-30 | 2014-07-16 | 清华大学 | 利用移动终端的位置数据来定位ip位置的方法 |
US10645202B2 (en) * | 2018-09-12 | 2020-05-05 | Charter Communications Operating, Llc | Geolocation for internet protocol packets |
-
2023
- 2023-04-17 CN CN202310404764.6A patent/CN116743707B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881346A (zh) * | 2017-05-12 | 2018-11-23 | 中国人民解放军信息工程大学 | 面向位置服务的网络空间实体资源可视化方法及系统 |
CN114301874A (zh) * | 2021-11-10 | 2022-04-08 | 北京邮电大学 | 基于IPv4地址地理位置信息的IPv6地址定位方法及电子设备 |
CN115102925A (zh) * | 2022-06-10 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | 基于IP2vec模型的街道级IP定位方法 |
Non-Patent Citations (4)
Title |
---|
DING Shichang ; LUO Xiangyang ; YE Dengpan ; LIU Fenlin ; .Delay-Distance Correlation Study for IP Geolocation.Wuhan University Journal of Natural Sciences.2017,(第02期),全文. * |
DING,Shichang 等.Delay-Distance Correlation Study for IP Geolocation.Wuhan University Journal of Natural Sciences.2017,全文. * |
GUO,Chuanxiong 等.Mining the Web and the Internet for Accurate IP Address Geolocations.IEEE.2009,全文. * |
JIANG,Hao 等.IP Geolocation Estimation using Neural Networks with Stable Landmarks.IEEE.2016,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN116743707A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Mining checkins from location-sharing services for client-independent ip geolocation | |
Hong et al. | Hierarchical community detection and functional area identification with OSM roads and complex graph theory | |
CN109995884B (zh) | 确定精确地理位置的方法和装置 | |
US8996523B1 (en) | Forming quality street addresses from multiple providers | |
CN106537384B (zh) | 使用指示用户位置的数据的逆向ip数据库 | |
US10972862B2 (en) | Visitor insights based on hyper-locating places-of-interest | |
CN110995885B (zh) | 一种基于路由器误差训练的ip定位方法 | |
CN107368480B (zh) | 一种兴趣点数据错误类型定位、重复识别方法及装置 | |
CN110012120A (zh) | 一种基于PoP网络拓扑的IP城市级定位算法 | |
WO2019144728A1 (zh) | 数据处理 | |
Li et al. | Street-Level Landmarks Acquisition Based on SVM Classifiers. | |
Li et al. | Geocam: An ip-based geolocation service through fine-grained and stable webcam landmarks | |
Buchel et al. | Geospatial analysis | |
CN116743707B (zh) | 基于主动时延探测的ip地理定位方法及装置 | |
Kilic et al. | Effects of reverse geocoding on OpenStreetMap tag quality assessment | |
CN106940189B (zh) | 导航系统中的经典线路获取方法、装置 | |
Zu et al. | A delay deviation tolerance IP geolocation method with error estimation | |
US11821748B2 (en) | Processing apparatus and method for determining road names | |
Bassi et al. | Construction of a geo-location service utilizing microblogging platforms | |
Liu et al. | Street-level landmark mining algorithm based on radar search | |
Wang et al. | One-geo: client-independent ip geolocation based on owner name extraction | |
CN115396397B (zh) | 基于转发关系确定缓存域名系统服务范围的方法和装置 | |
CN114765738B (zh) | 基于无线网络地址的地理位置确定方法、装置及存储介质 | |
Zu et al. | GUI: A Geolocation Method for Unreachable IP | |
Chang et al. | Selecting Sensing Location Leveraging Spatial and Cross-Domain Correlations |
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 |