第297篇:确定性网络(802.1Qbv/TSN)入门
关键词
TSN、时间敏感网络、IEEE 802.1 标准族、802.1Qbv、门控调度、802.1Qbu 帧抢占、802.1CB 冗余、802.1Qci 流过滤、确定性时延
一、什么是确定性网络
1.1 确定性网络的定义
确定性网络(Deterministic Networking)提供有界时延、低抖动、零丢包的通信保障:
传统以太网 vs 确定性网络:
传统以太网:
┌──────────────────────────────────────────┐
│ 数据包到达 ──► 队列 ──► 按优先级发送 │
│ ┌─ 时延不确定(取决于其他流量) │
│ ├─ 抖动大(排队时间不同) │
│ ├─ 可能丢包(队列满溢出) │
│ └─ 无法预测最坏情况时延 │
│ │
│ 示例:端口 1Gbps,10 个流,每个 100Mbps │
│ 瞬时 5 个流同时发送 → 队列拥塞 │
│ 时延从 100μs 到 10ms 不等 │
└──────────────────────────────────────────┘
确定性网络(TSN):
┌──────────────────────────────────────────┐
│ 数据包到达 ──► 门控调度 ──► 精确时间发送 │
│ ┌─ 时延有上界(最大时延可知) │
│ ├─ 抖动极小(门控精确控制) │
│ ├─ 零丢包(带宽预留) │
│ └─ 最坏情况时延可计算 │
│ │
│ 示例:端口 1Gbps,10 个流,每个 100Mbps │
│ 为每个流预留带宽和时隙 │
│ 时延:固定 200μs(无论其他流如何) │
└──────────────────────────────────────────┘
1.2 应用场景
确定性网络典型场景:
工业控制:
┌─ 生产线的运动控制周期:< 100μs
├─ 机器人关节控制:< 1ms
└─ PLC 之间的同步:< 10μs 抖动
汽车自动驾驶:
┌─ 激光雷达数据传输:< 1ms
├─ 刹车/转向控制:< 100μs
└─ 传感器融合:同步精度 < 1μs
车载网络:
┌─ 信息娱乐(尽力而为)+ 控制(确定性)
└─ 同一条物理线缆承载
专业音视频(AoE):
┌─ 专业音频:< 1ms 同步
├─ 直播视频:帧级精确
└─ 演播室制作
TSN 解决的共性需求:
同一条网络同时承载 确定性流量 + 尽力而为流量
且它们互不干扰
二、TSN 标准体系
2.1 IEEE 802.1 TSN 标准族
TSN(Time-Sensitive Networking)是 IEEE 802.1 的工作组标准族:
时间同步 802.1AS-2020: gPTP(通用精确时间协议) ┌─ 全网纳秒级同步 └─ 基于 1588v2,增强 TSN 场景 调度与转发 802.1Qbv: 时间感知整形(TAS) ┌─ 门控调度:精确时隙发送 └─ 确保确定性时延 802.1Qbu: 帧抢占(Frame Preemption) ┌─ 低时延帧可中断长帧 └─ 减少低优先级帧的阻塞 802.1Qch: 循环排队转发(CQF) ┌─ 交替收发缓冲区 └─ 简化确定性保证 流管理 802.1Qci: 流过滤与监管 ┌─ 基于流的速率限制和整形 └─ 防止非确定性流量冲击 冗余 802.1CB: 帧复制与消除(FRER) ┌─ 多路径发送相同帧 └─ 消除重复,零丢包 配置管理 802.1Qcc: TSN 配置管理协议 ┌─ 集中式/分布式配置模型 └─ YANG 模型统一管理
2.2 802.1Qbv 时间感知整形
802.1Qbv(Time-Aware Shaper, TAS)——TSN 的核心调度机制:
| 门控列表(Gate Control List, GCL) 时间线: ──┬────┬────┬────┬────┬────┬────┬─────── └────┴────┴────┴────┴────┴────┴── 队列 7(高优先级=控制流) T0:开 T1:开 T2:开 T3:开 T4:开 T5:开 ── 控制流量随时可发 队列 5(时间敏感流) T0:开 T1:关 T2:开 T3:关 T4:开 T5:关 ── 只在特定时隙发送 队列 0(尽力而为流) T0:关 T1:开 T2:关 T3:开 T4:关 T5:开 ── 在时间敏感流不发时发送 门控列表示例: ┌─────┬──────┬──────────────────────┐ ├─────┼──────┼──────────────────────┤ └─────┴──────┴──────────────────────┘ 循环周期:30μs 时间敏感流保证:12μs/30μs = 40% 带宽 | T0 T T0 T1 T2 T3 T4 T5 | T1 Time 0μs 5μs 15μs 17μs 27μs 29μs | T2 Gate State (8 队列) 11111111 (全开) 10000000 (仅队列7) 10100000 (队列7+5) 10000000 (仅队列7) 10100000 (队列7+5) 10000001(队列7+0) | T3 | T4 | T5 | |
|---|---|---|---|---|---|---|---|
三、802.1Qbu 帧抢占
3.1 帧抢占原理
帧抢占(Frame Preemption, IEEE 802.1Qbu):
问题:长帧(1518 字节 @1Gbps ≈ 12μs)阻塞高优先级短帧 解决:允许打断正在发送的长帧,优先发短帧
| 无帧抢占: ┌──────────────────────────┐ ┌────────┐ └──────────────────────────┘ └────────┘ 短帧被延迟 12μs 加上排队时间 有帧抢占: ┌──────────┐ ┌────────┐ ┌────────────┐ └──────────┘ └────────┘ └────────────┘ 短帧几乎无等待 MAC 层要求支持可抢占 MAC(pMAC) 和可被抢占 MAC(eMAC) | 长帧(1500 字节) 正在发送... ←── 12μs 发送时间 ──→ 长帧前半 发送中 | 短帧(64) 等待中 短帧优先 立即发送 | 长帧后半 继续发送 | |||
|---|---|---|---|---|---|---|
3.2 802.1CB 帧复制与消除
802.1CB(Frame Replication and Elimination for Reliability, FRER):
| 发送端:复制帧 原始帧 ├── 路径 1 ──► 交换机 ──► 交换机 ──► └── 路径 2 ──► 交换机 ──► 交换机 ──► 接收端:消除重复 路径1 的帧 ───┐ ├── 序列号检查 ──► 选择 路径2 的帧 ───┘ 第一个到达 第二个到达的 → 丢弃 效果: ┌─ 任一路径故障 → 业务不中断 ├─ 零恢复时间(即时切换) ├─ 零丢包(双发选收) └─ 适用于:工业控制、汽车安全 | |
|---|---|
四、TSN 配置与管理
4.1 流预留
TSN 流预留(802.1Qat / SRP):
流预留流程:
1. 流声明(Talker 发送)
┌─ Stream ID
├─ 带宽需求(帧大小 × 帧间隔)
├─ 时延要求(最大时延)
└─ 优先级
2. 逐跳注册
┌─ 每台 TSN 交换机检查资源是否充足
├─ 预留队列和带宽
└─ 转发声明到下一跳
3. 流确认(Listener 接收)
┌─ 确认路径可用
├─ 预留成功 → 流建立
└─ 预留失败 → 通知 Talker
4. 流维护
┌─ 定期刷新预留
├─ 路径变化时重预留
└─ 释放流时取消预留
4.2 集中式配置(802.1Qcc)
802.1Qcc TSN 配置模型:
| 完全集中式模型(CNC + CUC) ┌──────────┐ └────┬─────┘ ▼ ┌──────────┐ └────┬─────┘ ▼ ┌────────────────────────────────────┐ └────────────────────────────────────┘ | CNC 计算门控列表时考虑: | ┌─ 所有已注册流的时隙分配 | ├─ 路径时延(传播 + 转发) | ├─ 门控循环周期对齐 | └─ 计算最坏情况时延并验证 | CUC (中央用户 配置) 用户-网络接口 (UNI) CNC (中央网络 配置) NETCONF/YANG TSN 交换机群 SW1 ── SW2 ── SW3 Talker Listener ... | 应用层需求 流规范 时延/带宽 网络层计算 门控列表 路径 预留 | | | | | --- | --- | --- | --- | --- | --- |
五、TSN 与 DetNet 的关系
TSN(IEEE 802.1)vs DetNet(IETF):
┌──────────────────────────────────────────┐
| TSN(IEEE 802.1) │
| ┌─ 二层(L2)确定性网络 │
| ├─ 基于以太网 MAC 层 │
| ├─ 802.1Qbv/Qbu/Qci/QCB 等 │
| └─ 适用:工业、车载、音视频 │
| │
| DetNet(IETF Deterministic Networking) │
| ┌─ 三层(L3)确定性网络 │
| ├─ 基于 IP/MPLS 层 │
| ├─ 封装 TSN 到 IP/MPLS 网络 │
| ├─ 端到端跨域确定性(WAN 场景) │
| └─ 适用:5G 承载、工业互联网广域 │
| │
| 关系: │
| ┌─ DetNet 使用 TSN 作为底层技术 │
| ├─ DetNet 在 IP/MPLS 头部封装 TSN 信息 │
| ├─ DetNet 提供 L3 端到端确定性 │
| └─ 两者互补:TSN for LAN, DetNet for WAN │
└──────────────────────────────────────────┘
DetNet 数据面:
┌─ 封装 TSN 流到 MPLS/IP 包
├─ SR-TE 路径编程
├─ 双发选收(冗余)
└─ 资源预留(RSVP-TE / SR Policy)
六、TSN 部署考虑
TSN 部署关键点:
1. 时钟同步优先级最高
┌─ 所有 TSN 功能依赖精确时间同步
├─ 802.1AS gPTP 是基础
└─ 同步精度 < 1μs
2. 网络拓扑规划
┌─ 尽量减少跳数(每跳增加时延)
├─ 避免不对称路径
└─ 支持冗余路径(802.1CB)
3. 门控列表计算
┌─ CNC 综合所有流计算
├─ 每个流必须能按时到达目的地
└─ 最坏情况时延 ≤ 流要求的最大时延
4. 混合流量支持
┌─ TSN 流(时间敏感):门控保护
├─ AVB 流(音频/视频):带宽预留
└─ BE 流(尽力而为):空闲时隙发送
5. 规模限制
┌─ 单域 TSN:< 100 台交换机
├─ 最大跳数:< 20 跳(受时钟同步限制)
└─ 流数量:交换机硬件资源限制
总结
| 关键点 | 说明 |
|---|---|
| 确定性网络 | 有界时延 + 低抖动 + 零丢包 |
| TSN 标准族 | IEEE 802.1 多个子标准 |
| 802.1Qbv | 门控调度(GCL),精确时隙发送 |
| 802.1Qbu | 帧抢占,低时延帧可打断长帧 |
| 802.1CB | 帧复制与消除,零恢复时间冗余 |
| 802.1Qcc | 集中式配置模型(CNC + CUC) |
| TSN vs DetNet | TSN 是 L2 确定性,DetNet 扩展 L3 |
思考
- 确定性网络和传统以太网的本质区别是什么?
- 802.1Qbv 的门控调度(GCL)是如何工作的?
- 帧抢占(802.1Qbu)解决了什么问题?
- 802.1CB 如何实现零丢包冗余?
- TSN 配置的集中式模型(CNC/CUC)是什么?
- TSN 和 DetNet 有什么区别和联系?
下篇预告:第298篇 - TSN 时钟同步:802.1AS gPTP,深入 TSN 的时间同步机制。