摘要
draft-ietf-ivy-entitlement-inventory-05把组织持有的权益、资产关联、已安装记录、支撑许可证、allowed、in-use与限制值拆成不同数据;任何一个字段都不能单独证明下一层事实。- 该 YANG 模块全部只读。真正改变或执行许可证状态的外部系统、同步规则和到期告警不在模型内,因此绿色状态首先是一份报告,而不是可执行权力。
- 可靠自动化必须保存生产者、观察时间、组合规则和每次交接的回执,一直追到设备运行状态与可观察的网络结果。
续期日的两套时间
设想一个不指向任何真实厂商的续期场景。凌晨零点,中央清单把一项吞吐能力的许可证从 active 改为 expired。采购系统的记录没有错误:合同日期已经结束。可设备仍在转发,因为本地令牌还有宽限期,或它尚未收到中央变化。上午,控制器又从缓存里读到 allowed=true。
也可能完全相反。中央系统刚完成续费,权益已经关联到设备,仪表盘显示“有效”;设备却尚未获得令牌,或者支撑该能力的另一个附加许可已经失效。组织拥有权利,不等于设备此刻接受了权利。
这两个分支不需要假设谁在撒谎。它们只说明不同系统生活在不同时间和观察边界里。真正危险的做法,是把中央记录、设备状态和服务结果压成一个绿色圆点。
2026 年 9 月 29 日的 draft-ietf-ivy-entitlement-inventory-05 试图为这种差异提供共同的数据结构。它拟走 Standards Track,预计于 2027 年 4 月 2 日到期,目前仍是 IETF Network Inventory YANG 工作组的 Internet-Draft。它不是 RFC,不代表 IANA 已完成注册,也不是任何产品已经支持或部署的证据。
它最值得重视的地方,不是承诺“一个字段解决许可证管理”,而是允许我们把权利链拆开。
从拥有到结果,共有九站
第一站是组织级权益:标识符、供应方、产品信息、状态、生效与到期日期、限制。第二站是关联:这项权益面向哪个组织、用户、网络元素或组件。第三站是资产公开的 installed-entitlements 引用。第四站是设备报告自己具备的技术能力。第五站是能力所依赖的一项或多项支撑权益。第六站是 allowed,即权益规则是否允许使用。第七站是 in-use,即报告方是否认为权益或能力正在使用。第八站是全局或能力级的最大值与当前值。第九站才是配置是否成功、数据面是否生效、业务服务是否达到预期。
这些站点可以相互指向,却不能相互替代。组织可以买下尚未分配的许可证;分配可以停留在资产库里;设备可以激活许可证但没有启用功能;功能可以允许但未使用;使用状态可以为真但没有客户流量;服务可以失败于路由、光层、安全策略或应用,与许可证无关。
如果把所有站点都叫“已授权”,故障时就再也无法判断责任停在哪一步。
“已安装”是谁眼中的已安装
草案本身留下了一处必须公开处理的术语张力。范围章节说,installed entitlement 指分配给特定资产的权益;所谓安装既可能是直接写入设备,也可能只是中央系统里的逻辑分配。定义章节则把它描述为已经在网络元素上本地激活、可供能力使用。后文又称这些引用“当前有效并赋权于资产”。
未来版本可能会统一这些表达。在当前版本下,消费者不能默默挑选最乐观的解释。
资产管理平台能直接看到“许可证被分配给序列号 X”。许可证服务器能看到“10:04 发出了一次租约”。设备能看到“本地令牌加载成功”。控制器只能看到“上次轮询返回一个 installed 引用”。四份记录可能使用相同 ID,却不具有同一含义,也不处于同一时刻。
所以最小证据不应是一个孤立的 installed=true,而应包含:谁产生、该生产者能观察什么、何时观察、经过哪条验证路径、缓存多久。共同的 YANG 路径让系统能交换记录,并没有让它们拥有同一个现实。
缺失、空值与否定不能合并
模型使用 presence container 表示报告能力。系统若公开 installed-entitlements 容器,就在声称自己知道这一类信息;容器存在但列表为空,可以表示没有安装项。容器根本不存在,则可能表示该系统不会报告,而不是设备没有许可证。
同样,in-use 叶子缺失可以表示生产者无法表达使用状态,并非使用为假。supporting-entitlements 容器存在且为空,可以表示能力不需要特殊许可证;容器缺失,则可能只是依赖关系未知。
许多数据管道为了方便,把缺失统一转成 false 或空数组。格式更整齐,证据却被破坏:未知变成否定,或未知变成“没有限制”。自动化至少要保留四种状态——报告为真、报告为假、明确为空、未报告——并带上来源与时间。
五级实现不能只看一个勾
草案允许逐步实现。Level 1 只有中央权益目录;Level 2 增加资产上的已安装权益;Level 3 增加能力;Level 4 增加能力与权益的依赖,以及 allowed、in-use;Level 5 再加入全局与能力限制。
实现者应说明支持哪一级以及偏离之处。这比“支持权益清单”的产品勾选框更重要。Level 1 无法回答某台设备当前是否允许使用;Level 3 可以列出硬件能力,却不知道其许可证依赖;Level 4 可以给出许可判断,却未必知道一个共享池还剩多少可原子预留的额度。
采购和架构评估应该问:每个字段由谁产生?多久刷新?网络分区时保持什么语义?冲突时谁优先?不知道这些,所谓支持只是一项名义能力。
allowed 是计算结果
一个能力可以依赖多项权益。草案要求 allowed 反映所有必要权益的合并效果;若必需项缺失、到期或撤销,它应为假。这意味着 allowed 不是硬件固有属性,而是策略计算的输出。
要相信这个输出,消费者必须知道完整依赖集合、每项权益的新鲜状态、组合规则和决策者。目录若遗漏一个附加许可,结果可能过度宽松;控制器若不知道宽限期,结果也可能过度严格。两个系统给出不同布尔值,可能只是使用了不同但各自合理的视图。
即使 allowed=true 完全正确,它也只说明权益政策允许组织使用。它不授予某个操作者配置权限。RFC 8341 的 NACM 管理 NETCONF/RESTCONF 用户对操作和数据的访问;权益模型管理组织是否有权激活能力。许可证不能提升用户角色,管理员权限也不能凭空创造许可证。
此外,允许不等于可运行。软件版本、内存、板卡、拓扑、配置依赖和业务策略仍可阻止功能生效。
in-use 也需要说明观察方法
模型可在许可证和能力两个层面报告 in-use,并要求两者存在时保持一致:若任何受支持能力正在使用,权益也应标记为使用中。这能发现明显矛盾,但并未规定“使用”如何被观察。
设备可能把“配置存在”算作使用,也可能要求进程启动;许可证服务器可能计算席位已借出;控制器可能重复上一轮状态;运营团队更关心邻接、路由、转发表和实际流量。这些都不是同一个命题。
因此 in-use=true 后面仍要接运行回执:配置接受、进程状态、资源占用、数据面计数和服务探测。权益清单应链接这些证据,而不是吞掉它们。
共享池里的余量会被同时消费
限制可以是组织级安装数量,也可以是能力级吞吐、连接或隧道上限。模型提供资源名、单位、最大值和当前值。
“当前 80,上限 100”并不自动批准下一次申请 20。当前值可能已经过时;两个控制器可能同时看到同一余量;一个值可能表示已配置容量,而执行系统计算的是活跃使用;父许可证与附加项可能消耗不同池。
层级权益还有图结构风险。YANG 能阻止直接自指,却不能单独发现所有深层环路。管理系统必须在提交前识别 A→B→A。通过 schema 校验的文档仍可能包含不可执行的依赖图;正确的依赖图仍可能遭遇并发预留竞争。
所以限制回执至少要包含池范围、单位、采样窗口、来源、时间、重置规则和预留状态。否则 current value 只是遥测,不是并发控制。
只读模型依赖外部写入现实
模块的所有节点都是 config false。它负责报告,不负责改变底层权益。真正写入状态的是许可证服务器、资产平台等外部系统,它们与设备之间的通信又不在本文范围内。
NETCONF 或 RESTCONF 连接可以被双向认证和加密,仍可能读到过时或伪造的状态。安全章节明确提醒:若外部通道被破坏,攻击者可能注入错误权益,使能力看似被允许或被限制。只读能限制这条接口的写操作,不能自动证明读到的事实真实、及时。
草案因此建议实现检测中央记录、本地安装与实际使用之间的不一致,但没有规定通用的新鲜度、优先级或冲突裁决。到期也相同:模型给日期,不负责临期通知。缓存又是大规模系统的现实需求,所以每个绿色状态都应带缓存身份和最近一次成功刷新时间。
把可执行权利写成回执链
一项可审计决策至少需要九份回执:
- 授予回执:谁授予什么权利,给谁,何时到期,有何限制;
- 分配回执:谁把它关联到哪项资产或组件;
- 激活回执:哪台设备或许可证服务接受了它;
- 依赖回执:完整支撑项与已验证无环的层级;
- 许可回执:
allowed的规则、生产者、时刻和例外; - 访问回执:操作者或自动化主体的 NACM 决策;
- 使用回执:实现如何定义并观察
in-use; - 限制回执:共享池、预留、执行结果和剩余余量;
- 结果回执:配置、运行状态、流量和最终服务。
这九份回执不必装进同一数据库。重要的是交接不能丢失。共同清单越诚实地标明权力到哪里结束,就越能成为可信的协调工具。
资料来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
