摘要

  • 测量窗口、探针、fw 和 mver 能让原始结果保持身份,却没有说明某台客户端还能把历史富化保存多久。
  • 2026 年 1 月更新让四组查询以“档案可用”为条件,并由偏好设置决定本地数量;证据因此多出一只倒计时钟。
  • 保存深度可以由本地决定,但被引用的结果应在淘汰前带走期限、回退结果、四组快照身份和替代链接。

测量还在,历史资料架可能已经空了

一名工程师今天在保存较深的工作站上打开半年前的测量,历史 ASN、IXP 与国家标签仍能出现。数周后,复核者在只保留少量快照的客户端重开同一测量。原始结果没有消失,公开约定却没有告诉他四组解释资料是否还在本地,或者不可用时走了哪条路。

本文没有声称两次结果真的不同。需要分开的,是原始测量的寿命与本地历史缓存的寿命;前者带日期,后者需要一条可以随证据带走的边界。

Khipu 当前文档把这套能力写得很坦率。工具支持 traceroute、DNS 与 ping,可在 IP、ASN 和国家视图之间切换,弹窗显示地址、ASN、国家、RTT、IXP 关联与 anycast 标记,还能导出完整或经筛选的 JSON、CSV。它缓存来自 RIPE NCC RIS 的 ASN 查询和国家映射、来自 PeeringDB 的 IXP 信息、来自 IPLocate 的 IP 位置,并保留处理后的测量数据。

这些附加信息让图变得有用,却不等于探针亲自测到了它们。IXP 目录关联不是数据包一定穿过交换矩阵的证明;国家标签不是路由器机柜位置、公司管辖地或资源所有权。文档也明确提醒,IP 位置系统并不完美,对 CDN 等地址尤其容易出错。

因此问题不是“能不能富化”,而是富化过的结论在离开浏览器时能否说明自己从哪里来。

原始结果已经懂得给版本留位置

RIPE Atlas 在较底层做得更严格。测量结果格式要求每条结果带有 fw,用来标识生成该结构的探针固件。自结果版本 5000 起,mver 另行标识测量代码版本:主版本代表不兼容变化,次版本表示添加字段但旧解析器仍可工作,修订版本则可表示代码修复而输出格式不变。

同一文档还把 src 与 from 分开。前者由探针加入,后者由后端补充并用于 ASN 查询与地理定位;NAT、IPv6 地址选择或断线后补交结果都可能让两者不同。版本字段没有消除误差,但它让读者知道某一条数据由哪一套生成边界产生。

取数也有明确边界。Results 与 Latest API 手册允许用测量 ID、start、stop 和 probe_ids 限定完整历史。Latest 可以为每个探针返回最多十条逆序的近期结果,响应缓存五分钟。这里的 versions 是较早的测量结果,不是富化数据库的版本。

探针本身还有另一条历史线。探针归档 API提供按日期保存的状态快照,可以按日期、探针、状态和字段筛选。也就是说,分析者已经能够写清“用了哪段原始结果”和“参考了哪天的探针状态”。这两项仍不能代替 ASN、IXP 和国家查询快照。

2026 年出现了四组历史输入

2026 年 1 月 5 日的 UI/API 发布说明加入了决定性的一行:若档案可用,Khipu 会为 ip2asn、ixp、ip2country 与 asn2country 调取历史缓存;本地档案数量由偏好设置决定。

“若可用”不能被删掉。它说明一次历史分析除了目标时间,还有档案是否存在以及失败后如何处理的问题。四个名称也不应缩成一个“位置数据库”:IP 到 ASN、IXP 关联、IP 到国家和 ASN 到国家分别回答不同问题,更新时间与证据类型未必相同。

公开说明没有给出保存期限、档案命名、摘要算法、共同时间点或回退顺序,也没有说四组查询一定使用同一天。本文不会替实现补写这些答案。能够确认的只有:历史富化已经成为单独的、有条件的输入,本地偏好又会影响可见的档案深度。

这使一条测量拥有至少五只钟:原始报文的时间,以及四组查询资料各自的观察时间。界面可以把它们压成一幅图,审计记录却不能把它们压成一个日期。

本地保存边界没有进入共享取景框

Khipu 文档的“共享内容”清单有六组:

  • 所选测量 ID 与类型;
  • IP、ASN 或国家视图;
  • RTT、路径与国家筛选;
  • 成功状态、标签、距离模式等显示选项;
  • 国家筛选器的开合状态;
  • 全屏状态。

这是一张很好的“取景收据”。它回答分析者看了什么、怎样看,却没有回答这台客户端最远还能回放到哪一天。清单没有列出本地保留数量、最早可用快照、淘汰规则、回退结果、四组档案身份、Khipu 构建版本或输出摘要。

