TSN的概述
为了简洁明了,此笔记不再介绍TSN的背景知识。
由于通信主体的演进,各个业务对于时间敏感程度愈加严格。为了构建一个统一的
数据链路层
协议,通过标准化使其在不同的领域都可以同构运行,提供实时数据的传输保障。
时间敏感网络(TSN)是以标准以太网为网络基础、提供确定性信息传输的标准化技术,通过时间感知的调度机制最小化抖动,并且为时间敏感应用提供可靠的数据传输保障。
时间敏感网络是一个
二层网络技术
(数据链路层),其数据转发依靠以太网的分组头部信息,数据帧的负载信息不受上层网络协议的限制,所以时间敏感网络可以根据需求部署在任何使用以太网技术的网络环境中。
时间是TSN的主要专注点,其旨在提供一种机制来确保信息能够在一个确定的、可预测的时间范围内完成源目的节点之间的传输,TSN具有以下目标:
- 针对交换网络的报文时延得到保障;
- 时间敏感数据流和非时间敏感数据流可以混合传输,并且非时间敏感数据流的传输不会影响时间敏感数据流的传输时延;
- 多种高层协议可以共享网络基础设施,即多种协议的负载可以同时在网络中传输;
- 网络错误可以通过源头获得精确的信息,从而快速地确诊和修复。
时间敏感网络的协议及说明
TSN 处于 OSI 七层模型的数据链路层,以处理数据的调度、以太网数据帧的封装与分组任务
。发送者的数据传输至接收者需要经过若干节点,其中每个节点都有对应的数据队列和同步时钟,而每个节点都根据分布式时钟进行时间同步计算,通过队列处理数据的优先级,包括快速通道方式和抢占机制等。
接下来从
时间同步
、
调度
、
流量整形
、
流预留
等方面对TSN及其相关标准作进一步解释。
时间同步(IEEE 802.1AS)
TSN使用
IEEE 802.1AS 广义精准时间同步协议(gPTP)
,该协议基于 IEEE 1588V2 产生,提供全局精准时间同步,是PTP的特定配置文件。IEEE1588 ,全称网络测量和控制系统的精密时钟同步协议标准,又称精确时间协议(PTP),主要用于以太网和分布式网络的各节点的时钟同步。
IEEE1588V2 是PTP协议的第二个版本。IEEE 802.1 AS并非IP路由的协议且完全基于二层网络,但是其工作模式与 PTP 协议保持一致。
gPTP与PTP的同步机制类似,利用最佳主时钟算法(BCMA)在网络中选择主时钟并建立同步时钟树,然后利用对等路径时延测量机制计算主从时钟端口间的时间误差来进行同步。
调度与流量整形
不同类别的流量对网络的可用带宽和端到端时延有不同要求,调度和流量整形使得不同类别的流量在同一网络上得以共存。
流识别 IEEE 802.1Q
TSN设备必须准确区分时间敏感流与其他流。
IEEE 802.1Q
标准描述了识别和区分时间敏感类型与其他类型流量的基本原理。** IEEE802.1Q **标准中使用了8个不同级别的优先级,这些优先级分别用来标记网络流量的重要程度。
拓展:在传统以太网交换中,如果一个交换机已经开始在其一个端口上传输以太网帧,即使是最高优先级的帧也必须在交换机的缓冲区内等待正在传输的帧传输完成。由于这种以太网交换机内的缓冲效应,端到端传递时延的非确定性是无法避免的。
以太网帧结构和 IEEE 802.1 VLAN 标记如图 2 所示,以太网帧头中 IEEE 802.1Q VLAN 标签内的优先级代码点(PCP)字段和 VLAN 识别符(VID)定义了TSN 流的标识。PCP 字段和 VID 是根据与流关联的应用程序分配的。
门控制调度 IEEE 802.1Qbv 排队与转发
为了可靠和及时的信息交付,TSN工作组在 IEEE 802.1Q的基础上提出了
IEEE 802.1Qbv
标准。
IEEE 802.1Qbv
标准中定义了
时间感知调度器
,旨在优化以太网帧的传输优先级,保证信息在规定时间内送达。
时间感知调度
的基本思想是
采用时分多址(TDMA)
,将以太网的通信分为固定长度、重复的时间片,称
为周期;每个周期又划分为多个更细粒度的时间片,称为时间槽。每个时间槽可以分配给 8 个以太网优先级中的一个或多个,即在特定时间段内形成了
虚拟通信信道
,使特定的实时数据能够在非实时数据负载中穿插传输,减小了其他突发或异常的发送请求对实时数据传输的影响。
**IEEE 802.1Qbv **标准约束下的通信设备需要时间同步,并且要配置相同的调度表,即所有的设备都了解每个时间槽应该发送什么优先级的流量帧。**IEEE 802.1Qbv **调度示例如图3所示。
在该示例中,每个周期被分成两个时间槽,时间槽 1 规定只能传输优先级为 7 的流量,时间槽 2 可以传输其他优先级的流量,并且在时间槽 2 内流量的帧的发送将严格按照优先级来处理。
但是该种模式存在明显的缺陷,比如,假设在某周期时间槽 2 的某一个时间点传输的帧较大且传输过程不允许中断,即无法在该时间槽内传输完成,则会占用下一周期的时间槽 1。这就造成了类似传统以太网交换机中的缓冲效应,实时数据的传输可能会延迟甚至失败。为解决这一问题,TSN 工作组又在此基础上提出了
保护带机制
。带
有保护带的 IEEE 802.1Qbv 如图 4 所示。
在每个周期结束前设置规定一个时间段,称之为保护带,通过这一操作来确保在周期切换中不存在有帧正在传输的现象。规定在保护带内,不允许有新的帧开始传输,但是在保护带前已经开始传输的帧可以在保护带内继续完成传输工作。如果端口无法确认下一帧的传输时间,则保护带的时长应足够覆盖当前链路中最长帧的传输时长。
待补充。。。