IPv6地理位置库关键技术和应用实践 ——阿里巴巴(中国)网络技术有限公司IPv6规模部署和应用案例 2022-07-01

一.案例概述

1.1背景

随着IPv6规模化部署快速推进,各行各业对IPv6地理库需求越来越迫切。在阿里巴巴(中国)网络技术有限公司(以下简称“阿里”)进行IPv6规模化部署推进时,大量业务由于缺乏IPv6地址与对应地理位置的关系,导致业务关键链路受阻,推进困难。传统IPv4地址定位方法在IPv6网络环境下存在很多问题,市场迫切需要构建完善的IPv6地理库,以支撑新一代网络环境下的个性化场景应用。

1.2目标

IPv6地理库的建设目标是:给定任意IPv6地址,可以查询出该地址对应的地理位置,该位置包含所属国家、省份、城市信息。通过该信息,支撑如广告投放、搜索、推荐、网络调度优化、安全风控等诸多业务场景。

二、做法与经验

2.1组织保障

IP地理库项目建设所涉及的知识,涵盖数据、算法、工程、网络、安全等多个领域。为此,阿里成立IP地理库虚拟项目组,由阿里安全智能团队牵头,阿里云DNS团队负责商业化,联合阿里云CDN团队、阿里云网络研发团队共同建设,同时利用阿里的业务体量优势、技术生态优势、团队协同和人才优势,共同打造精准的IPv6地址库。

同时,为了提升对基础网络的探测效率,优化探测覆盖度和准确度,更加深入研究IP资源的聚合特征,阿里与深耕网络资源测绘方向的北京邮电大学网络中心达成研究合作协议,双方资源互补,相关科研成果在IP地理库项目上得到成功落地。

2.2关键技术研发

与IPv4相比,IPv6最大的特点就是具有海量的地址空间。这个特点一方面使得IPv6具有取之不尽的地址空间,能够支持各种新的应用,另一方面也带来了新的技术难点和挑战,主要体现在以下几个方面:

•地址空间大,探测难度高。

•生态沉淀少,缺乏参考数据,这对定位的相关线索收集带来了不小的难度。

•地址属性多,需求算力高。

•地址段不连续,这为定位的连续性带来了难度。

•由于空间过大,导致对模型的结果打标困难。

针对IPv6地理库研发的难点问题,阿里研发团队集中火力进行技术攻关,终于在多项关键技术中取得突破。

分布式大规模准实时IPv6空间资产测绘引擎。阿里针对IPv6海量空间下的地址测绘问题,构建了一套“分布式大规模准实时IPv6空间资产测绘引擎”。通过对5个RIR(尤其是负责亚太地区地址分配的APNIC)公布的IPv6地址在各个国家的分配比例,阿里在对应的核心大区都建立起了对应的IPv6探测节点。通过对IP资源各种网络特征信息的获取,进行全球的IPv6资产测绘,形成基于IPv6的资产测绘引擎。

图1 资产测绘命令

在测绘引擎的建设过程中,阿里通过对阿里云ECS资源的分时复用,在业务低峰期执行测绘任务,有效提高资源利用率,保障了数据的产出时效和降低探测成本。通过使用阿里云的弹性容器产品和弹性伸缩能力,能够在分钟级别内快速部署上百量级的探测节点。

图2 测绘引擎架构

多维度v4v6地址智能映射识别引擎。针对IPv6相关信息少的问题,阿里基于IPv6规模化部署过程中IPv4-IPv6共定位现象,广泛采集IPv4-IPv6共定位信息,通过自治域疆域、设备双栈推断、IPv4地址嵌入等方法,结合IPv4共生现象,提供IPv6地理位置推断能力。

图3 多维度V4V6地址智能映射识别引擎

通过构建v4v6地址映射引擎,有效利用了阿里在IPv4场景下积累的大量流量特征,将IPv6定位问题投射到IPv4空间的定位问题,降低了定位难度,提高了定位数据的准确性,并且通过目前市场上多款IPv4定位产品,为IPv6定位的准确度提供了大量参照。

无监督的IPv6地址聚合定位技术。针对打标困难问题,除了做双栈地址映射之外,另一个可行的思路就是采取无监督学习算法进行IP分类。阿里采用K均值算法,用于无监督场景下,在特征工程构建的坐标系中,通过测算样本与最邻近的若干个点的欧式距离,定位未知IPv6地址的地理位置。大量的IP特征都可纳入模型计算中,如分配相关特征、网络相关特征、流量相关特征、行为相关特征等。通过对这些特征的学习,不仅能够摆脱定位时对精确打标数据的依赖,还能在海量的IPv6地址空间中,快速地将IP分段,大幅降低待解决问题的体量。

图4 K均值算法的IPv6地址定位

PCA数据降维算法。对IPv6的属性过多问题,阿里通过PCA等数据降维算法,通过对正交属性的特征提取,凸显主要特征,对总体样本进行去噪和精简,减少算法开销的同时,仍可保持IPv6地址计算的准确性。

图5 PCA数据降维算法

三、成效与亮点

阿里自研的IPv6地理库已经支持全球800多亿个IPv6/48地址段,覆盖国家数量236个,覆盖城市940个,覆盖区县2822个。在国内,已支持70多亿个IPv6/48地址段,覆盖全国所有省区市,覆盖城市386个,覆盖区县2822个。

IPv6地理库技术在阿里内部得到了广泛应用,支撑了包括淘宝、天猫、支付宝、钉钉、高德等丰富的产品矩阵和业务生态,每月超过5亿IPv6用户和商家都在享受IPv6地址库带给他们的便利。阿里自研的IPv6地址库同时也输出到阿里云上,成为一款独立、畅销的云产品。目前,阿里自研的IPv6地址库技术主要服务电商商品推荐、视频流量调度、业务风控、物流费用预估等场景。