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  完全过滤和部分过滤, 放宽连
   471   472   473   474   475   476   477   478   479   480   481