当前位置: 首页 > news >正文

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,

3. NeighborGeo

本文提出NeighborGeo,利用图结构学习和有监督对比学习来建立可靠的地标-目标关系,并识别适当的相邻地标,从而提高预测精度。在接下来的几节中,我们将讨论这个问题的定义,并详细介绍NeighborGeo的设计。

3.1. Problem definition

3.1.1. IP geolocation

IP地理定位旨在根据地标IP之间的特征关系和地标IP的位置信息来预测目标IP的位置。具体地说,鉴于给定IP数据的𝑁个地标\left \{ x_{i} \right \}_{i=1}^{N},特征信息(如asname、ISP,ping时间和路由路径)\left \{ f_{i} \right \}_{i=1}^{N},和位置信息(经度和纬度)表示\left \{ y_{i} \right \}_{i=1}^{N},我们的目标是使用数据驱动的模型预测的精确位置信息,定义为Y_{T},为一个目标IP地址X_{T}有它自己的特性信息f_{T}

为了实现这一目标,我们将地标IP地址、目标IP地址、地标的特征信息、目标IP的特征信息以及地标的位置信息整合到模型中。目的是让模型学习和计算目标IP地址的位置信息作为输出。此外,提高模型提供准确位置信息的精度,需要对学习率、模块比例等可学习参数进行细化和调整。NeighborGeo模型由Eq.(1)表示:

其中𝜋表示模型的可学的参数集。

3.1.2. Uniform/uneven distribution of landmarks

地标点的均匀分布可以提高IP地址的定位精度。当周围路标数据均匀密集分布时,目标-路标关系的鲁棒性更强,从而提高定位精度。此外,这种均匀分布降低了不可靠的目标-地标关系的发生率,并最小化了近邻选择中的错误,因为与地标的更接近限制了显著不准确性的潜在可能性。为了更好地理解路标分布,给出了路标分布均匀性和不均匀性的明确定义。

均匀分布(Uniform Distribution:当路标在空间中均匀分布时,每个路标周围都有足够数量的其他路标,它们之间的距离变化很小。标记点在整个区域的分布是平衡的,没有明显的簇或稀疏区域。

分布不均匀(Uneven Distribution):当路标在空间中分布不均匀时,它们之间的距离存在显著变化。一些地区可能有高度集中的地标,而其他地区几乎没有地标。这种类型的分布通常会导致显著的离群点或大的稀疏区域,使地标的分布看起来是分散的和不规则的。

为了量化这一概念,通过结合地标数量、地标间距的标准差和信息熵来评估地标分布的均匀性。标记点的数量确保有足够的参考点;标准[33]偏差评估路标间距的离散度,有助于识别潜在的离群点;而信息熵衡量的是分布的整体均匀性。当路标数量充足时,通过核密度估计(Kernel Density Estimation, KDE)计算得到的信息熵[33]与均匀分布的参考熵紧密吻合,且路标间距的标准差较低,认为路标分布均匀且相邻点足够多。该方法能够更准确地表示路标的空间分布特征。

3.2. NeighborGeo

3.2.1. Model overview

图1所示,建模过程从生成和优化IP分布图开始。首先,数据初始化对特征数据进行预处理,创建以最后一跳公共路由器为中心的初始IP分布图;然后,图结构优化模块利用Gumbel重参数化生成可靠的目标-地标地图;然后,对比学习模块通过最小化相邻地标之间的距离来细化模型对邻居关系的理解。经过多次迭代,形成最终的优化地图结构,准确表示地标与目标IP之间的关系,实现精确的地理位置预测。

图1所示。NeighborGeo IP分布图生成与优化的基本工作流程。

我们的模型NeighborGeo的主要架构如图2所示。NeighborGeo主要由4个部分组成:

(1)数据初始化(Data Initialization):该部分使用公共路由器作为中心集线器连接目标和地标。同一公共路由器下的目标和地标被分组为批次,以方便后续的模型训练。

(2)图结构学习模块(<

http://www.dtcms.com/a/266477.html

相关文章:

  • NeighborGeo:基于邻居的IP地理定位(二)
  • 【WEB】Polar靶场 6-10题 详细笔记
  • Jenkins-Email Extension 插件插件
  • 前端开发-前置知识
  • Android WebView 性能优化指南
  • Vue2中的keep-alive:组件状态缓存与性能优化实战指南
  • Android发展历程
  • Android 安装使用教程
  • [论文精读]StruQ: Defending Against Prompt Injection with Structured Queries
  • 前端捕获异常的全面场景及方法
  • 算法题目记录
  • OTC机器人焊机节气设备
  • EPLAN 电气制图:建立自己的部件库,添加部件-加SQL Server安装教程(三)上
  • web3钱包的运作原理
  • Type-C PD快充协议智能芯片S312L详解
  • GO 语言学习 之 结构体
  • mysql索引:索引应该选择哪种数据结构 B+树 MySQL中的页 页主体 页目录 索引分类
  • C++学习笔记一
  • Mac获取终端历史
  • Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
  • Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
  • Rust+Blender:打造高性能游戏引擎
  • 宽表设计(Wide Table) 与 子表 + 类型 + 属性表设计(EAV 模型或“属性表”模型)
  • golang 中当 JSON 数据缺少结构体(struct)中定义的某些字段,会有异常吗
  • 【Modbus学习笔记】stm32实现Modbus
  • 类图+案例+代码详解:软件设计模式----单例模式
  • AI智能体革命:从ChatGPT到自主决策的技术演进
  • 143.在 Vue 3 中使用 OpenLayers 调节地图的明亮度、对比度、饱和度
  • 焊接机器人结构设计cad【16张】三维图+设计说明书+绛重
  • (超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)