NeighborGeo:基于邻居的IP地理定位(一)

NeighborGeo:基于neighbors的IP地理定位

X. Wang, D. Zhao, X. Liu, Z. Zhang, T. Zhao, NeighborGeo: IP geolocation based on neighbors, Comput. Netw. 257 (2025) 110896,

Abstract

IP地址定位在网络安全、电子商务、社交媒体等领域至关重要。当前主流的图神经网络方法通过将IP定位任务重构为属性图中的节点回归问题,利用特征对节点之间的连通性进行建模,提高了定位精度。然而,在实际应用中,路标往往是分散的、不规则的,并且容易受到异常值的影响,这使得路标选择和关系学习的不可靠性限制了它们的准确性。为了应对这些挑战,提出了一种基于图结构学习的IP地址定位模型NeighborGeo。该模型采用重参数化和有监督对比学习来精确捕捉和选择性地加强节点之间的特定邻居关系,以优化结构表示。通过准确地捕获和利用邻居,该模型实现了准确的预测。实验结果表明,在纽约、洛杉矶和上海的开源数据集上,NeighborGeo的定位精度明显高于现有方法,特别是在地标分布不均匀的场景下

1. Introduction

IP地理定位是利用Internet协议(IP)地址确定设备或用户所在位置的过程。该技术被广泛应用于许多不同的领域,如网络安全、定向广告和社交媒体等。在网络安全中,它有助于识别攻击源的精确地理位置,使检测和预防[3]web攻击成为可能。在定向广告中,广告商利用IP地理定位来确定用户的位置,从而可以投放更有针对性的广告,从而提高转化率和投资回报率[4]。而在社交媒体中,平台利用IP地理定位提供地图绘制、位置共享等服务,提高了用户交互[5]。在当今互联网服务中,研究先进的IP定位技术对优化网络服务、加强网络安全具有重要意义。它对商业和安全等行业也具有重大的现实意义[2-5]。

随着地理定位技术的发展,用户可以依靠GPS定位、基站定位和Wi-Fi定位等技术以极高的精度跟踪自己的位置。这种方法通常被称为客户端依赖的IP定位[6-8]。然而,随着用户隐私保护和安全意识的增强,GPS和Wi-Fi模块的授权变得越来越困难。此外,在一些没有额外辅助模块[9]的网络设备上,依赖于客户机的IP定位并不那么成功。因此,与客户端无关的IP定位技术(仅需要IP地址信息)因其明显的优势而被广泛研究。一般来说,IP geolocation更多的是指与客户端无关的IP geolocation[2,10]。客户端无关的IP定位方法分为基于数据的方法、基于测量的方法和基于学习的方法[2]。基于数据的方法依赖于从互联网上收集的相关数据,包括ISP数据、WHOIS信息和webcam数据[9,11]。这些方法操作方便,但其准确性受到更新频率和覆盖范围的限制。基于测量的方法通过运行ping和traceroute[12]等网络测量任务来收集延迟和路由路径的信息。虽然该方法能够适应网络动态变化,但其有效性受到可用网络资源和网络状态的限制。与此同时,基于学习的方法,包括机器学习和深度学习技术,如图神经网络 (GNNs),已成为推动该领域精度提高的前沿技术[13,14]。

在基于学习的IP定位方法中,基于图神经网络的IP定位以其更高的定位粒度和精度而脱颖而出。该方法构建包含网络节点的图模型,分析节点本身及其拓扑连接和相互作用的属性。通过探索特征和地理位置之间的深度联系,基于GNN的方法成为IP地理定位领域最流行的方法[5,15,16]。尽管基于图神经网络的IP定位方法具有显著的理论优势,因为它们可以利用周围的地标进行预测,但准确识别正确的“邻居”仍然是一项具有挑战性的任务。当路标分布均匀密集时,邻居选择变得更加直接,目标和路标之间的关系更加清晰,从而减少邻居选择中的不可靠关系和误差,最终提高定位精度。然而,在实际应用中,landmark往往是分散的、不规则的,并且包含异常值。现有的定位方法在预测过程中经常受到较远的地标的影响,导致在学习过程中对不相邻的地标赋予过多的重要性,显著降低了定位精度。

针对这一现象,分析其具体原因并总结如下:

