开个新专题:TSN(时间敏感网络)。
这个专题第一批讲 gPTP——TSN 家族里最基础、也最容易被低估的一个协议。后面几批会陆续写整形器(Qbv / Qbu)、冗余(802.1CB)这些"确定性"的另一半。但这一切都有个共同前提:全网先得有同一个时间基准。这个基准,就是 gPTP。
这篇先不碰报文细节,把地图画清楚:TSN 是什么、gPTP 在里面的位置、它和 PTP 是什么关系。
一、以太网本来没有"时间"这个概念
传统以太网是尽力而为(best effort)的:报文排队、转发、拥塞丢帧,谁也不知道一个报文到底什么时候能到。延迟是概率问题,抖动更是无从谈起。
但有一类流量等不了:
- 控制类流量:电机同步、机器人关节协同,差几十微秒就可能撞车
- 音视频流:AVB(音频视频桥接)要求各路音频样点对齐,典型预算几百微秒
- 传感器融合:摄像头和雷达的数据要对到同一个时间轴上,才能谈"融合"
TSN 就是 IEEE 802.1 工作组给出的答案:在标准以太网上,通过一组协议,把"确定性的延迟和抖动"做出来。它不改以太网的物理层,全部增强都在 MAC 层以上——所以 TSN 交换机长得和普通交换机一样,只是芯片和配置变了。
二、TSN 协议族:一大家子人
TSN 不是单个协议,是一族。挑核心的列一张表:
| 标准 | 干什么用 | 一句话理解 |
|---|---|---|
| 802.1AS | 时间同步(gPTP) | 全网对表,本文主角 |
| 802.1Qbv | 时间感知整形器 | 按时刻表开关队列门,确定性调度的核心 |
| 802.1Qbu | 帧抢占 | 高优先级报文可以"打断"正在发的小报文 |
| 802.1Qav | 信用整形(CBS) | 给音视频流限速,平滑突发 |
| 802.1Qci | 每流过滤与监管 | 防止一个流氓流量拖垮全网 |
| 802.1CB | 帧复制与消除(FRER) | 报文发两份走两条路,坏一条也不丢 |
| 802.1Qcc | 集中式配置管理 | 由中央控制器统一下发门控时刻表 |
看出来了吗?这一大家子全都挂在"时间"上:
- Qbv 的门控时刻表,本质是一张"几点几分开哪个门"的时间表——表上的"几点几分"用什么表示?用 gPTP 同步出来的时间
- 802.1CB 的复制消除,要判断"哪份报文先到、丢掉重复的",也依赖时间参考
- Qbu 帧抢占里"正在发的报文最多被打断一次、碎片必须在下一个门开之前发完"——这又是一个时间约束
所以 gPTP 是 TSN 的地基:其他协议负责把流量管得服服帖帖,gPTP 负责让全网对"现在几点"达成一致。表不准,时刻表就是废纸。
三、gPTP = 802.1AS,PTP 的"车载精简版"
如果你听过 PTP(IEEE 1588 精确时间协议),那 gPTP 很好理解:
gPTP 就是 IEEE 802.1AS,全称"Timing and Synchronization for Time-Sensitive Applications",是 PTP(1588v2)在桥接网络场景下的一个 profile(裁剪配置版)。
同宗同源,但有几处关键差异,这些差异不是学术洁癖,全是工程妥协:
| 维度 | PTP(1588v2) | gPTP(802.1AS) |
|---|---|---|
| 网络范围 | 各种网络,通用 | 就是给 802 桥接网络设计的 |
| 主时钟选择 | 1588 的 BMCA,字段一大把 | 沿用 BMCA,但数据集字段有删减 |
| 延迟测量机制 | E2E(Delay_Req)或 P2P | 默认走 P2P(链路延迟逐跳测),E2E 可选 |
| 报文间隔 | 可配,1 次/秒到上千次/秒 | 固定档位,同步报文典型 125ms 一次 |
| domain 概念 | 多个 domain 隔离 | 概念保留,实际部署通常一个域 |
为什么要专门裁一个 profile 出来?因为 1588 太自由了——字段可选、机制可选、间隔可调,自由到不同厂商的实现互通不了。而车载/工业场景要求所有节点行为完全一致,于是 802.1AS 把能定的全定死:用什么报文、多久发一次、哪些字段必须是什么值,全规定好。代价是灵活性,换来的是确定性和互操作。
四、gPTP 要"对"到什么精度
这是大家最关心的数字。直接给结论:
- 设计目标:亚微秒级(< 1 µs),典型车载实现全网同步精度在 几百纳秒 量级
- 为什么是纳秒:车载场景下,1 µs 的时间误差 ≈ 车速 100km/h 时约 3cm 的位移误差。传感器融合算法要在同一时刻对齐多路数据,厘米级误差足够让融合结果误判
- 为什么能做到:全靠硬件时间戳 + 链路延迟的显式测量 + 驻留时间逐跳补偿,这三件事后面几篇逐一拆
作为对比,感受一下量级差距:
| 对时方式 | 典型精度 | 用在哪 |
|---|---|---|
| NTP | 毫秒~几十毫秒 | 办公网、日志 |
| PTP(软件) | 几十~上百微秒 | 通用工业 |
| gPTP(硬件) | 亚微秒 | 车载 TSN、音视频 |
差了三四个数量级。这不是优化,是换了一套打法。
五、gPTP 的核心概念速览
后面几篇会逐个展开,这里先混个脸熟:
- GM(Grandmaster,主时钟):全网唯一的时间源头,通常是域控里带 GPS/原子钟参考的那个节点
- BMCA:选 GM 的算法,全称"最佳主时钟算法",一套优先级比较规则——可以理解成时钟界的"选王"
- Sync / Follow_Up:GM 周期性发出的对时报文,把"我这边几点了"告诉全网
- Delay_Req / Delay_Resp:测往返延迟、算偏移的报文对(E2E 机制)
- Pdelay_Req / Pdelay_Resp:逐跳测量链路延迟的报文对(P2P 机制,gPTP 默认)
- correctionField:报文里携带的"时间修正值",交换机每转发一跳,就把自己耽搁的时间(驻留时间)加进去
- BC(Boundary Clock,边界时钟):交换机作为"中转主时钟",向下游重新发 Sync——大规模网络不级联误差的关键角色
六、这个专题的计划
第一批(gPTP 基本原理):
- 本篇——地图:TSN、gPTP、PTP 的关系
- BMCA——gPTP 怎么选主时钟
- 对时数学——Sync 和 Delay 报文的交互,偏移和延迟是怎么算出来的
- correctionField 与驻留时间——交换机为什么会"偷走"时间,又怎么补回来
后面批次预告:Qbv 门控整形(确定性调度)、帧抢占(Qbu)、802.1CB 冗余。
七、结语
一句话总结这篇:TSN 让以太网有了确定性,而确定性建立在时间之上;gPTP 就是给全网发"表"的那个协议。 它不是可选项,是其余所有 TSN 机制的公共依赖。
你们项目里 TSN 落地到哪一步了?是已经在搞 AS2020/802.1AS 的对时,还是刚开始选芯片?评论区聊聊,下一篇讲 BMCA 时可以针对你们的拓扑展开。