Page 476 - 《软件学报》2026年第1期
P. 476
张泽源 等: RPKI 测量研究综述 473
况来判断服务器 IP 是否受到保护. 在数据分析上, 将 AS 分为 4 类: 1) 第 1 类 AS 未部署 ROV, 这类 AS 出现在无
效路由的路径上; 2) 第 2 类 AS 包含所有可能部署 ROV 的 AS, 这类 AS 仅出现在有效路由的路径上; 3) 第 3 类
AS 部署了 ROV 的概率较高, 这类 AS 在两种 ROA 配置下都出现在通往两个前缀的有效路由路径中; 4) 第 4 类
AS 为第 3 类的超集, 这类 AS 在两种 ROA 配置下至少出现在一个前缀的有效路由路径中, 这类 AS 部署了 ROV
的概率较低. 测量在 2017 年 2–6 月进行, 在控制面测量中, 发现 4 个 AS 可能部署了 ROV; 在数据面测量中, 发现
了 12 个 AS 可能部署了 ROV, 其中 2 个 AS 部署了 ROV 的概率较高. 该方案在多个 AS 宣告了路由, 一定程度上
降低了附带收益的影响, 但是其仅靠 AS 是否出现在有效、无效路由路径上来判断 AS 是否部署 ROV 的分析方
式容易产生假阳性. 值得借鉴的是, 该方案利用数据平面上的测量扩充了探针的数量从而扩大了测量范围, 使得测
量的 AS 由数百增加到数千个.
文献 [56,57] 利用 ICMP 协议在数据平面上进行了受控制的测量. 方案设置了两种探针, 一类配置有效前缀下
的 IP 地址, 另一类配置无效前缀下的 IP 地址. 测量先使用有效 IP 地址探针向整个 IPv4 地址空间发送 ICMP 数据
包, 然后利用无效 IP 地址探针向回复的 IP 地址发送 ICMP 数据包. 推测仅回复有效 IP 地址探针的 ISP 部署了
ROV, 而对两种探针均回复的 ISP 未部署 ROV. 该方案利用全地址空间扫描扩大了测量范围, 给出了 58 000 多个
AS 的测量结果. 但该方案无法确定 ICMP 数据包是由于 ROV 被过滤还是被 ICMP 过滤器过滤, 因此存在假阳性
的可能; 该方案无法解决附带收益的问题.
RPKI WebTest [58] 和 Cloudflare [59] 提供了相似的实时测量服务, 在无效前缀路由和有效前缀路由下分别部署了
网站, 若用户能够访问无效前缀下的网站, 说明所在 ISP 或者 ISP 上游未部署 ROV 防护.
Testart 等人 [60] 提出了一种利用统计方法粗略估计 ROV 部署情况的测量方案. 该方案基于一种启发式思想,
认为如果一个自治域将接收到的路由中的大部分都发送给邻居 AS, 且其中不包含无效路由信息, 则推测该自治域
部署了 ROV 过滤. 基于此, 该方案提出了 full-feeder 的概念: 如果路由收集器的一个邻居 AS (peer) 发送给路由收
集器的前缀起源对 (prefix-origin pairs) 数量大于全部前缀起源对的 75%, 则认为这个 AS 是一个 full-feeder. 如果
一个 full-feeder 发送给路由收集器的无效前缀起源对少于所有前缀起源对的 20%, 则推测该 full-feeder 部署了
ROV. 测量了 2017 年 4 月–2020 年 1 月的 ROV 部署情况, 发现 ROV 部署呈上升趋势, 在 2017 年 4 月少于 2% 的
full-feeder 进行 ROV 过滤 (IPv4 中 219 个 full-feeder 仅有 3 个部署, IPv6 中 176 个 full-feeder 有 2 个部署), 到
2020 年 1 月下旬, IPv4 中 11% 的 full-feeder 部署 ROV (290 个中的 30 个), 而 IPv6 中有 10% (246 个中的 23 个).
该方案基于启发式的思路, 无法排除非 ROV 因素过滤的影响, 缺乏对 AS 过滤无效路由的直接验证, 且路由探针
的可见性直接影响 AS 是否满足 full-feeder 的条件, 限制测量覆盖范围.
Huston 等人 [61] 提出了一种针对末端用户受 ROV 保护情况的测量方案. 与文献 [60] 类似, 方案不精确测量部
署 ROV 的 AS, 而是测量现有 ROV 部署能保护多少用户. 方案在 DFZ (default-free zone) 中声明了一个路由, DFZ
指使用全路由表的互联网核心 AS 集合 [62] , 交替以 12 h 和 36 h 为间隔更改路由的有效性. 然后在路由前缀下配置
了一个 Web 服务器, 在不同路由有效性下让用户访问 Web 服务器, 统计用户对服务器的可达性. 2020 年 6 月的测
量显示约 17% 的用户受到了 ROV 过滤的保护.
Rodday 等人 [63] 的方案在文献 [54,55] 的基础上做了 3 点改进, 使得测量能够: 1) 放宽连接假设; 2) 区分 ROV
完全过滤和部分过滤; 3) 识别 IXP 过滤. 测量设置与文献 [55] 类似, 使用 RIPE Atlas 探针对对照前缀和实验前缀
进行 traceroute, 并在此基础上额外发布了前缀路由进行测量以探究 IXP 中路由服务器的 ROV 部署情况. 方案的
改进体现在数据分析部分. 待测 AS 按照是否满足连接假设分为两类: 1) 当待测 AS 满足连接假设时, 分析方法与
文献 [54] 相同; 2) 当待测 AS 不满足连接假设时, 当待测 AS 是唯一过滤无效路由的 AS 时才能推测该 AS 部署
了 ROV. 为区分 ROV 完全过滤和部分过滤, 该方案引入包含列表 (including list), 接受无效路由的 AS 会被加入包
含列表中, 若推测部署 ROV 的 AS 出现在包含列表中, 则推测该 AS 进行部分过滤. 对路由服务器的测量让方案
能够区分 IXP 过滤和 AS 过滤. 测量在 2021 年 7 月 2 日–7 月 19 日进行, 在 3 694 个 AS 中选择了 5 537 个探针,
推测 206 个 AS 部署了 ROV, 10 个为强置信度, 12 个为弱置信度, 184 个是通过 IXP 路由服务器过滤. 这 206 个 AS
中 146 个为全部过滤, 60 个为部分过滤. 该方案细化了 AS 分类, 首次识别了 ROV 完全过滤和部分过滤, 放宽连