(1)不可靠的目标-地标关系(Unreliable target-landmark relationships

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87544.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 8.0:窗口函数

一、基础知识 定义 窗口函数(Window Function)对查询结果集的子集(“窗口”)进行计算,保留原始行而非聚合为单行,适合复杂分析(如排名、累积和)。 基本语法: 函数名() OV…

AI 深度学习面试题学习

1.神经网络 1.1各个激活函数的优缺点? 1.2为什么ReLU常用于神经网络的激活函数? 1.在前向传播和反向传播过程中,ReLU相比于Sigmoid等激活函数计算量小; 2.避免梯度消失问题。对于深层网络,Sigmoid函数反向传播时,很容易就会出现梯度消失问题(在Sigmoid接近饱和区时,变换…

遇到该问题:kex_exchange_identification: read: Connection reset`的解决办法

kex_exchange_identification: read: Connection reset 是一个非常常见的 SSH 连接错误。它表明在 SSH 客户端和服务器建立安全连接的初始阶段(密钥交换,Key Exchange),连接就被对方(服务器)强制关闭了。 …

(论文蒸馏)语言模型中的多模态思维链推理

(论文总结)语言模型中的多模态思维链推理 论文名称研究背景动机主要贡献研究细节两阶段框架实验结果促进收敛性摆脱人工标注错误分析与未来前景 论文名称 Multimodal Chain-of-Thought Reasoning in Language Models http://arxiv.org/abs/2302.00923 …

React Native 接入 eCharts

React Native 图表接入指南 概述 本文档详细介绍了在React Native项目中接入ECharts图表的完整步骤,包括依赖安装、组件配置、数据获取、图表渲染等各个环节。 目录 1. 环境准备2. 依赖安装3. 图表组件创建4. 数据获取Hook5. 图表配置6. 组件集成7. 国际化支持8…

基于C#的OPCServer应用开发,引用WtOPCSvr.dll

操作流程: 1.引入WtOPCSvr.dll文件 2.注册服务:使用UpdateRegistry方法注册,注意关闭应用时使用UnregisterServer取消注册。 3.初始化服务:使用InitWTOPCsvr初始化 4.使用CreateTag方法,创建标签 5.读写参数使用下面三…

Java类加载器getResource行为简单分析

今天尝试集成一个第三方SDK,在IDE里运行正常,放到服务器上却遇到了NPE,反编译一看,原来在这一行:String path Test.class.getClassLoader().getResource("").getPath(); // Test.class.getClassLoader().ge…

【CodeTop】每日练习 2025.7.4

Leetcode 1143. 最长公共子序列 动态规划解决,比较当前位置目标和实际字符串的字母,再根据不同情况计算接下来的情形。 class Solution {public int longestCommonSubsequence(String text1, String text2) {char[] t1 text1.toCharArray();char[] t2…

ES6从入门到精通:Promise与异步

Promise 基础概念Promise 是 JavaScript 中处理异步操作的一种对象,代表一个异步操作的最终完成或失败及其结果值。它有三种状态:Pending(进行中)、Fulfilled(已成功)、Rejected(已失败&#xf…

数据结构:二维数组(2D Arrays)

目录 什么是二维数组? 二维数组的声明方式 方式 1:静态二维数组 方式 2:数组指针数组(数组中存放的是指针) 方式 3:双指针 二级堆分配 💡 补充建议 如何用“第一性原理”去推导出 C 中…

HAProxy 和 Nginx的区别

HAProxy 和 Nginx 都是优秀的负载均衡工具,但它们在设计目标、适用场景和功能特性上有显著区别。以下是两者的详细对比:1. 核心定位特性HAProxyNginx主要角色专业的负载均衡器/代理Web 服务器 反向代理/负载均衡设计初衷高性能流量分发高并发 HTTP 服务…

基于Java+SpringBoot的健身房管理系统

源码编号:S586源码名称:基于SpringBoot的健身房管理系统用户类型:多角色,用户、教练、管理员数据库表数量:13 张表主要技术:Java、Vue、ElementUl 、SpringBoot、Maven运行环境:Windows/Mac、JD…

【MySQL安装-yum/手动安装,卸载,问题排查处理完整文档(linux)】

一.使用Yum仓库自动安装 步骤1:添加MySQL Yum仓库 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm步骤2:安装MySQL服务器 sudo yum install mysql-server -y步骤3:启动并设置开机自启 sudo systemctl start mysqld sudo systemct…

自定义线程池-实现任务0丢失的处理策略

设计一个线程池,要求如下:队列最大容量为10(内存队列)。当队列满了之后,拒绝策略将新的任务写入数据库。从队列中取任务时,若该队列为空,能够从数据库中加载之前被拒绝的任务模拟数据库 (TaskDa…

【NLP入门系列四】评论文本分类入门案例

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 博主简介:努力学习的22级本科生一枚 🌟​;探索AI算法,C,go语言的世界;在迷茫中寻找光芒…

Ubuntu安装ClickHouse

注:本文章的ubuntu的版本为:ubuntu-20.04.6-live-server-amd64。 Ubuntu(在线版) 更新软件源 sudo apt-get update 安装apt-transport-https 允许apt工具通过https协议下载软件包。 sudo apt-get install apt-transport-htt…

C++26 下一代C++标准

C++26 将是继 C++23 之后的下一个 C++ 标准。这个新标准对 C++ 进行了重大改进,很可能像 C++98、C++11 或 C++20 那样具有划时代的意义。 一:C++标准回顾 C++ 已经有 40 多年的历史了。过去这些年里发生了什么?这里给出一个简化版的答案,直到即将到来的 C++26。 1. C++9…

【MySQL】十六,MySQL窗口函数

在 MySQL 8.0 及以后版本中,窗口函数(Window Functions)为数据分析和处理提供了强大的工具。窗口函数允许在查询结果集上执行计算,而不必使用子查询或连接,这使得某些类型的计算更加高效和简洁。 语法结构 function_…

微型气象仪在城市环境的应用

微型气象仪凭借其体积小、成本低、部署灵活、数据实时性强等特点,在城市环境中得到广泛应用,能够为城市规划、环境管理、公共安全、居民生活等领域提供精细化气象数据支持。一、核心应用场景1. 城市微气候监测与优化热岛效应研究场景:在城市不…

【仿muduo库实现并发服务器】eventloop模块

仿muduo库实现并发服务器一.eventloop模块1.成员变量std::thread::id _thread_id;//线程IDPoller _poll;int _event_fd;std::vector<Function<Function>> _task;TimerWheel _timer_wheel2.EventLoop构造3.针对eventfd的操作4.针对poller的操作5.针对threadID的操作…