返回学习路径

learn

stream contract:一条关键流应该怎样被描述

从 talker、listener、周期、帧长、截止时间和路径需求理解 802.1Qcc 的流级视角。

第七章:流级配置编排资源IEEE 802.1Qcc18 分钟

first read

先抓住结论

一条关键流要带着需求进入整条路径的资源规划。

这节主要调哪些参数

  • 关键流数量

    需要同时规划和下发配置的流规模。

  • 路径设备数

    一条流需要跨过多少设备才能到达 listener。

  • 流量契约完整度

    周期、最大帧长、deadline、冗余和优先级是否被明确描述。

本节学习目标

  • 理解关键流需要被描述成 talker、listener 和需求集合。
  • 知道流量规格是调度、整形和验证的输入。
  • 能把 flow model 对应到实际配置对象。

建议先读

核心概念

talkerlistenertraffic specificationdeadlineadmission

本章目录

  1. 01stream contract:一条关键流应该怎样被描述从 talker、listener、周期、帧长、截止时间和路径需求理解 802.1Qcc 的流级视角。
  2. 02CUC 与 CNC:需求侧和网络侧各负责什么理解 802.1Qcc 集中式模型里的 CUC/CNC 分工,避免把应用需求、网络规划和设备下发混在一起。
  3. 03集中式配置:为什么端到端一致比单点正确更重要理解 CNC/CUC 式集中规划如何减少路径配置漂移,以及它对拓扑、设备能力和状态反馈的依赖。
  4. 04准入控制:网络什么时候应该拒绝一条新流理解 Qcc 不只是下发配置,还要判断新增关键流是否会破坏已有流的时间、带宽和可靠性边界。
  5. 05路由与调度耦合:路径选错会让排表变难理解 Qcc 中路径选择、Qbv 调度、FRER 冗余和资源预留互相影响,不能把路由和排表完全分开。
  6. 06配置漂移与状态反馈:控制器算对了还不够学习 Qcc 落地时最容易忽略的问题:设备是否真的应用配置,版本是否一致,失败是否被反馈。
  7. 07部署与回滚:配置失败时网络要进入可解释状态学习 Qcc 配置上线时如何处理分批下发、部分失败、回滚、安全状态和验证窗口,避免自动化配置造成不可控中间态。

parameter insight

关键参数与横向比较

把单点配置升级为端到端一致的配置结果。

关键流数量

需要同时规划和下发配置的流规模。

少量流可以人工追踪;流数量上升后局部配置漂移更常见。

决定是否需要集中编排、准入控制和状态反馈。

路径设备数

一条流需要跨过多少设备才能到达 listener。

短路径配置面少;长路径更容易出现队列、窗口或资源不一致。

放大配置一致性和验证成本。

流量契约完整度

周期、最大帧长、deadline、冗余和优先级是否被明确描述。

契约缺项会导致排表假设漂移;契约完整才能做准入判断。

影响 CNC 是否能给出可信路径和配置。

单点配置 vs 集中编排

单点配置快,但很难证明路径一致。

集中编排成本更高,但能统一处理资源、路径和回滚。

Qcc 的价值是减少端到端配置漂移。

解决什么问题

TSN 不是只配置端口,而是保护具体的流。一条关键流从哪个 talker 发出,送到哪些 listener,周期多长,最大帧多大,截止时间是多少,能走哪些路径,是否需要冗余,这些信息都必须被描述清楚。

stream contract 这个说法强调:网络不能只知道“有关键流量”,还要知道这条流的身份和需求。没有清晰输入,调度算法无法计算,交换机无法一致配置,测试报告也不知道该验证什么。

背景与直觉

把 stream contract 想成工程任务单。任务单里要写清楚发件人、收件人、货物大小、发货频率、最晚到达时间和特殊保护要求。没有任务单,仓库和运输系统只能凭经验处理,自然无法承诺严格边界。

TSN 的流级配置也是这样。优先级、队列、窗口、路径和冗余都应该服务于某条具体流,而不是孤立存在。

怎么解决

描述一条关键流时,至少要关注六类信息。第一是端点:talker 和 listener。第二是流量规格:周期、帧长、突发和速率。第三是时间需求:最大延迟、抖动容忍和截止时间。第四是路径和资源:经过哪些 bridge、需要哪些队列和带宽。第五是保护需求:是否需要复制、多路径或故障恢复。第六是验证目标:最终要测哪些指标。

这些信息可以被集中式控制器、配置工具或人工流程使用。无论形式如何,关键是整条路径上的设备要对同一条流有一致理解。

字段为什么重要写错后果
周期/发送间隔决定窗口重复和带宽窗口过少或资源过保守
最大帧长决定发送时间和 guard band窗口预算不足
deadline决定端到端约束调度目标不明确
listener 集合决定分发路径漏配某个接收端
冗余需求决定是否复制和多路径故障连续性无法证明

带来了什么新问题

流描述不准确会直接导致配置失效。周期估小了,调度窗口不够;帧长估小了,发送时间不够;listener 变化了,路径资源可能不足;业务升级后流量模型改变,旧配置可能不再成立。

因此 stream contract 不是一次性文档,而应该随系统演进维护。现场变更、设备替换和软件版本升级都可能影响它。

检查点

  • 为一条 1ms 周期、最大 300B、要求 250us 内到达的控制流写出最小 contract。
  • 如果最大帧长实际是 800B,但 contract 里写 300B,会影响哪些预算?

掌握检查

读完本节后,先用下面这些问题校准自己,而不是只确认“看过了”。

  1. 1能为一条 1ms 周期控制流写出最小 contract。
  2. 2能解释周期、最大帧长、deadline 写错会分别影响什么。

next steps

读完这一页,下一步可以这样走。