Page 477 - 《软件学报》2026年第1期
P. 477
474 软件学报 2026 年第 37 卷第 1 期
接假设, 扩大了测量范围. 为防止放宽连接假设带来的假阳性, 方案加强了在不满足连接假设的情况下推测 AS 部
署 ROV 的要求: 需要验证路径中的其他 AS 均没有进行 ROV 过滤, 因此这些 AS 中都需要部署有探针.
Gray 等人 [64] 和 Chen 等人 [65] 使用贝叶斯方法推断 AS 是否部署 ROV. 在贝叶斯模型中, AS 的 ROV 部署与否
用概率表示, 即 AS 有多少概率部署 ROV 过滤. Chen 等人将互联网中发布有效路由和无效路由的 AS 作为目标
AS, 使用 RIPE Atlas 和 perfSONAR 的探针对这些 AS 的路由前缀进行 traceroute, 从而扩大了测量覆盖的范围.
traceroute 路径通过 IP-AS 映射转化为 AS 路径, 获得 AS 路径和 AS 路径有效性 (即路径上目的 AS 是否是合法的
起源 AS) 的二元数据集合. 通过贝叶斯公式, ROV 部署推断问题转化为求解每个 AS 部署 ROV 的概率为多少, 才
能使观测到的数据集与实际测量得到数据集最相符. Gray 等人和 Chen 等人分别使用马尔可夫链蒙特卡罗
(Markov-chain Monte Carlo, MCMC) 和变分梯度下降 (Stein variational gradient descent, SVGD) 方法求解出每个
AS 部署 ROV 的概率分布, 使用概率分布的平均值和最高密度区间 (highest density interval, HDI) 为指标按阈值
将 AS 的 ROV 部署情况分为 4 类: 完全部署、未部署、部分部署和未知. 测量于 2021 年 6 月 1 日–6 月 7 日进行,
测量覆盖 11 074 个 AS. 推测算法共发现 3 107 个 AS (28%) 完全部署了 ROV, 4 716 个 AS (43%) 未部署 ROV,
357 个 AS (3%) 部分部署了 ROV, 剩余 2 894 个 AS (26%) 无法推测. Chen 等人的方案利用互联网中的 AS 发布的
有效无效路由对作为 traceroute 目标, 扩大了测量的范围, 方案使用概率推断, 无须考虑上游 AS 的影响. 在推断准
确性上, 测量使用 is-bgp-safe-yet 为验证集进行了验证, 准确率达到 100%, 推断部署 ROV 的 AS 占实际部署 ROV
的 AS 的比例, 即召回率达到 92.98%.
Hlavacek 等人 [66] 的测量方案以文献 [54] 和文献 [63] 为基础, 测量设置两个相邻的/24 前缀并以文献 [63] 的
方案使用两个 AS 宣告并设置两个 ROA 配置. 为了降低文献 [54] 方案的假阳性以及文献 [63] 推断不满足连接假
设的 AS 是否部署 ROV 对探针的高要求, 引入了分歧点 (divergence point) 和更为详细的 AS 分类. 分歧点指总是
选择有效前缀路由的 AS, 两个目的前缀相邻降低了分歧由其他路由因素过滤导致的可能性, 路径分歧很可能是因
为分歧点部署 ROV 引起的. AS 根据所在路径有效性情况以及是否是分歧点进行分类, 共分为 7 类, 分歧点提供
ROV 部署的正面证据, 仅出现在有效路径或是偶尔出现在无效路径上区分完全过滤还是部分过滤. 测量在 2022
年 6 月 8 日和 10 日进行, 共测量 2 325 个 AS, 97 个 AS (约 4%) 部署 ROV 且部分过滤, 554 个 AS (约 24%) 部署
ROV 且完全过滤, 995 个 AS (约 43%) 没有部署 ROV, 剩余的 AS 无法判断. 分歧点的引入, 增加了判断不满足连
接假设的 AS 是否部署 ROV 的依据, 也降低了上游 AS 过滤的影响.
RoVista [67] 利用 IP-ID 侧通道技术测量 ROV 部署情况. 利用使用全局递增的 IP-ID 的主机作为虚拟探针 (vVP,
virtual vantage point). 不被其他有效路由前缀覆盖的无效路由前缀称为测试 IP 前缀 (test IP prefix), 测试 IP 前缀下
的测试主机为 tNode (test node). 在测量中向 tNode 发送多个以 vVP 为源地址的 TCP SYN 数据包, tNode 会回复
TCP ACK 数据包给 vVP, 导致 vVP 的 IP-ID 增长, 根据 vVP 的 IP-ID 增长模式能够判断 tNode 和 vVP 之间的连
通性从而推断 ROV 部署. 与前面利用数据平面端到端协议的测量方案 [54−59,61] 相似, 该方案无法排除上游 AS 过滤
的影响. 因此 RoVista 以 ROV 受保护分数衡量 AS, 而不是精确测量 AS 是否部署 ROV. 一个 AS 的 ROV 保护分
数为被 ROV 过滤导致无法访问该 AS 内任一 vVP 的 tNode 的占比. 测量从 2021 年 12 月 24 日持续到 2023 年 9
月 12 日, 使用 1 396 407 个 vVP, 共覆盖 28 314 个 AS, 其中 10 249 个 AS (36.2%) 的 ROV 保护分数为 0, 即自身和
上游未部署 ROV; 3 482 个 AS (12.3%) 的 ROV 保护分数为 1, 即自身或者所有上游 AS 部署了 ROV; 14 583 个 AS
(51.5%) 的 ROV 的保护分数在 0–1 之间, 即表现出部分部署. RoVista 利用全局 IP-ID 主机作为探针, 极大地扩展
了测量范围, 但其无法区分自身部署还是上游 AS 部署, 并且具有全局 IP-ID 特性的主机在逐渐被淘汰 [66] , 对后续
的测量会产生影响.
表 6 总结了现有的 ROV 测量工作. ROV 测量方案在不断优化, 测量覆盖的范围在不断增加. ROV 测量存在
的一个问题是难以验证测量结果. Cloudflare 的 is-bgp-safe-yet 项目依靠网络运营商的贡献提供 AS 的 RPKI 部署
状态, 但截至 2024 年 8 月, 仅包含 427 个 AS 的 RPKI 部署情况且大多 AS 都是属于大型运营商, 难以满足验证需
求. Rodday 等人 [68] 提出基于 Mininet 自动生成网络拓扑的框架来帮助验证 ROV 测量结果, 目前能够支持 4 000
个节点的仿真, 为解决 ROV 测量结果验证问题提供了一个思路.

