团队文章互联网怎样运作

网络运营者为什么需要路由起源授权(ROA)

ROA 声明哪个网络可以发起路由宣告。了解如何准备授权、检查其效果并切换网络,同时避免将签名记录误当作流量必定送达的保证。

目录

模型工坊、授权卡和一台网络设备上,有相同的蓝色圆形标记。
模型工坊上的一个蓝色圆圈,与一张授权卡和一台网络设备上的标记相对应。

起源授权将一个地址块与获准宣告它的网络关联起来。它并不保证流量在整条路径上都能顺利传递。

你的地址没有变化,但你希望改由另一个网络来宣告它们。新连接已经准备就绪。互联网中的其他网络会接受这条路由吗?路由起源授权,也就是 ROA,是变更前需要妥善准备的记录之一。

它让地址持有者能够声明,哪个自治系统可以为某个前缀——即一个 IP 地址块——发起路由宣告。这一声明为其他网络提供了可供检查的证据。它本身不会宣告路由,不会传送数据包,也不保证所有提供商都会接受该路由。

从你打算发布的宣告入手

自治系统是具有自身路由策略的网络,由 ASN 标识。起源 ASN 是所宣告路由中显示为起点的 ASN。发起路由宣告的自治系统,不一定由登记为地址持有者的机构运营。

发布授权之前,应确认前缀、预期的起源 ASN,以及实际计划宣告的所有更具体前缀。RFC 9582 中的 ROA 格式将一个 ASN 与前缀及其允许的最大前缀长度绑定。前缀越长,所描述的地址块越小。

例如,授权宣告某个特定的 /24,与授权宣告其中所有更小的地址块,并不相同。不必要地放宽 maxLength,会赋予超出当前宣告所需范围的权限。RFC 9319 解释了运营者为什么应当让这类授权保持精确。

发布与检查是两项不同的工作

持有者通过其 RPKI 系统发布经过签名的授权材料。接收网络的验证软件检查这些材料,并生成一组已验证的记录。其路由器可以利用这些记录,比对收到的路由起源。运营者则配置验证结果如何影响路由处理。

起源匹配且前缀长度获准时,结果为 Valid(有效)。存在覆盖该前缀的授权、但没有匹配项时,结果为 Invalid(无效)。没有覆盖该前缀的授权时,结果为 NotFound(未找到)。这三种状态区分了记录缺失与记录冲突。仅仅在存储库中放置一条 ROA,并不能在所有地方阻断虚假的宣告。

按正确顺序实施变更

如果一个地址块将改由另一个起源宣告,应先准备好所需授权,再依赖新的宣告提供服务。若过渡期间计划同时使用两个起源,授权就必须反映这一安排。观察验证器和接收网络收到的数据,再确认实际路由及可达性。不再需要旧权限时,应及时撤销。

并不存在一个所有路由器同时看到新记录的统一时刻。RPKI 的发布、验证和路由器更新各有其时间节奏;缩短 DNS TTL 并不能控制它们。RFC 7115 讨论了缓存与更新之间的运维差异。

应在隔离的实验环境中测试错误的起源和前缀长度。在生产环境中,要监控预期路由、验证数据、会话健康状况,以及服务提供商采用的策略。冗余验证器有助于应对单个验证器故障,但它们的数据源、软件和配置仍可能存在共同的依赖。

保留其他检查措施

起源验证不会认证完整的 AS 路径,不能阻止所有路由泄漏,也不会加密用户流量。前缀过滤、路由关系和其他运维控制仍然重要。路由出问题时,应调查具体哪里不匹配,以及接收方采用了什么策略;无论是取消全部验证,还是认定每一条 Invalid 路由都是攻击,都不是合理的诊断方式。

安全应当服务于网络运营者

Lu Heng 在札记 28 中主张,不可或缺的记录维护工作,不应变成任意施罚的手段。一条有用的签名授权是一项技术声明,并不赋予维护相关记录的机构无限权力。

在札记 64 中,他呼吁采用可在本地验证的共同规则、可迁移的协调记录,并让参与者自行选择是否接受未来变更。网络运营者之所以需要关注这些,是为了保障连续性:了解服务依赖哪些记录、谁能更改这些记录,以及协调方失效时,准确的证据如何仍能继续使用。

继续阅读IPv4 前缀为什么会更改起源 ASN,以区分路由变更与持有者变更。