摘要

  • LACNIC 博客的一篇文章把 martian 地址、随资源状态变化的 bogon,以及 RPKI Invalid 路由分开说明。作者同时明确表示,文中观点不一定代表 LACNIC。
  • 三种情况都可能出现在过滤流程中,但它们分别依赖特殊用途地址登记簿、资源状态快照和已验证 ROA 的缓存视图;三个来源的更新时间并不相同。
  • RFC 6811 将 Invalid 定义为相对于已验证路由源授权数据的状态,并说明本地缓存可能不同;协议没有规定运营者必须采取哪一种动作,也不验证 AS 路径。
  • 一个保护隐私的聚合回执可以保留类别、来源版本、获取时间、观测范围与本地动作,却无需公布前缀、客户、对等方或配置细节。

一个过滤结果,不能只有一个时间

把几个路由过滤原因放进同一张运行报表并不奇怪。网络团队需要观察负载、发现异常,或向管理层说明规则的工作量。问题不在于汇总本身,而在于汇总是否把性质不同的证据伪装成一个没有时间差异的事实。LACNIC 博客的这篇说明提供了一个很好的起点:martian、bogon 与 RPKI Invalid 并非同义词。

文中把 martian 与特殊用途保留地址联系起来;把另一类 bogon 与尚未按预期被分配或委派的资源状态联系起来;把 RPKI Invalid 与路由前缀、源 AS 和可见 ROA 授权之间的不匹配联系起来。这个分类不应被扩大为 LACNIC 的正式政策,也不能据此推断拉丁美洲和加勒比地区的某个网络实施了某种规则。文章署名 Sergio Kleiman,结尾特别指出观点未必代表 LACNIC;文章也没有报告事故、区域统计、具体前缀或运营者的实际处置。

它真正带来的问题是:规则作出决定时,究竟依据哪一种资料,以及资料是在何时取得的?第一种时钟属于IANA IPv4 特殊用途地址登记簿。该登记簿给出特定 IPv4 地址空间的属性。若规则以这些属性为依据,后续审查就应当知道适用的是哪一版本或哪个获取时点。否则,“特殊用途”会被误读为没有时间边界的结论。

第二种时钟是资源状态。博客指出,随着注册机构提供、委派或分配资源,bogon 相关的数据集会不断变化。因此,一份资源状态名单必须能够对应到某个快照和某个时间。今天新增的分配并不会抹去昨天名单中的记录;反过来,过期名单也可能值得复核。这里需要区分的是资源状态的变化、名单分发的延迟,以及本地规则的判断,不能将三者归为同一项“拦截成效”。

第三种时钟来自路由器所依赖的验证视图。RFC 6811规定,当存在覆盖该路由的已验证 ROA 数据、但没有任何授权与该前缀及源 AS 相匹配时,验证状态为 Invalid。RFC 也指出,本地缓存会因更新和获取时机不同而出现差异。更重要的是,两条边界应当保留:看到验证状态后采取接受、记录、降优先或拒绝等动作,是本地策略;源验证也不是路径验证。

因此,“被过滤的坏路由”这样的单一总数或许有容量监测价值,却不能独自解释原因。它不能证明各条路由有共同的错误、共同的风险,或者已经得到同一种修复。即便三个类别在同一台设备上被同一条工作流处理,证据也仍然来自三种时钟。

应保存的是回执,不是网络细节

透明并不要求披露路由表、AS 号、对等方名称、客户、工单、设备或规则片段。每个类别可以有一条聚合回执:来源及版本或快照标识、获取时间和观测时间、IPv4 或 IPv6 范围、入站或出站方向、宽泛的邻居角色、本地动作及例外类别、汇总数量、刷新节奏和纠正渠道。

这样的记录足以让后来者发现变化发生在何处,同时不把网络拓扑和责任人暴露给公众。特殊用途属性需要核对登记簿;资源状态差异可能需要更新快照;RPKI Invalid 则可能需要检查授权关系或本地例外。三种情况的修正位置并不相同。回执的作用正是防止一个漂亮的总数掩盖这种差异。

来源