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

An Investigation of Geographic Mapping Techniques for Internet Hosts(2001年)第二部分

​下载地址:An investigation of geographic mapping techniques for internet hosts | Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications

被引次数:766

Padmanabhan V N, Subramanian L. An investigation of geographic map** techniques for Internet hosts[C]//Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications. 2001: 173-185.

之前的部分见:An Investigation of Geographic Mapping Techniques for Internet Hosts(2001年)第一部分-CSDN博客

6. The GeoCluster Technique

GeoCluster不同于GeoTrack和GeoPing,因为它不依赖于主动网络测量。相反,它使用网络路由信息和位置信息的知识,为IP地址空间的一个大子集构建位置映射。

GeoCluster操作如下。

首先,将IP地址空间分解成集群,使集群中所有具有IP地址的主机可能都位于(该位置的粒度取决于应用程序的上下文。),即地址形成一个地理集群。

然后,了解集群中几个主机对应的位置(并假设位置在很大程度上一致),地理集群推断出整个集群的位置。

地理集群运行的关键是从第3.5节中提到的来源获得的IP-to-location的映射信息。(我们将在第6.5节中讨论获取此类数据的一般问题。)然而,这种映射信息在覆盖范围内往往是部分的(因为它只包含IP地址空间中相对较小的一个子集的位置信息),而且可能不准确。这些问题限制了IP-to-location映射数据的效用。

GeoCluster通过根据其(可能的)位置集群IP地址来解决这两个问题。集群有助于扩展部分IP到位置映射信息的覆盖范围。位置信息的聚合也使我们能够识别和消除由于单个位置数据点的不准确而造成的异常值。

举个例子,假设我们知道128.127.126.0/243形成了一个地理集群。进一步假设部分映射信息告诉我们,该集群中10个第二IP地址对应的位置是西雅图,而另一个IP地址对应的位置是Boston。这样我们就可以合理地推断出波士顿数据点是错误的,并且这个集群中的所有(256)个IP地址(如果确实在使用的话)都可能对应于西雅图(或附近)的主机。

6.1 Identifying Geographic Clusters

我们将在第4、5和6节中详细介绍这三种IP2Geo技术的细节,并对它们的性能进行了分析。

确定地理集群是一个具有挑战性的问题。地理集群所使用的基本方法是将部分IP-to-location映射信息与网络路由信息结合起来。我们建立在在[12]中提出的关于识别拓扑簇的工作的基础上。互联网中的地址分配和路由是分层的。路由信息可跨单个管理域(也称为自治系统(AS))下的主机进行聚合。例如,大学校园里主机的路由通常会作为一个聚合广告给互联网的其他部分,比如prex 128.127.0.0/16的地址,而不是65536个单独的IP地址。因此,对路由协议所使用的地址前六(APs)的知识使我们能够识别拓扑簇,如在[12]中所观察到的那样。我们推测APs也可能构成地理集群。我们将在下面详细说明这一点。

[12] B. Krishnamurthy and J. Wang. On Network Aware Clustering of Web Clients. ACM SIGCOMM, August 2000.

我们从用于互联网上的域间(即AS)路由的边界网关协议(BGP)中获取关于APs的信息。在一个路由器上的BGP表中的每个条目都是一个目标AP和通向它的AS级路径。出于我们的目的,我们只对AP信息感兴趣,因此我们构建了一个唯一的APs列表(超过100000个APs,如第3.4节所述)。APs的数量比ASs的数量大一个数量级。这是因为,由于策略和/或性能考虑(例如,对于负载平衡),可能会发布更多的特定路由(例如针对某些客户)。

AS(及其相关的AP (s))通常对应于一个地理集群,如大学校园或公司。即使AS是一个具有大地理覆盖的ISP,通过BGP广告的相关AP可能是更特定(比如对应于个人客户),如上所述。在这两种情况下,GeoCluster都能够从美联社信息中识别地理集群。然而,大型ISP(例如,AT&T,Sprint,UUNet等)。出于可伸缩性的原因,通常只发布聚合AP。在这种情况下,一个AP可能跨越一个很大的地理区域。如果我们能够更详细地了解大型聚合如何通过ISP中使用的域内路由协议进行细分,那么这个问题将会得到缓解。但是,获取这些信息对我们来说是不可行的,所以我们只使用来自BGP的域间路由信息。

