摘要

  • ARIN 当前仍把 2024 年 5 月提交的建议 2024.8 列为 Open。提交者称,在把 AS-SET 迁入 ARIN 经认证的 IRR 时,遇到了疑似 1,024 字符的 remarks 上限。
  • 这段超长说明并非只供人阅读。建议所述的 Level3 members: 写法,会向 Lumen 的过滤器生成器提供带来源的成员,并覆盖标准 members 或 mbrs-by-ref。
  • Lumen 自己把这种情况称为“由过滤器生成器决定的对象解释”:同一份 AS-SET,普通解释器和 Lumen 可能得到不同集合。
  • 扩大字段有助于撤掉为规避上限而串联的多个 AS-SET,但不能证明哪套解释生成了过滤策略,更不能证明它已部署到路由器。
  • 可行的收口方式,是为私有兼容语法提供有版本的解释配置和可比对的展开回执。

分析

字符上限为什么会碰到路由控制

2024 年 5 月 9 日,Dale Carder 向 ARIN 提出:增加 IRR remarks 的长度,或者允许出现多条同名字段。提交者说,他们正把 AS-SET 从第三方非权威数据库迁入 ARIN,却被疑似 1,024 字符限制挡住。为了容纳完整清单,只能把一个集合拆成多个互相嵌套的 AS-SET。

这种绕行有真实成本。原本一次维护的成员关系变成多对象递归;新增、删除或迁移时,任何一处未同步都可能留下差异。ARIN 在 2024 年 6 月答复说,扩大字段有利于向经认证的 ARIN IRR 迁移,会与其他 IRR 改进一起评估,并在作出开发决定前保持开放。到 2026 年 9 月 9 日,活动建议列表仍显示 2024.8 为 Open。

这不等于 ARIN 两年间没有内部工作。页面没有承诺交付日期,本次调查也没有登录账户复现上限。可以确认的只有提交者当年的观察和今天的公开状态。真正重要的线索,是这 1,024 个字符装的到底是什么。

答案不是普通备注,而是一套针对特定消费者的成员语法。

remarks 在一个解释器里会压过 members

RFC 2622 的分工很清楚:remarks 是自由格式的解释或说明;AS-SET 的 members 用来列出 ASN 或其他 AS-SET;mbrs-by-ref 则通过维护者引用间接纳入成员。按这套语义阅读,成员是谁,应当看成员字段。

Lumen 2023 年 4 月更新的 LEVEL3 IRR 指南记录了另一条规则。只要 AS-SET 的备注中出现 Level3 members: 或 Level3 mbrsby-ref:,Lumen 的过滤器生成器就优先使用这些内容,而不再以普通成员字段为准。私有写法还能在每个引用前标出数据库来源,以解决跨 IRR 展开问题。

指南没有掩饰结果:一个理解普通跨库引用的非 Lumen 生成器,可以按标准字段得到集合 A;Lumen 识别标记后忽略该字段,按备注得到集合 B。RADb 现在的帮助文档也列出了 remarks: Level3 members: <DatabaseName>::<ReferencedObject> 这一约定。

这套约定不是无缘无故出现。全球 IRR 本来就是多个数据库和镜像的组合,同名对象、来源选择和跨库递归都可能改变展开结果。Lumen 要为连接 AS3356 的客户建立入口过滤策略,必须知道引用应去哪个数据库解析。其指南称,系统会依据 IRR 对象自动生成过滤器,并随 IRR 信息每日更新。

私有兼容层因此可能很实用。问题不在“私有”二字,而在它是否留下可复现的解释证据。普通维护者可能把 remarks 当说明,Lumen 却把它当优先指令;同一对象的权威文本并没有告诉读者哪套集合会生效。

一条链上有四种不同决定

维护者决定提交什么。ARIN 决定对象是否通过认证与校验,并公布记录。IRR 消费者决定查询哪些来源。Lumen 的解析器决定是否激活私有标记、怎样绑定来源、怎样展开成员。随后才是过滤器生成、人工审核、部署和路由器加载。

这几层不能互相代替。ARIN 保存了一段文字,不意味着它控制 Lumen 如何解释。Lumen生成了候选过滤器,也不意味着它替 ARIN验证了对象。候选结果更不等于所有路由器已经使用;路由器状态也不能自动推出某条 BGP 通告实际怎样传播。

扩大字段,只会改变存储层的容量。它能把被迫拆开的集合重新合并,减少递归与局部更新,这一点值得肯定。但如果标准 members 与优先备注不一致,更大容量只是允许两套成员清单在更大范围内分叉。维护者修改了肉眼可见的成员字段,某个消费者仍可能继续使用旧的备注。

因此,验收标准不能停在“更长文本已保存”。它必须回答:在指定对象版本和来源快照下,标准解释与私有解释分别产生了什么。

把解释过程做成回执

一份最小回执不需要公开客户合同或路由器配置。它可以记录公开对象键、权威来源、被读取版本的哈希或序列号;然后记录解析配置名称、版本、触发标记和优先规则。

真正可用于复核的部分,是被接受的带来源引用、被拒绝的引用及原因、每个成员绑定的数据库,以及标准展开和私有展开各自的摘要哈希。再提供一份有限的差异表——新增、移除、未解析——审核者便能判断改变是否符合意图。生成时间和输入来源快照则保证日后重放。

“已生成”“已审核”“已部署”“已从路由器观察”必须是四种状态。任何一份 IRR 页面都不能替代后面三项。

ARIN 的责任边界较窄:若改变长度或字段重复规则,应说明影响哪些对象与接口、旧值怎样处理、哪些外部语义不在 ARIN 校验范围。若不实施,也应在工单中给出决定和迁移替代方案。Lumen 控制解析器,因而应提供当前配置版本和可比较的展开结果,而不是让 2023 年指南承担每个 2026 年生产实例的证明责任。

本文没有证明什么

没有证据显示某条路由因此被拒绝、错误接收或泄露,也没有事故、中断、漏洞利用或客户损失记录。现有材料没有统计多少对象使用该标记。1,024 字符限制是提交者的描述,并非本次实测。Open 状态不能用来推断 ARIN 内部没有进展。

同样,Lumen 的公开指南只能证明它曾明确记录这条优先规则,不能证明每名客户、每台设备或每个当前解析器都未改变。这个边界不削弱论点,反而使结论更准确:字段扩容解决维护负担;有版本的解释和展开回执,才解决意义的保管问题。

来源