确定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个月。
网络(Networks)→基于位置的服务(Location based services);计算方法(Computing methodologies)→空间和物理推理(Spatial and physical reasoning)。
IP地理定位(IP Geolocation),网络拓扑(Network Topology),图神经网络(Graph Neural Networks),不确定性推理(Uncertain Inference),普适计算(Ubiquitous Computing)
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