总之,我们的基线Geo集群算法,我们称之为BGPonly,它基于BGP数据发现AP,并推测这些AP是地理集群。然而,如上所述,这个猜想可能并不总是正确的,例如,当ISP只宣传大的聚合时。我们现在提出了一种子聚类算法来解决这个问题。我们将包含该算法的地理聚类的变体称为BGP+子聚类。

相关文章:

An Investigation of Geographic Mapping Techniques for Internet Hosts(2001年)第二部分

​下载地址:An investigation of geographic mapping techniques for internet hosts | Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications 被引次数:766 Padmanabhan V N, Subramanian L. An i…...

解锁生成式 AI 的力量:a16z 提供的 16 个企业指南

企业构建和采购生成式AI方面的16项改变 生成式 AI 领域趋势洞察:企业构建和采购生成式 AI 的方式正在发生重大转变,具体表现在:* 专注于可信度和安全性:75% 的企业将信任和安全性视为关键因素。* 优先考虑可扩展性和灵活性&#x…...

Kylin使用心得

Kylin是一个开源的分布式分析引擎,基于Apache Hadoop构建,专为处理大规模数据集而设计。以下是一些使用Kylin的心得体会: 快速查询 Kylin的OLAP引擎能够对大规模数据集进行高效的多维分析查询。通过预计算和存储多维度的聚合数据&#xff0…...

CentOS7使用Docker搭建Joplin Server并实现多端同步与公网使用本地笔记

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具,拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能,…...

C语言100道练习题打卡(1)

1 有1&#xff0c;2&#xff0c;3&#xff0c;4四个数字&#xff0c;能组成多少个互不相同且不重复的三位数&#xff0c;都是多少 #include<stdio.h> //有1&#xff0c;2&#xff0c;3&#xff0c;4四个数字&#xff0c;能组成多少个互不相同且不重复的三位数&#xff…...

5G-A有何能耐?5G-A三载波聚合技术介绍

2024年被称作5G-A元年。5G-A作为5G下一阶段的演进技术&#xff0c;到底有何能耐呢&#xff1f; 三载波聚合&#xff08;3CC&#xff09;被认为是首个大规模商用的5G-A技术&#xff0c;将带来手机网速的大幅提升。 █ 什么是3CC 3CC&#xff0c;全称叫3 Component Carriers…...

理解Go语言中上下文

开发人员有时会误解context.Context类型,尽管它是Go语言的关键概念之一,也是Go中并发代码的基础之一。接下来让我们看看这个概念,并确保我们理解为什么乃如何有效地使用它。 根据官方文档: 上下文(context)携带最后期限、取消信号和其他跨API边界的值。 下面让我们来看下这…...

[MySQL]数据库原理8——喵喵期末不挂科

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;大大会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…...

【算法基础】插入排序与二分查找、升级二分查找

文章目录 1. 插入排序1.1 插入排序的思想1.2 插入排序的实现 2. 普通二分查找2.1 普通二分查找的思想2.2 普通二分查找的实现 3. 升级二分查找3.1 升级二分查找思想3.2 升级二分查找实现 1. 插入排序 1.1 插入排序的思想 插入排序很类似于已有一副有序的扑克牌&#xff0c;不断…...

在Vue3中如何使用H.265视频流媒体播放器EasyPlayer.js?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;可支持H.264与H.265编码格式&#xff0c;性能稳定、播放流畅&#xff0c;能支持WebSocket-FLV、HTTP-FLV&#xff0c;HLS&#xff08;m3u8&#…...

基于51单片机的PM2.5监测系统设计—环境监测仪

基于51单片机的PM2.5监测系统 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.PM2.5传感器模块检测信息给单片机处理&#xff1b; 2.LCD1602实时显示PM2.5浓度和PM2.5报警阈值&#x…...

【C语言】指针篇-初识指针(1/5)

&#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;C笔记专栏&#xff1a; C笔记 &#x1f308;喜欢的诗句:无人扶我青云志 我自踏雪至山巅 文章目录 **内存和地址(知识铺垫(了解即可))**如何理解编址**指针变量*…...

【御控物联】物联网平台设备接入-JSON数据格式转化(场景案例四)

