车载以太网 TSN 入门篇
开始介绍之前,我们先简单了解一下背景。提到TSN,就绕不开IEEE 802.1 Working Group,此工作组负责 IEEE 802.1 一系列标准的制定,其内容包含 IEEE 802 局域网/城域网架构、局域网/城域网和其他广域网络下的互连问题、网络的整体网络管理以及 MAC 和 LLC 层之上的上层协议。这里的上层协议,指的就是TSN的一系列机制,现在常见的车载以太网均使用Ethernet II帧,没有802.2 LLC层,所以我们可以简单的理解成TSN为基于数据链路层或MAC层的协议。听起来比较复杂,其实关于车载以太网,我们只需要知道TSN的相关标准是由IEEE 802.1定制和维护的就行了。
下图为IEEE 802.1和IEEE的logo,IEEE还挺好看的,但802.1的不得不说比较丑。
目前,IEEE 802.1共有六个主要的Task Group(TG):
— Time-Sensitive Networking(TSN)TG
— Security TG
— OmniRAN TG
— Maintenance TG
— YANGsters
— IEEE 802 “Network Enhancements for the Next Decade” Industry Connections Activity (NENDica)
其中和TSN相关的有两个,TSN和Maintenance:
1. Maintenance TG: 负责维护和修订已经发布的802.1标准。如发现之前发布的标准有错误、不完善、或者随着技术的发展已经不适用,Maintenance TG会对这些标准进行更新或者修订。当前正在进行的课题有:
802.1ACct —— 用于支持 IEEE Std 802.15.3(非车载)
802.1Q - Rev —— 802.1Q - 2018 的修订版
802.1AS - 2020/Cor1 —— 对 802.1AS - 2020 进行勘误
802.1BA - Rev —— 802.1BA - 2011 的修订版
2. TSN TG: 负责制定IEEE 802网络确定性传输服务的标准。通过一系列的传输和转发机制保证数据包在传输过程中的低延时、低抖动和低丢包率,从而使数据可以在高可靠性的前提下进行快速传输,比如车辆的制动控制、自动驾驶等应用场景。我们今天介绍的主要内容均出自TSN TG。
剩下几个TG因为和车载以太网的关系不是很大,在这我们就不展开介绍了。
TSN的由来
很多同学都听说过AVB,那AVB和TSN又是什么关系呢?我们上面提到了六个 Task Group,其实在2012年11月之前,IEEE 802.1工作组还有一个Task Group叫 Audio/Video Bridging task group,也就是我们熟知的AVB,但随着标准的制定完成和工作范围的调整,这个Task Group的名字也随之改成了TSN,这就是为什么经常有人说TSN是第二代AVB或者AVB升级版的原因。关于AVB的相关机制和标准我们以后有时间会专门详细的介绍,这里不多赘述。
TSN简介
下面简单介绍下TSN的大致内容,在TSN的标准中,根据内容的不同,大致可分为配置类(Profiles)和基础技术类(Base technology),TSN TG称技术类为TSN组件(Component)或TSN工具箱(Toolbox),目前TSN已经发布的部分标准大致可分为工业领域、汽车领域和移动领域。
其中汽车领域涉及的配置类标准有两份,分别是:
IEEE 802.1BA – Audio Video Bridging(AVB)Systems
定义了AVB系统中的AVB bridge,AVB end station等节点的功能、配置方法和协议该如何实现。
IEEE P802.1DG – TSN Profile for Automotive In-Vehicle Ethernet Communications
定义了车载以太网TSN网络整体在安全性、实用性、可靠性、可维护性和传输延时等方面的具体要求。(标题为P开头的标准为正在进行的课题,802.1DG还未正式发布)
汽车领域涉及的基础技术类标准如下图:
TSN可大致分为四个模块,分别是时间同步、可靠性、低延时和资源管理。其中资源管理中的标准不需要全部使用,在车内网络中不需要全部实现,车内网络中所传输的数据为已知的,我们可以通过计算去获取交换网络中多个节点在数据并发时所需的传输带宽并静态配置,而不使用动态预留的Stream Reservation Protocol(802.1Qat,AVB中的流预留协议)协议。另一个资源管理中的协议802.1Qcc,全称为Stream Reservation Protocol(SRP)Enhancements and Performance Improvements,虽然名称为增强型SRP,但内容还是SRP和FQTSS,并且最新修订版已经被整合至802.1Q-2018,个人认为比较有价值的部分为TSN Configuration章节,当搭建TSN网络时可以进行参考。所以现在提到802.1Qcc,有的时候使用的名字是TSN Configuration,而不是SRP Enhancements。
TSN标准
下面我们来具体介绍这些TSN组件的标准:
1. IEEE 802.1AS : IEEE Standard for Local and Metropolitan Area Networks — Timing and Synchronization for Time-Sensitive Applications
时间同步协议,也就是大家熟知的gPTP协议(Generalized Precision Time Protocol),用于同步节点之间的时间。
注:所有IEEE 802.1 TSN标准的完整标题中都包含IEEE Standard for Local and Metropolitan Area Networks的字段,为了提高可读性,后文出现的标准名称中会将此字段省去。
2. IEEE 802.1Qbu : Frame Preemption
Qbu提供一种以太网帧的抢占传输机制,将以太网帧分为可抢占帧(preemptable MAC)和快速帧(express MAC)。在可抢占帧传输的过程中,快速帧可将其打断并直接开始传输,从而降低快速帧的传输延时。此机制需配合IEEE 802.3br:Specification and Management Parameters for Interspersing Express Traffic,通过特定的MAC帧头格式来实现。
3. IEEE 802.1Qbv : Enhancements for Scheduled Traffic
Qbv为TSN网络低延时的核心工具,也就是我们熟知的Time-aware Shaper(TAS,时间感知整形器),和AVB中Credit-based Shaper(CBS,基于信用的整形器)不同,是一种基于时间感知的整形方法。利用时间表、VLAN优先级和“门”的概念,实现计划流量的低延时转发。
4. IEEE 802.1Qch : Cyclic Queuing and Forwarding
CQF,周期循环队列转发,也称为蠕动整形器(Peristaltic Shaper),和CBS、TAS等整形类似,CQF也是一种整形方法,通过两个列队的周期循环转发,使延时时间不受网络拓扑和干扰流量的影响,仅和循环周期及hop次数相关,实现确定延时数据的转发。
5. IEEE 802.1Qci : Per-Stream Filtering and Policing
PSPF,TSN中安全机制的工具,可以针对不同的数据流、优先级等参数进行过滤和管理,避免网络攻击和流量过载等异常情况的发生。
6. IEEE 802.1Qcr : Asynchronous Traffic Shaping
ATS,异步流量整形器,利用UBS(Urgency-Based Scheduler)提供了一种可解决周期性和非周期性混合数据传输的整形方法,解决数据拥塞问题,并提高带宽的使用率。ATS不要求网络节点之间的时间同步,而是使用各自的本地时钟。
7. IEEE 802.1CB : Frame Replication and Elimination for Reliability
FRER,提供了一套冗余机制,通过将所传输数据帧进行复制与消除,保证TSN网络传输的可靠性。
下图为每个机制最新标准的版本情况:
其中Qbu、Qbv、Qch和Qci的最新修订版均已被整合至802.1Q-2018。
TSN标准的命名方式
因为标准比较多,容易混淆,这里简单介绍一下IEEE 802.1标准的命名方式:
标题为大写字母的为独立标准——
如802.1Q,802.1CB
标题包含小写字母的为修订章节——
如802.1Qbu,802.1Qbv
修订章节会被定期整合至独立标准中——
如802.1Qbv-2015和802.1Qbu-2016就是802.1Q-2018的一部分