团队文章其他文章

RIR 治理中的“背离运行代码原则”是什么?

以一个正常运行的网络为线索,解释 Lu Heng 关于背离运行代码原则的论点:为什么程序必须服务于连续性,以及替代方案需要保留什么。

目录

一张空白的行政卡片截断了两台正常运行的网络机柜之间的蓝色路由路径。

当原本用于支持正常运行网络的程序,变成支配这些网络的权力来源时,Lu Heng 的批评就从这里开始。

设想一个正常为客户提供服务的网络。设备运行正常,连接正常,其他网络也能访问它。随后,负责维护其地址记录的组织,改变了认可这个网络的条件。线缆并没有移动,但运营者如今却必须为其他各方所依赖的行政管理基础进行辩护。

这就是 Lu Heng 所说的“背离运行代码原则”:机构援引一种原本为帮助网络运作而形成的传统,随后又用这种传统为支配网络本身的权力辩护。在第 61 则札记中,他的批评超出了会议是否公平的问题。他追问的是:这场会议为什么从一开始就应该拥有这种权力?

这里的“运行代码”是什么意思?

运行代码,指已经实际实现并投入使用的软件和系统。对于互联网服务而言,这包括连接网络、保持客户可达的实际工作。任何拟议设计,都要接受这种运营现实的检验。

IETF 的使命声明将工程判断与实现、部署规范的经验联系起来。它对粗略共识的讨论解释了为什么清点支持者人数,不能代替处理技术疑虑。这些方法旨在产出有用的工程成果,并不构成治理所有受互联网影响者的普遍授权。

Lu Heng 将这一区分应用于区域互联网注册机构,即 RIR。注册机构帮助协调号码资源,让网络能够区分不同资源。它的价值来自对这项共同功能的支持。他的论点是,这项功能并不赋予机构对使用者的无限权力。

关系倒置:网络开始为程序服务

考虑一条旨在防止两个互不相关的网络对同一号码提出主张的规则。这条规则解决的是一个共同的技术问题。再考虑另一类规则:决定运营者可以服务哪些客户、可以采用哪些商业安排,或者其资源是否应该继续归于某个特定管理方。

这些决定的影响范围要广泛得多。说参与者批准了这些决定,并不能证明每一个受影响的运营者或客户都授权这些参与者作出决定。

当运营者必须围绕某个机构的偏好,重新组织一项原本正常运行的服务,而机构却认为完成自身程序就足以回应所造成的后果时,这种倒置就发生了。流程仍在运作,改变的是它服务于谁的利益。

为什么数据库中的决定会影响数据库之外的世界

注册机构并不传送每一个数据包。修改一条记录,不等于关闭每一台路由器。影响力来自依赖:服务提供商、客户和其他系统在认可某项资源、决定如何处理它时,会查阅记录及相关证据。

这就在行政决定与人们使用的服务之间形成了一条链。后果取决于具体记录、涉及的技术系统,以及依赖这些系统的组织所作的决定。

要看清这条链,可以沿着一个地址块在企业中的使用一路追踪。谁维护其注册联系人信息?谁发布其路由授权?哪些网络承载其流量?哪些客户已经把这些地址写进了自己的配置?记录维护层面的一项分歧,可能需要围绕所有这些关系展开工作。

AFRINIC 讨论带来了什么

第 61 则札记借 AFRINIC 争议展开了一项具体批评:Lu Heng 认为,一项狭窄的协调职能,通过对区域内使用、机构认可和转让条件的解释,被扩大了。他还质疑更广泛的注册机构体系为这种扩张所作的辩护。

他的论述区分了流量流向何处,以及持有者能否迁移其行政管理关系。即使正常路由仍在继续,对退出的限制也可能制造依赖。这就是为什么他把可迁移性视为结构性问题,而不是一项小小的便利。

该札记包含他对政策记录、机构声明和诉讼的详细解读。对于这篇导读,更广泛的问题无需接受每一项机构主张也能理解:当协调方存在争议或无法提供服务时,实际运营网络的人,能否在不持续依赖其许可的情况下维持服务?

为什么改善参与仍然不够

更便于参加的会议、更清楚的解释,以及更好的异议渠道,都可以改善流程。但它们本身无法回答机构究竟有权决定什么。

因此,Lu Heng 的批评不只是认为共识应反映更多参与者的意见。他认为,协调必须始终受其所服务工作的边界约束。一个程序不能通过宣布参与者意见一致,就自行赋予自己无限的授权。

这也解释了为什么,如果新委员会仍然是获得认可所不可缺少的来源,那么用一个委员会替换另一个委员会,并不会触及核心问题。

拟议的替代方案:让有效性可以独立核验

第 65 则札记提出了建设性的答案——“运行代码优先”。其拟议的共同层包含保障唯一性、控制权证明、安全性和互操作性所需的最低限度规则。参与者应能够依据分布式状态,在本地检验这些规则是否得到满足。

后续变更通过实现和自愿采纳投入运行。继续使用兼容旧规则的参与者,无须向一个常设机构申请继续运行的许可。参与者可以拒绝不符合其所运行规则的状态;这种技术性拒绝,与机构因某人拒绝接受后续政策而对其施加惩罚,是两回事。

这是一种拟议架构。要让它实际运作,需要冲突处理、安全的证明、可明确验证的兼容性,以及切实可行的过渡路径。仅仅发布一份文件或复制一个注册库文件,并不会让其他网络接受接任方。

为什么要趁网络仍在运行时准备?

连续性不能靠危机中临时换一个名称来实现。运营者及其合作方需要可用的记录和核验记录的方法,还需要通过测试弄清哪些要素能够在过渡中保留。

读者可以做一个简单检验:一条规则保护的,是网络真正共同需要的东西,还是管理方替它们作决定的能力?然后再问:如果管理方消失,有用的协调能否继续?

请阅读第 61 则札记中的批评、第 65 则札记中的拟议设计,以及第 72 则札记中的权利声明。三者共同将讨论从哪里出了问题,推进到共享层究竟应该承担什么功能。