措辞必须保持克制。公开文档没有列出,不等于内部系统一定没有;也不能据此断言 URL 中不存在未公开参数,或 JSON/CSV 导出绝对不带来源字段。本文审计的是读者能够依赖的公开承诺:它承诺复现配置,没有公开承诺复现完整生成链。

产品演进解释了这个落差。2025 年 8 月的原型文章把 Khipu 描述为正在快速开发的可视化工具,以 URL 参数分享筛选与视图;9 月 2 日发布记录正式引入 beta 版;9 月 26 日更新增加国家视图的查询与评分等能力。

这些历史不能用来把今天的 Khipu 继续称作 beta,也没有证明某次结果错误。它们只表明:界面逐渐承载了历史分析语义。既然档案架留在本地,它的过期线就应在结果被引用前变成可携带记录。

可用性也要进入等式

把原始结果记为 R,视图配置记为 V,时刻 t 的四组快照与回退记为 E_t,客户端 l 对它们的本地可用性记为 A_l(t),Khipu 构建记为 K。派生输出可写成:

O_l = F(R, V, E_t, A_l(t), K)。

这是本文的审计模型,不是 RIPE NCC 已发布的数据结构。原始 API 与版本字段标明 R,URL 标明 V;1 月说明让 E_t 以可用为条件,并把保存数量交给偏好设置。公开清单没有给 A_l(t)、E_t 和 K 命名。

由此只能推断:当 R 与 V 相同而 E_t 不同时,派生标签在技术上可能不同。本文没有观察到两个用户打开同一链接却得到不同答案,也不声称函数 F 不确定。若现有公开导出已经完整绑定这些输入,实际批评便可被直接证伪。

在淘汰发生前截取保存清单

普通浏览仍可只分享短链接,保存深度也无需统一。只有当图表要进入故障单、研究附件或决策记录时,才应在快照仍可用时“复制保存清单”:

  1. 收据身份。 稳定收据 ID 与收据结构版本。
  2. 测量身份。 测量 ID、类型以及公开或私有边界。
  3. 结果窗口。 精确的开始、结束时间和时区。
  4. 探针集合。 有序探针 ID 以及适用的探针快照身份。
  5. 原始调取。 结果端点与调取时间。
  6. 原始完整性。 内容摘要,以及实际出现的 fw 与 mver 值集合。
  7. 渲染器身份。 Khipu 构建或发布版本。
  8. 档案选择。 历史目标时刻、选择规则、本地档案数量偏好与回退状态。
  9. ip2asn。 来源、档案身份、调取时间与摘要。
  10. ixp。 来源、档案身份、调取时间与摘要。
  11. ip2country。 来源、档案身份、调取时间、摘要以及置信或未知状态。
  12. asn2country。 来源、档案身份、调取时间、摘要以及置信或未知状态。
  13. 视图配置。 规范化视图、筛选、显示选项与共享 URL。
  14. 导出范围。 完整或筛选后、可见路径或结果数量、确定性排序规则。
  15. 输出身份。 生成时间、输出摘要以及更正或替代链接。

这张收据不能公开 API key、私有测量正文、用户身份、浏览器历史和本地文件路径。私有测量可以在原授权边界内保留同一结构。可审计性不是扩大访问权的借口。

保存留在本地,过期边界随结果出门

HENG.LU Note 64要求共同层既要最小,也要严格。保存深度、存储预算与淘汰方式可以留在本地;需要被引用的结果则应在本地档案过期前,带走所选期限、实际可用或回退状态、四组快照、渲染器和输出摘要。

这套办法并不指定唯一的 IP 地理模型。接收者可以换一套 ASN 映射、IXP 判断或国家数据库,只要新结果声明自己的输入。分叉因此变得可比较,而不是被中央机构裁定为“正确”或“错误”。

真正的边界是可携带性:生成链应能离开原浏览器会话继续接受检查,却不需要 RIPE NCC 批准分析者的结论。收据描述标签怎样产生,不把标签升级为关于所有权、司法管辖或物理路径的主权事实。

来源

证据边界

已核实:原始结果含 fw,自版本 5000 起还含 mver;Khipu 文档写明使用 RIS、PeeringDB 与 IPLocate 缓存;四组历史查询在档案可用时被调用;共享清单没有标明档案身份。

推断:在原始结果和显示选择不变时,富化快照或回退选择变化可能改变派生标签。

建议:为证据级导出增加绑定原始数据、富化层、渲染器和输出的可携带收据。

未知:内部缓存结构与保存期、未公开的 URL 或导出字段、回退优先级、任何旧视图实际选择的档案,以及同一链接是否曾出现真实差异。