TSN概念
今天,跟一位大牛闲聊的时候,被TSN问题问倒了,抽空就查阅了资料,有种如获至宝的感觉。
TSN是Time-Sensitive Network的英文缩写,顾名思义,就是时间敏感网络。这个词,全部听完,今天应该是属于第一次,以前偶尔去听一些峰会的时候,会听到一些实时网络相关的概念,并没有过多的在意。最近有了一个需求,就是边缘盒子与PLC之间的联动问题,要求实时性,跟大牛聊到这一块,发现了TSN原来已经发展很久了。它主要用于指导和开发低延迟、低抖动,并具有传输时间确定性的以太网局域网,是传统以太网在汽车等特定应用环境下的延伸。
TSN的认知
TSN系列规范主要有四部分:时间同步、调度延时、可靠性、资源管理。 时代在进步,技术也在不断迭代,最新的TSN版本,增加了时钟冗余和时钟传输路径冗余的功能,这对无人驾驶技术的研究提供了网络安全传输的统一解决方案,这一点,很赞呢。
调度延时这一点上,也是很有特色的,利用GCL(Gate Control List门循环列表)控制每个队列的开关时间窗口,来实现时间感知整形器TAS(Time-aware Shaper)的功能。同时通过灵活的配置实现不同延时需求的调度规则集合,进而对应不同优先级帧的最大传输延时保证来实现传输延时确定性和带宽的稳定性。
这里我有一个疑问是,如何处理报文碎片呢?牛人就是牛人,设计的时候早就考虑到了,802.1Qbv这里预留了一个Guard Band,长度最大可配置为一个标准以太网帧的MTU大小,大概是1500字节,大概是12.5微秒的样子,这个窗口,主要是确保每个时间片的报文都能传输完成。在这个基础上,又做了优雅的优化,设计引入了802.1Qbu规范,将数据帧分为可被抢占帧(Preemptable Frame)和快速帧(Express Frame),这个抢占规则是通过优先级完成的,高优先级的帧可以对低优先级为传输完成的帧进行抢占发送,以减少传输延迟,抢占一般设置的长度是128字节,即使抢占成功,也必须等待被抢占帧传输万128字节才能对快速帧进行抢占发送,等快速帧发送完成后,再对被抢占帧未发送完成的部分进行发送。这个设计,也是很巧妙的。
可靠性,主要是利用的交换机硬件的报文复制功能以及硬件传输链路中实时可靠性数据备份,和交换机硬件的对特定协议复制帧的重复消除来实现的,可以做到10微秒的延时,非常好的满足了高实时高可靠性的应用场景。利用硬件冗余通道来保持实时数据备份,可以将需要备份的数据实施保留在通信线路中,提供硬件线路和软件流量的双重备份,能够有效地提升通信的功能安全等级。
这技术的实现,对于现在在发展的新能源汽车,智能汽车等实时性要求高、可靠性要求高的场景来说,有了强有力的支撑,在这个上面可以做很多技术的衍生,已经远远超出了物联网、车辆网等新时代概念的范畴,令人佩服。