摘要

  • cidr0_cidrs196.1.0.0196.1.0.255 这一注册区间表示为 196.1.0.0/24
  • 这项注册数据不包含 BGP 宣告、起源 AS、路径、传播范围或实际流量证据。
  • 用前缀连接注册与路由数据时,必须分别保留来源、采集时间和证据边界,不能让一个字段同时扮演两种证据。

同一条前缀,两套证据系统

这项观察首先是一条注册记录。2026 年 8 月 28 日,AFRINIC 的公共 RDAP 服务针对 196.1.0.0/24 返回了一个 ip network 对象。对象句柄覆盖 196.1.0.0 - 196.1.0.255,类型为 ASSIGNED PIcidr0_cidrs 列表则包含一个 IPv4 前缀:196.1.0.0,长度 24。

字段的含义来自它所处的对象。起始与结束地址界定注册区间,parentHandle 指向注册层级中的父级网络对象,active 是该注册对象的状态。它们描述的是登记系统里的对象,而不是互联网控制平面的实时观测。

AFRINIC 对 RDAP 查询的说明也限定了用途:输入地址或前缀后,服务返回能够完整包含它的、最具体的注册网络。它回答的是“哪条登记记录包含这项资源”,而不是“互联网此刻能看到哪条最具体路由”或“数据包将沿什么路径传输”。

误读来自符号上的重合。BGP 观察中也可能出现 196.1.0.0/24;在 RDAP 响应里,这串字符却只是注册区间的 CIDR 表达。字符完全相同,只能说明它们可以作为连接键,不能说明两套系统已经给出了同一事实。

BGP 路由把网络层可达信息中的目的前缀与路径属性结合起来,并由自治系统之间的更新消息传播。要声称一条路由存在,至少需要说明哪个观察点在什么时间看到了什么前缀、起源和路径属性。当前 RDAP 记录并不包含这类观测。

因此,前缀适合用来比对,却不适合直接生成结论。系统可以用它把注册对象与独立采集的路由记录关联起来;在第二份证据出现之前,“已观察路由”“起源 AS”和“可达性”等字段都应保持为空。

cidr0_cidrs 真正解决的问题

RDAP 的基础 IP 网络对象使用起始地址和结束地址描述一个区间。这样做可以精确表示那些无法压缩为单一 CIDR 块的注册地址范围。如果区间边界没有落在同一前缀边界上,就需要若干个 CIDR 表达式才能完整覆盖它,同时不引入区间之外的地址。

cidr0 扩展为此增加了一个列表。每个列表项包含 IPv4 或 IPv6 前缀及其长度,整个列表共同表达其所在注册对象的地址边界。它之所以是列表,是因为一个注册区间可能需要多个前缀;这并不表示服务从 BGP 中发现了多条路由。

本例的边界恰好对齐。从 196.1.0.0196.1.0.255 的 256 个地址可以完整写成一个 /24,所以列表只有一个成员。这个结果方便资产清单、访问控制和跨数据集比对,但便利性不会扩大来源能够证明的范围。

响应中的 rdapConformance 还包含 cidr0。客户端因而可以把字段与已登记的扩展规范对应起来,按照规范解析,而不是仅凭名称猜测含义。合规标记解决的是结构解释问题,不会凭空增加起源、路由可见性或传输关系等属性。

安全的数据转换应保持克制:可以从 cidr0_cidrs 生成“注册区间对应的前缀”列表,不能自动生成“当前宣告前缀”列表。后者需要路由来源,而注册服务没有进行这项观察。

要谈 BGP,还缺少哪些证据

AFRINIC 的这次响应没有说明 196.1.0.0/24 在采集时是否出现在任何 BGP 表中,也没有给出起源 AS、AS_PATH、观察到它的对等体数量、首次出现或撤回时间。它同样不能说明该区间是否由更大的聚合路由覆盖,或其中是否存在更具体的宣告。

这些不是可以靠常识补齐的细节,而是路由事实的组成部分。RFC 4271 将 BGP 定义为自治系统之间交换网络可达信息的协议。一条目的前缀只有与更新消息中的路径属性及具体观察结合,才构成可核验的路由证据。RDAP 中的一串 CIDR 字符不能替代那条消息。

即使另外确认了 BGP 宣告,能够支持的结论仍然有限。它可以证明某个观察点在某个时刻收到了带有特定属性的路由,却不能单独证明端到端的数据包交付、流量大小、服务质量、商业转接合同、路由器权限或公司控制权。每一层判断都需要与问题匹配的来源。

时间也不能省略。注册对象可能保持不变,而路由在数小时内多次变化;注册元数据也可能更新,但网络宣告没有改变。把两个不同时间的快照放在一起而不说明时间,会把相关性包装成因果关系。

否定性结论需要更严格的约束。一个收集器没有看到路由,并不代表全网都看不到。可见性取决于观察位置、时间窗口和采集方法。正确说法应明确限定为:某个来源在某段时间看到了或没有看到某条路由。

在字段层保留来源

可靠的数据链可以分成三层。第一层原样保存 RDAP 事实:请求地址、采集时间、对象句柄、起止地址、合规标记和 CIDR 列表。第二层只记录规范允许的解释:列表以 CIDR 形式表达该注册区间。第三层才存放独立的路由、流量或组织证据,并携带各自的来源和时间。

这样的结构能防止便捷转换变成无依据判断。名为“registeredPrefixes”的字段可以由 cidr0_cidrs 填充;名为“observedRoutes”的字段则不可以。起源 AS 在路由来源出现前应为 null,可达性也必须等待真正针对可达性的观测。

分层还使差异具有分析价值。一个注册区间可能只由聚合前缀覆盖,也可能包含更具体的宣告;不同收集器可能看到不同路径;起源也可能在后续时点发生变化。这些情况不否定 RDAP 记录,它们描述的是另一种属性或另一个时刻。

面向读者的文字同样需要保留边界。“AFRINIC 把这段注册地址范围表示为 196.1.0.0/24”得到当前捕获支持;“该前缀正在宣告”必须引用 BGP 观测;“登记对象的关联方控制网络”还需要另外的权限与运营材料。限定语并非修辞,而是证据链的一部分。

证据范围与来源

本文只使用 AFRINIC 公共 RDAP 在 2026-08-28T06:35:54Z 返回的顶层选定字段。事实包没有加入 BGP 查询,因此不对该前缀当前是否宣告、由谁起源、经过什么路径、能否到达或承载多少流量作出判断。

字段含义依据 AFRINIC 的 RDAP 说明、IANA 的 RDAP 扩展登记、NRO 的 cidr0 规范,以及 IETF 对 RDAP JSON 和 BGP 的标准定义。这些来源共同划定了字段的用途和不能越过的边界。