文章目录 一、背景二、解决方案三、在线转换工具四、技术资料 一、背景 物联网平台是一种实现设备接入、设备监控、设备管理、数据存储、消息多源转发和数据分析等能力的一体化平台。南向支持连接海量异构&#xff08;协议多样&#xff09;设备&#xff0c;实现设备数据云端存…...

stack和queue模拟实现

前言 上一期我们介绍了stack和queue的使用&#xff0c;本期我们来模拟实现一下他们&#xff01; 本期内容介绍 容器适配器 deque介绍 为什么stack和queue的底层选择deque为默认容器&#xff1f; stack 模拟现实 queue 模拟实现 什么是容器适配器&#xff1f; 适配器是一种设…...

docker操作

1、容器生命周期管理命令 docker run docker run --name tomcat8 -d -p 28080:8080 tomcat:8.5.38 docker run -i --name hausf --network bridge --ip 172.17.0.10 ubuntu:20.04 /bin/bash docker run -d --name hausf --net host ubuntu:20.04 /bin/bash docker run…...

分布式锁介绍

引言 分布式锁是一种用于协调不同进程或线程对共享资源的访问控制的机制。在分布式系统中&#xff0c;由于多个节点可能同时访问或修改同一资源&#xff0c;因此需要一个中心化的协调机制来确保资源的访问是有序的&#xff0c;避免数据不一致的问题。 分布式锁的特性&#xf…...

Unity 获取RenderTexture像素颜色值

拿来吧你~ &#x1f9aa;功能介绍&#x1f32d;Demo &#x1f9aa;功能介绍 &#x1f4a1;不通过Texture2D 而是通过ComputerShader 提取到RenderTexture的像素值&#xff0c;效率有提升哦&#xff01; &#x1f4a1;通过扩展方法调用&#xff0c;方便快捷&#xff1a;xxxRT.G…...

Tomcat以服务方式启动,无法访问网络共享目录问题

关于“Tomcat以服务方式启动&#xff0c;无法访问网络共享目录问题”解决方式如下&#xff1a; 1、通过doc命令【services.msc】打开本地服务找到&#xff0c;找到tomcat服务所在位置 2、右键打开Tomcat服务的属性 3、选择 登陆选项卡 4、选择“此账户”选项&#xff0c;并…...

SVN的介绍

首先SVN是什么&#xff1a; Apache下的一个开源的项目Subversion&#xff0c;通常缩写为 SVN&#xff0c;是一个版本控制系统。 版本控制系统是一个软件&#xff0c;它可以伴随我们软件开发人员一起工作&#xff0c;让我们编写代码的完整的历史保存下来。 目前它的各个版本的…...

ZYNQ-700呼吸灯

参考野火例程 实现呼吸灯即要调整led亮的占比时间&#xff0c;完成视觉上看起来由灭到亮或者由亮到灭的过程。 如果主频为50MHz&#xff0c;理论上一秒钟我们可以控制50_000_000次led的亮和灭&#xff0c;肉眼不可能分辨出来每一次亮灭&#xff0c;如果这50M我们设定为间隔一…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

Python学习(8) ----- Python的类与对象

Python 中的类&#xff08;Class&#xff09;与对象&#xff08;Object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心。我们可以通过“类是模板&#xff0c;对象是实例”来理解它们的关系。 &#x1f9f1; 一句话理解&#xff1a; 类就像“图纸”&#xff0c;对…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展&#xff0c;养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下&#xff0c;而且难以实现精准监控和管理。为了提升尾水处理的效果和效率&#xff0c;同时降低人力成本&#xff0c;某大型水产养殖企业决定…...

Canal环境搭建并实现和ES数据同步

作者&#xff1a;田超凡 日期&#xff1a;2025年6月7日 Canal安装&#xff0c;启动端口11111、8082&#xff1a; 安装canal-deployer服务端&#xff1a; https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)

注&#xff1a;文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件&#xff1a;STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称&#xff1a;Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号&#xff1a;CVE-2023-25194 CVSS评分&#xff1a;8.8 影响版本&#xff1a;Apache Kafka 2.3.0 - 3.3.2 修复版本&#xff1a;≥ 3.4.0 漏洞类型&#xff1a;反序列化导致的远程代…...

2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】

1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...