摘要
- OPSAWG 丢包模型草案第 16 版为设备提供一套共同语言,用于描述包在接口、设备、流或控制平面的哪个方向,因错误、策略还是拥塞而被丢弃;它也明确说明,计数器本身不能证明运营者意图。
- 即使分类完全正确,自动处置仍可能做错。配置换版、计数器断点、能力支持不完整、多重原因的记账顺序、未锚定的流,以及服务基线变化,都能让一个算术上成立的差值失去原有语义。
- 自动化改变转发前,观测值应属于一个仍有效的“意图周期”:它把同一段计数器寿命与策略版本、服务承诺、适用范围、可执行动作、影响上限和回滚责任绑定。这是 Daniel Kade 的运营治理建议,不是 IETF 要求或 YANG 字段。
分类树改善的是观测,不是授权
传统接口计数器擅长报警,却不擅长解释。ifInDiscards 上升,只说明输入方向有包没被继续处理;ifInErrors 在不同实现里甚至可能统计不同对象。厂商命令通常能给出更细的原因,但名称、层次和多个原因同时出现时的记账顺序未必一致。
draft-ietf-opsawg-discardmodel-16 要修补的正是这层观测语义。该文件目前仍是活跃的 OPSAWG 工作组互联网草案,已进入 RFC Editor Queue,但尚不是正式 RFC。它为二层帧与三层包建立信息模型和 YANG 数据模型:观测点可以是控制平面、接口、流或整台设备;方向可以是入站或出站;原因再分为错误、策略和无缓冲等分支。策略丢包包含 ACL、限速器、反向路径检查、DoS 防护与显式空路由;错误分支包含帧损坏、头部问题、MTU、TTL 到期、无路由与内部故障。
这比一个总数强得多。草案要求同一上下文中的一个包只能被计入一次;当一个包可能同时符合多个原因时,实现必须让记账顺序没有歧义,并应公开这种顺序。于是,计数值可以成为更可靠的证词:哪台设备、哪个方向、哪一层处理路径作出了不转发或不本地交付的最终判断。
但证词不是命令。分类树没有携带安装 ACL 的变更单,没有记录限速器背后的客户合同,也不知道备用链路还有多少容量。它能说明设备把丢包归入哪条路径,不能说明组织是否授权下一步动作。
“策略丢包”不等于“策略正确”
ACL 计数上涨,证明流量匹配了已生效的规则。它不能证明这条规则就是负责人想要的规则。拒绝恶意流量时,丢包是预期结果;前缀写错、例外遗漏或旧配置未清理时,同一个计数器记录的却是有效业务被误杀。机制相同,正当性相反。
拥塞也没有天然答案。尽力而为队列的少量无缓冲丢包,可能仍在服务目标内;受保护业务持续超过阈值,则可能必须扩容或改路。TTL 到期在低基线附近可能只是 traceroute,短时突增可能对应收敛,长时间突增才更像环路。草案因此要求把类别与本地策略、已配置意图、基线、持续时间、影响范围、服务上下文及其他证据结合起来。
附录里的“预期/非预期”与处置映射只是示例,不是某类丢包的规范属性。自动化若把“policy”解释成“无需处理”,会漏掉错误配置;若把“error”一律解释成“立即摘除设备”,又可能把流量推到已经拥塞的路径。更细的分类缩小了诊断空间,却没有替运营者承担判断责任。
最危险的差值可能算得完全正确
自动化通常不看计数器的绝对值,而看两个采样之间的差、单位时间速率或相对基线的偏移。因此,它必须先证明两个采样属于同一段有意义的历史。
设备重启、线卡更换、进程复位和采集缺口都可能造成计数器断点。草案明确要求聚合计数能处理底层计数器的不连续。能力本身也会漂移:YANG Library 可以表明某项功能是否受支持,但实现即便支持某项功能,也可能没有填充其中每个叶节点。两个平台暴露相同路径,并不自动意味着数据覆盖程度相同。
配置变化带来的断裂更隐蔽。某个 ACL 计数器在换版前后可以保持单调递增,存储层看起来毫无断点;可换版前它对应策略 A,换版后对应策略 B,匹配范围和例外已经不同。两次数值相减在数学上正确,在意图上却跨越了两套制度。
反过来,线卡重启让计数器归零,并不表示业务问题已经消失。若自动化把零当成恢复证据,它就把存储寿命误当成服务寿命。可信的处置至少需要两只钟:计数状态从何时开始,以及约束它的运营意图从何时开始。
草案还指出,设备指标无法独自识别“本来应属预期的丢包是否因配置错误变成非预期”。需要部署前验证,或者把配置变化前后的 ACL 丢包显著变化作为上下文。若样本没有绑定具体配置版本、基线与计数器寿命,这种前后比较也会失去依据。
用意图周期切断权限继承
“意图周期”是一个有限时间段:一份已声明的服务意图、一个相关策略或配置版本,与一段可解释的计数器寿命同时有效。它不是事故后补写的时间戳,而是自动化获得行动许可的基本单位。
周期开始时,应记录设备或逻辑网络元素、接口或控制平面范围、方向、协议层和完整丢包路径;同时注明模型版本、受支持功能、实际填充的计数器和丢包原因排序。记录还要包含基线、采集间隔、断点证据与观测时间。若动作依赖流级数据,还必须说明流怎样被唯一锚定;草案让流分类与接口、设备分类对齐,却有意不规定底层怎样标识流。
另一半属于组织治理:当前配置与策略版本、变更单、激活时间、服务负责人、适用 SLA 或正常基线,以及速率、持续时间和影响范围阈值。最关键的是动作边界。无缓冲丢包触发器可以被允许把限定比例的流量移向已经验证容量的路径;接收错误可以在第二种独立信号确认后隔离一个成员;策略丢包可以只报警,不得自动删除安全策略。每项动作都应有冷却时间、影响上限、回滚条件和升级责任人。
计数器发生断点、策略或配置激活、SLA 或基线变化、功能覆盖漂移、采集缺口、接口改属、原因排序变化或责任人移交时,旧周期立即结束。之后的样本仍可能是真实遥测,但不能悄悄继承旧周期的行动权限。
这种边界阻断两类常见错误。第一类是陈旧许可:昨天批准的自动处置继续作用于今天的新策略。第二类是假连续:采集器把重启或实现变化当成一段完整历史。意图周期为两者设置明确停止点,又不要求数据平面中的每个包等待中央审批。
相关性增强证据,不扩大权力
草案希望运营者把接口或设备计数器与流记录关联,从而知道哪些业务受损。但信息模型不定义流本身的识别方式,并要求未来流模型把结构锚定到无歧义的流。缺少这个锚时,自动化不应从一个宽泛的接口事件直接推导出客户级处置。
更多数据源也不会自动增加授权。计数器、流记录、配置差异和拓扑快照可以共同提高诊断置信度,却没有任何一项单独决定能否移流、摘除链路、回滚配置或把事件交给人工。证据可以累积,权限仍由事先审查过的动作边界限定。
这是因为示例动作都可能改变故障域。摘除拥塞设备可能加重其他链路负担;移流会改变时延和容量分布;回滚可能在恢复可达性的同时恢复旧漏洞;把设备重新投入服务可能重新引入原故障。一个准确类别能选出可能的处置分支,无法替所有后果定价。
读取计数器本身也是控制面
数据模型中的运行状态为只读,并对相关容器使用 NACM default-deny-all。这不是旁枝。细颗粒丢包数据可能暴露攻击和错误配置;能注入流量又能观察策略计数上涨的攻击者,可以据此调整试探方式。
因此,意图周期还应记录由哪个采集器、以哪个身份提供观测。安全传输、双向认证和访问控制保护读取过程,但它们不能证明样本完整、新鲜,或仍受正确策略约束。认证回答“谁送来证据”,周期回答“这份证据被允许支持哪种决定”。
成功不是把丢包降到零
部分丢包本来就在执行安全、服务等级和资源保护。成功也不是让每个异常都由机器自行处理;证据或权限不足时,升级给人本身就是正确动作。
更可辩护的目标是:每一次自动变更都能回溯到同一个有效周期中的观测;类别、范围、速率与持续时间确有支持且被实际填充;策略和服务基线仍有效;动作未越过预授权边界;必要时完成独立核验;收尾证据说明变更为何保留、撤销或交给人工。
第 16 版草案提供了这份记录的前半部词汇。后半部必须由运营者补上。丢包计数器能说包停在哪里;只有有限的意图周期才能说明网络是否仍有权移动。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
