摘要

  • 10 月 1 日完成的 Routing Area Directorate telechat 审查建议澄清:上级控制器合并多个下级清单并作为服务器对外提供时,应负责保证其 network-element 列表中的 ne-id 唯一。
  • 唯一键只能阻止同一列表出现两个相同编号,不能自动判断“同号异物”或“异号同物”;合并方还需要留下可逆的身份映射证据。

设想一次并不罕见的汇聚。A 域的控制器把边界路由器记为 ne-id: 17,B 域的控制器把一台光传输机框也记为 17。两个下级系统都没有犯错:各自的 17 在本域内唯一。问题发生在上级控制器准备把两张表公开成一张表的那一刻。

它不能直接追加。修订 20 的 YANG 模型以 ne-id 作为 network-element 列表的键,一张有效列表不能让一个键同时代表两个条目。它也不能悄悄覆盖或丢弃其中一个。即使把 B-17 改成 18,眼前的键冲突消失了,来源关系却可能同时消失。此后,告警、工单或拓扑引用要回到 B 域时,可能再也找不到原来的对象。

Linda Dunbar 于 10 月 1 日完成的 Routing Area Directorate telechat 审查,指出的正是这个边界。审查结果是 Has nits,即文件总体清楚,但有一处值得补充的小问题:上级控制器可以组合多个下级控制器获知的清单;既然 ne-id 由服务器分配,又是列表键,那么作为组合清单服务器的上级控制器,应当保证自己暴露的 ne-id 值唯一。审查建议用一句简短说明把责任讲清楚。

状态必须准确。draft-ietf-ivy-network-inventory-yang-20 是 IVY 工作组的活动 Internet-Draft,拟进入 Standards Track,目前处于 IESG 评估和 Area Director 跟进阶段。它不是 RFC。审查也没有报告真实事故、厂商缺陷或安全漏洞,而是在标准形成过程中识别了一个架构责任。

这份草案定义的是通用、只读的网络清单:控制器所知已经安装的网络元素与组件。仓库备件、采购和商业元数据不在基础模型范围内。草案说,在这个模型的范围内,提供数据的网络控制器是事实来源。这里的“事实来源”是对所输出记录负责,并不等于数据库记录就是物理设备本身。

草案已经解释为什么 ne-id 应由服务器分配:设备本地标识不能保证在全网唯一。它还要求同一网络元素即使暂时与控制器断开,也应保持同一编号。至于如何认定“同一元素”,可以参考制造商、产品名、管理地址、物理位置等,但具体机制由实现决定,不在标准化范围内。

这恰好把合并方置于两种不同任务之间。第一种是命名空间任务:组合列表里不能有重复键。第二种是身份任务:两条观察到底属于同一物体还是不同物体。给每个下级编号加域前缀,可以解决第一种问题,却没有回答第二种问题。

如果同一机框被两个重叠管理域用不同编号上报,上级控制器把它们当成两台设备,就可能重复计算容量、重复排程维护、重复关联告警。相反,如果仅凭制造商、产品名和管理地址相似就合并,两个真实不同的设备也可能被压成一条。管理地址会变化,位置字段可能滞后,同型号设备天然会重复。冲突状态本身就是信息,不该被“清理数据”的冲动抹掉。

公共属性中的 UUID 很重要,却不是身份裁决。修订 20 把它描述为由服务器分配、全局唯一的标识,UUID 标准则规定了格式与生成性质。但“值唯一”和“对象相同”是两件事。两个服务器可以为同一台设备各生成一个合法 UUID;错误复制也可能让两个对象共享一个 UUID。UUID 适合作为身份决定后的稳定引用,却不能单独证明该决定正确。

因此,至少要区分五层事实:物理资产;下级控制器的观察;下级 ne-id;上级的比对与合并判断;最终交给告警、拓扑、工单或自动化消费的组合 ne-id。YANG 列表校验通过,只证明第四层的输出符合结构,不能替代其他四层证据。

BTW 在此提出一个运维控制:可逆的身份转换回执。每次接入下级记录时,上级控制器保留来源控制器、来源 ne-id、组合 ne-id、UUID 与可用硬件锚点;记录采用了什么匹配规则、置信度多高、是否存在冲突、首次与最近观察时间、映射如何被替代,以及哪些重要自动化决定使用过它。

这不是修订 20 的要求,也不是审查人的提案,而是 BTW 的编辑判断。目标很有限:让重命名与合并可审计。B-17 变成组合视图中的 18 后,运维人员仍能沿原路返回。A-17 与 B-42 后来被证实为同一机框时,合并动作应保存此前两条主张的历史。证据不足时,系统应公开“不确定”,而不是制造一行看似整洁的资产。

这一控制与 Heng Lu 笔记的核心纪律一致。Note 20 区分可执行现实与符号表述:记录能驱动流程,却不会因此变成它描述的物体。Note 64 主张共同层只保留唯一性、互操作与安全所必需的最小可验证规则,后续选择留给运行系统的参与者。Note 19 则区分协调与权威。应用到这里,共同模型需要唯一键;本地合并方负责自己的身份判断和证据;任何编号都不会赋予对物理设备的主权。这是 BTW 的分析框架,不是 IETF 或审查人的立场。

本篇也不占用相邻文章的议题。拓扑映射文章讨论 ne-ref、port-ref 的自动发现和人工覆盖;授权清单文章区分许可证、激活与实际服务;无源资产文章讨论不会自我报告的光缆如何建立证据。本篇只处理它们之前的一道关:引用进入组合层时,究竟指向谁,又能否回到原始命名空间。

草案明确允许分层控制器从下级控制器收集网络清单,再把组合结果提供给更高层控制器、Inventory OSS 或其他应用,并以 ACTN 为可能场景之一。记录穿越的层次越多,本地约定越容易被误读为全局事实。标准不必规定唯一的比对算法,但应明确哪个服务器边界承担唯一性,实施者则应公开如何前缀、重映射、合并、分拆和保留冲突。

来源