(GraphGeo)Connecting the Hosts: Street-Level IP Geolocation with GraphNeural Networks

本文主要是介绍(GraphGeo)Connecting the Hosts: Street-Level IP Geolocation with GraphNeural Networks,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ABSTRACT

确定IP地址的地理位置对于从目标广告到防止欺诈的一系列位置感知应用程序(location-aware applications 非常重要。大多数传统的基于测量(traditional measurement-based)和最近基于学习的方法(learning-based methods)要么关注的是拓扑的有效利用(efficient employment of topology),要么是利用数据挖掘(data mining)在公开的资源中寻找目标IP的线索。基于现有工作的局限性,我们提出了一个名为GraphGeo的新框架,该框架通过图神经网络的应用,为街道级IP地理定位(street-level IP geolocation提供了一个完整的处理方法。它将IP主机知识(IP hosts knowledge)邻域关系(kinds of neighborhood relationships)集成到图中,以推断空间拓扑(rspatial topology ),用于进行高质量的地理位置预测。我们明确地考虑和缓解了(explicitly consider and alleviate)在复杂的网络环境中普遍存在的网络抖动和拥塞(network jitter and congestion所造成的不确定性的负面影响。对三个大型真实世界数据集的广泛评估表明,与最先进的方法相比,GraphGeo显著地减少了地理位置错误。此外,拟议的框架已作为在线服务(online service)在网络平台(online service)上部署了6个月。

CCS CONCEPTS

网络(Networks)→基于位置的服务(Location based services);计算方法(Computing methodologies)→空间和物理推理(Spatial and physical reasoning)。

KEYWORDS

IP地理定位(IP Geolocation),网络拓扑(Network Topology),图神经网络(Graph Neural Networks),不确定性推理(Uncertain Inference),普适计算(Ubiquitous Computing

1 INTRODUCTION

IP地址(IP address)是分配给连接到互联网的每个主机的唯一标识符(a unique identifier),它作为个人可识别信息(personally identifiable information)和虚拟位置寻址(virtual location addressing)。IP定位(IP geolocation)指的是将一个真实世界的地理位置分配给给定的IP地址,这个地理位置通常由(经度、纬度)元组表示。这是人们关注用户访问特定服务的许多应用程序的问题,从有针对性的营销到防止欺诈。通过对用户的精确地理定位,平台还可以提供各种个性化的服务——例如,在线定向广告可以在用户的邻近范围内within user’s proximity)推荐餐馆。无处不在的基于位置的服务长期以来一直被认为是互联网面临的一个重要挑战。

虽然IP地理定位有了充分的研究和影响,但它仍然是一个具有挑战性的问题,因为它很难收集到可用的和可靠的信息(since it is hard to collect available and reliable information.。早期旨在地理定位IP地址geolocate IP addresses)的工作直接利用在公共数据库中记录的线索,如WHOIS和域名系统(DNS)[26,27]。这些工作维护了公共记录和地理位置[27]之间基于规则的映射关系,由于公共资源已经过时,因此比较粗糙且不可靠。

[26] David Moore, Ram Periakaruppan, Jim Donohoe, and Kimberly Claffy. 2000. Where in the world is netgeo.caida.org?. In INET.   

[27] Venkata N. Padmanabhan and Lakshminarayanan Subramanian. 2001. An investigation of geographic mapping techniques for internet hosts. In SIGCOMM. 173–185. 

还有其他研究结果利用多个可控主机(several controllable hosts )探测的网络测量exploiting network measurements probed),如ping值和跟踪列表(traceroute list)[17,33]。这些方法主要将以几个圆为中心的圆的交点作为位置边界(cf。图1(a))。

[17] Ethan Katz-Bassett, John P John, Arvind Krishnamurthy, David Wetherall, Thomas Anderson, and Yatin Chawathe. 2006. Towards IP geolocation using delay and topology measurements. In SIGCOMM. 71–84.  

[33] Yong Wang, Daniel Burgener, Marcel Flores, Aleksandar Kuzmanovic, and Cheng Huang. 2011. Towards Street-Level Client-Independent IP Geolocation.. In NSDI. USENIX.    

图1:两种主流地理定位方法的核心思想(左)和我们提出的GraphGeo(右)。

经过几十年的发展,目前存在着各种基于机器学习和神经网络的IP地理定位模型。有些人将度量视为特征(measurements as features,以确定包含目标IP的区域a region containing the target IP)作为分类任务[6],或预测其经度和纬度(longitude and latitude)作为回归任务[15]。利用基于学习的模型(learning-based models)他们可以通过集成和分析多源数据来发现更有益的地理定位线索。它可以很容易地将特征转换为高维空间进行进一步分析,学习常识,并在大规模数据集训练后进行地理定位预测。

[6] Brian Eriksson, Paul Barford, Joel Sommers, and Robert Nowak. 2010. A learning-based approach for IP geolocation. In PAM. 171–180. 

[15] Hao Jiang, Yaoqing Liu, and Jeanna N Matthews. 2016. IP geolocation estimation using neural networks with stable landmarks. In INFOCOM WKSHPS. 170–175.   

现有的IP地理定位工作的关键思想如图1(a)和(b),所示尽管结果令人鼓舞,但他们也有一定的缺点。一方面,传统的基于测量的方法的实际部署(practical deployments )受到困难的物理距离估计physical distance estimations 未知的空间拓扑关系unknown spatial topological relationships)的影响。另一方面,基于学习的方法通常将IP知识(IP knowledge度量measurements)独立地视为表格数据(tabular data),并将其输入到学习模型中,如神经网络作为行向量。然而,这种范式忽略了与IP主机的地理定位密切相关的结构化信息(structured information which is strongly related to geolocations of IP hosts. )此外,各自的工作没有很好地考虑网络拥塞、抖动、拓扑约束(network congestion, jitter, topology constraints等引起的测量不确定性(uncertainty of measurements,使得它们的模型在现实IP地理定位中不够稳健。

[21] Thomas N. Kipf and Max Welling. 2017. Semi-Supervised Classification with Graph Convolutional Networks. In ICLR.   

近年来,图神经网络(GNN)[21]在一系列的应用中蓬勃发展。为了解决以前工作的局限性,我们做了一项开创性的努力,利用图结构来连接独立的IP主机(independent IP hosts,并将网络拓扑合并到它们的街道级IP地理定位特性(for street-level IP geolocation)中(incorporate network topology into their features)有三个主要的挑战: (1)一个图包含哪些IP主机?(2)如何建立合适的图形结构?(3)由于网络测量总有噪声和不确定性,因此如何稳健地聚合节点特征?为了解决这些问题,我们提出了一个名为GraphGeo的基于图的框架,它为街道级IP地理定位提供了一个完整的系统。GraphGeo首先采用一种基于规则的方法(a rule-based approach)结合路由器信息(routers information)——受测量误差的影响较小(less influenced by measurement errors)——来确定哪些IP主机属于图(to determine which graph IP hosts belong to)。然后,从拓扑和语义的角度(topological and semantic perspectives)建立IP主机之间的邻域关系(neighborhoods relationship),形成加权图(weighted graph)并将其连接起来。最后,目标IP(target IP)用一个具有不确定性感知的GNN(uncertainty-aware GNN)聚合其邻居的知识(aggregates knowledge of its neighbors),以获得准确和稳定的输出。

我们的GraphGeo从一个新的角度解决了街道级IP地理定位问题,它根据结构化信息(structured information)结合了目标IP的知识(knowledge of target IPs )和地标拓扑(topologies of landmarks,同时联合利用了网络规则和数据驱动的模型(networking rules and data-driven models.)。综上所述,这项工作的主要贡献有四个方面:

•我们提出了一个新的框架GraphGeo,它为将图神经网络应用于街头IP地理定位问题提供了一个完整的管道。它包含了IP主机的特征(IP host features )邻域关系的类型kinds of neighborhoods relationships允许我们提取具有图结构的公共知识和拓扑(extract the common knowledge and topology with graph structure),而不是学习线性特征交互或独立处理每个IP主机。

•我们通过提出一个具有类型感知能力的GNN(uncertainty-aware GNN)来确定目标IP地址(target IP address)。通过在概率空间(probabilistic space)中进行连续、灵活的推理,关注了复杂网络环境中普遍存在的网络拥塞和抖动所引起的不确定性和噪声。

•对三个真实数据集上的广泛实验评估证明了我们的框架的优越性,它不仅显著提高了街道级IP地理定位的准确性,而且还提供了模型行为的解释(interpretations of the model behaviors)

•我们的框架已经成功部署在Aiwen Tech(https://en.ipplus360.com/ home/)的网络平台上生产超过6个月,该平台提供在线API请求和离线地理定位数据库服务。迄今为止,它已经为2700多家公司和客户提供了服务。

2 RELATED WORK

2.1 IP Geolocation

许多研究已经解决了IP地理定位预测的问题。现有的工作大致可以分为两类:基于数据挖掘的方法和基于测量的方法。

Data mining-based methods

基于数据挖掘的方法(Data mining-based methods依赖于在公开的资源中挖掘位置线索来对目标IP(target IP)进行地理定位。其中一些数据分析了来自与IP相关的数据库,如WHOIS数据库和DNS的数据。

例如,Moore等人[26]提出了NetGeo,其中包括一组Perl脚本(Perl scripts),用于地址解析(address parsing)和启发式分析(heuristic analysis)WHOIS记录,以进行IP地理位置预测。[27]等人将目标主机的DNS名称(DNS names of target hosts和边界网关协议(BGP)表中的前缀信息(prefix information合并来推断地理位置。赫芬克等人[14]收集宿主域内(host domain)的地理提示(geographic hints,并将这些字符串(例如,机场代码)与地球物理位置(geophysical locations)联系起来。其他(主体)作品主要从网页和社交媒体平台的语义或多媒体信息(semantic or multimedia information )中提取地理定位线索。Liu等人的[25]利用来自社交网络的签到记录(check-in records)来学习IP、用户(user)和地理位置(geolocation)之间的映射模型(mapping model)。Wang等人[34]从网页中提取指示线索(location-indicating clues的位置,并根据这些线索定位网络服务器(web servers。Li等人[35]和Wang等人[23]定期监控(periodically monitor )托管实时网络摄像头(hosting live webcams的网站,并使用自然语言处理技术提取IP地理定位。

[26] David Moore, Ram Periakaruppan, Jim Donohoe, and Kimberly Claffy. 2000. Where in the world is netgeo.caida.org?. In INET

[27] Venkata N. Padmanabhan and Lakshminarayanan Subramanian. 2001. An investigation of geographic mapping techniques for internet hosts. In SIGCOMM. 173–185. 

[14] Bradley Huffaker, Marina Fomenkov, and KC Claffy. 2014. DRoP: DNS-based router positioning. Comput. Commun. Rev. (2014), 5–13. 

[25] Hao Liu, Yaoxue Zhang, Yuezhi Zhou, Di Zhang, Xiaoming Fu, and KK Ramakrishnan. 2014. Mining checkins from location-sharing services for client-independent ip geolocation. In INFOCOM. 619–627.   

[34] Yucheng Wang, Hongsong Zhu, Jinfa Wang, Jie Liu, Yong Wang, and Limin Sun. 2020. XLBoost-Geo: An IP Geolocation System Based on Extreme Landmark Boosting. arXiv:2010.13396.

[23] Qiang Li, Zhihao Wang, Dawei Tan, Jinke Song, Haining Wang, Limin Sun, and Jiqiang Liu. 2021. GeoCAM: An IP-Based Geolocation Service Through Fine-Grained and Stable Webcam Landmarks. IEEE/ACM Trans. Networking (2021), 1798–1812. 

[35] Zhihao Wang, Qiang Li, Jinke Song, Haining Wang, and Limin Sun. 2020. Towards IP-based geolocation via fine-grained and stable webcam landmarks. In WWW. 1422–1432.

尽管现有的数据挖掘方法的性能很好,但由于网络数据采集的被动方式passive way),现有的数据挖掘方法通常受到信息不可靠和不完整(unreliable and incomplete information的限制,容易导致不准确的地理定位结果。

Measurement-based methods

基于测量的方法(Measurement-based methods 利用探测主机和目标IPs(probing hosts and target IPs之间的网络延迟和拓扑结构(network latency and topology来估计它们的距离并推断目标的地理位置。

这一想法是基于网络延迟(network latency地理距离(geographical distance之间存在相关性(existent correlation的假设,这已经在[41]中得到了证明。Wang等人[33]设计了一个分层系统(hierarchical system,通过延迟测量(latency measurement大的粗粒度尺度(large, coarse-grained scale开始,然后升级该尺度中外部信息(external information的使用,以确定目标IP。同样,Jiang等人[15]首先基于延迟相似度(delay similarity 确定一个大的区域,然后通过神经网络利用局部地标信息(local landmarks information来预测地理位置。此外,也有研究旨在产生更准确的延迟-距离关系(latency-distance relationships。例如,Laki等人,[22]一起处理所有的地标点(landmark points,并推导出一个共同的概率延迟-距离模型(probabilistic delay-distance model。希尔曼等人[12,13]考虑了不同的层网络级别(Tier network levels,并引入了一个对数曲线(logarithmic curve来描述延迟-距离关系(delay-distance relationships

[41] Artur Ziviani, Serge Fdida, José F De Rezende, and Otto Carlos MB Duarte. 2005. Improving the accuracy of measurement-based geographic location of Internet hosts. Comput. Networks (2005), 503–523. 

[33] Yong Wang, Daniel Burgener, Marcel Flores, Aleksandar Kuzmanovic, and Cheng Huang. 2011. Towards Street-Level Client-Independent IP Geolocation.. In NSDI. USENIX.   

这篇关于(GraphGeo)Connecting the Hosts: Street-Level IP Geolocation with GraphNeural Networks的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752151

相关文章

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

js定位navigator.geolocation

一、简介   html5为window.navigator提供了geolocation属性,用于获取基于浏览器的当前用户地理位置。   window.navigator.geolocation提供了3个方法分别是: void getCurrentPosition(onSuccess,onError,options);//获取用户当前位置int watchCurrentPosition(

linux下查看自己的外网ip

局域网的服务器是通过ADSL路由器连接外网的,但ADSL是从ISP运营商那儿通过动态获得IP的,那么我怎么知道自己的外网地址是多少呢? 今天得到几个办法: curl -s http://whatismyip.org wget http://whatismyip.org 然后再  cat index.html 也可以看到

linux下TCP/IP实现简单聊天程序

可以在同一台电脑上运行,在一个终端上运行服务器端,在一个终端上运行客户端。 服务器端的IP地址要和本地的IP相同,并分配端口号,客户端的默认设置为本地,端口号自动分配。 服务器端: #include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <sys/types.

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

C# 如何同时Ping多个IP地址

在C#中,如果需要同时ping多个IP地址,可以采用多线程或异步编程的方式来实现,以便可以同时进行多个ping操作。以下是两种常用的方法: 方法一:使用多线程(Task 或 Thread) 使用Task是更现代和推荐的方式,因为它内置了更好的线程管理和异常处理机制。以下是一个使用Task的示例,展示如何同时ping多个IP地址: using System; using System.Co

JAVAEE初阶第七节(中)——物理原理与TCP_IP

系列文章目录 JAVAEE初阶第七节(中)——物理原理与TCP_IP 文章目录 系列文章目录JAVAEE初阶第七节(中)——物理原理与TCP_IP 一.应用层重点协议)1. DNS2 .NAT3. NAT IP转换过程 4 .NAPT5. NAT技术的缺陷6. HTTP/HTTPS7. 自定义协议 二. 传输层重点协议 1 .UDP协议 2.1.1 UDP协议端格式 2.1.2 UD

一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性

在当今数字化时代,‌IP地址作为网络世界中的“门牌号”,‌扮演着至关重要的角色。‌它负责在网络上唯一标识每一台设备,‌使得数据能够在庞大的互联网中准确无误地传输。‌然而,‌对于IP地址与电脑之间的对应关系,‌许多人可能存有疑惑:‌一台电脑是否必须对应一个IP地址?‌两台电脑又是否可以共用一个IP地址呢?‌本文将深入探讨这些问题,‌带您一窥IP地址背后的奥秘。‌ 一台电脑对应一个IP地址吗?‌

网络层 VII(IP多播、移动IP)【★★★★★★】

一、IP 多播 1. 多播的概念 多播是让源主机一次发送的单个分组可以抵达用一个组地址标识的若干目的主机,即一对多的通信。在互联网上进行的多播,称为 IP 多播(multicast , 以前曾译为组播)。 与单播相比,在一对多的通信中,多播可大大节约网络资源。假设视频服务器向 90 台主机传送同样的视频节目,单播与多播的比较如下图所示。 下图(a)是视频服务器用单播方式向 90 台主机传

MiniCPM-V: A GPT-4V Level MLLM on Your Phone

MiniCPM-V: A GPT-4V Level MLLM on Your Phone 研究背景和动机 现有的MLLM通常需要大量的参数和计算资源,限制了其在实际应用中的范围。大部分MLLM需要部署在高性能云服务器上,这种高成本和高能耗的特点,阻碍了其在移动设备、离线和隐私保护场景中的应用。 文章主要贡献: 提出了MiniCPM-V系列模型,能在移动端设备上部署的MLLM。 性能优越: