前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >传统以太网和时间敏感网络TSN的区别

传统以太网和时间敏感网络TSN的区别

原创
作者头像
武汉利又德科技
发布2024-07-04 15:53:15
1010
发布2024-07-04 15:53:15

    本次利又德的小编分享的内容有点多哦,主要有两部分:传统以太网和时间敏感网络TSN的区别,时间敏网络TSN一帧抢占技术。由于本文即将阐述“时间敏感网络”,因此,为了加以区别,我们将目前大家所熟知的以太网称为“传统以太网”。那么究竟“传统以太网”是如何工作的呢?利又德的小编就来和大家聊聊这个话题。

   “传统以太网”的基本原理

   以太网是当今现有局域网采用的最广泛的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,目前通常使用双绞线(UTP线缆)进行组网。包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)、千兆网(1Gbit/s)和10G(10Gbit/s)以太网。它们都符合IEEE802.3。(注:bps=bit/s)

    以千兆网(1Gbit/s)为例:假如说交换机的端口带宽是1Gbps,则说明每秒可传输1000,000,000个二进制的“位”。大家一定要注意以太网中所有的传输都是串行传输,就是说在网卡的物理端口会在每一个单位时间内“写入”或是“读取”一个电位值(0或1)。那么这个单位时间对于1Gbps带宽来说就是1÷1000,000,000=1ns。如图一所示:

图片
图片

图一

    每8个位(bit)相当于1个字节(Byte)。多个字节(Byte)可以组成一个数据帧。以太网传输数据是以帧为单位的。以太网规定每一个数据帧的最小字节是64byte,最大字节是1518byte。实际上每个数据帧之间还会有一个12字节的间隔。如图二所示:

图片
图片

图二

   如何理解网络带宽?

    正确理解网络带宽是理解“时间敏感网络”的前提。我们先举个例子:如果我们有10个数据流(当然每个数据流中会有成千上万个数据帧),每个数据流的带宽是100Mbps,那么这10个数据流可以通过1Gbps的带宽吗?我们可以用图三来表示吗?

图片
图片

图三

    首先,这种表示方法是错误的。因为正如我们前文所说,网络是串行的,而上图所表示的方法是并行的。这个例子的正确答案是“不一定”。

    如图四所示才是带宽的正确表示方法。在这里,你应该把1G的带宽想象成在理想情况下,可以有包含总数为109二进制位的数据帧在1秒钟通过。通常数据帧都不会占用整个带宽,每一段数据流(包含很多的数据帧)在单位时间内运行,也就是我们所说的每个数据流所占用的带宽。一定要记住,网络中所有的数据帧都是串行通讯。

图片
图片

图四

    想通了这个问题,我们假设如果这10个100M的数据流能够头尾相连,严格按时间顺序排列如图五所示,那么答案是:“可以”。也就是说在理想情况下,这10个100M的数据流可以在1Gbps的带宽下顺利传到对端。

图片
图片

图五

    但大多数情况下,由于带宽通常是由多个设备共享的,这也是以太网的优势所在。而且所有的发送端没有基于时间的流量控制,那么这些发送端永远是尽最大可能发送数据帧。这样来自不同设备的数据流就会在时间上产生重叠,即我们通常所说的冲突。如图六所示,在这种情况下,答案就是:“不行”。因为所有数据流重叠/冲突的部分会遵循QoS优先机制进行转发,一部分的数据包肯定会被丢弃。

图片
图片

图六

    在IT专业里有一个不成文的规定。当某个交换机的带宽占用率超过40%时就必须得扩容,其目的就是通过提高网络带宽来避免拥堵的产生。

   什么是QoS?

   QoS(Quality of Service)即服务质量,它提供了针对不同用户或者不同数据流采用相应不同的优先级,或者是根据应用程序的要求,保证数据流的性能达到一定的水准。

    以太网默认的转发机制叫做“Best Effort”(尽力而为)。也就是说当数据包抵达端口后,本着先入先出的原则转发。当网络的流量稀疏,这本不是一个问题。但在实际环境中,大量的数据包极有可能在一瞬间抵达端口。当然,端口可以在一定程度上缓存并延时转发,但我们一方面是不能容忍过大的延时转发,另一方面交换机的物理端口缓存也非常小,不可能有效解决大量数据包瞬间抵达的问题。这种情况下,我们只能对数据中比较重要或是强调实时性的数据包进行优先转发。这就要依靠QoS来对所有的数据包进行分类和标注,并依据规则来进行较为智能的转发。目前市场上较大多数的需要低延时的实时传输采用QoS这一技术。但QoS能否彻底解决网络拥堵的问题吗?

    由于Best Effort的机制,通常具有一定带宽的一个数据流会在每秒中不同时间段传输,尽管所占用的带宽相等,但在每个时间段上的时间节点却不同。如图七所示,这样在多个数据流共存的时候,就会很容易产生带宽重叠的现象,从而导致丢包。

图片
图片

图七

    我们所希望看到的是每一个数据流都尽可能按照时间顺序排序从而有效避免不同数据流在同一通道中传输时产生重叠,进而提高带宽的利用率。如图八所示:

图片
图片

图八

    我们发现实时音视频流恰好是沿等长的时间间隔发布数据的。比如说:一个24比特48K采样的专业音频通道,每个采样的时间间隔是20.83 µs。如果我们按照每6个采样封装成一个数据包,那么每个数据包的固定间隔就是125 µs。每个数据包是由两个部分组成,数据报头(74字节)+音频通道采样数据(24字节X通道数)。

图片
图片

图九

    为了避免带宽重叠,我们所需要做的就是将几个不同的音频流进行流量整形(Traffic shaping)。以达到提高可靠交付的目的。这里大家要注意,我指的是流量整形而不是流量控制(Traffic Control)。

    比如在一个带宽里,有非实时数据和3个实时数据流。未经整形的带宽,极易产生重叠。

图片
图片

图十

    而经过流量整形每个流所占的带宽会在同一个时间节点。所有的非实时流可以见缝插针提高对带宽的占用率。这就是AVB的基本原理。

图片
图片

图十一

    AVB不仅可以对发送端比如各种音视频设备的网络端口进行流量整形,还可以对交换机中的每个转发节点进行整形。从而确保每个音视频流只占用各自相应的带宽而不对其他数据产生影响。

    由于以太网的发明时间太早,并没有考虑实时信息的传输问题。尽管RTP能在一定程度上保证实时数据的传输,但并不能为按顺序传送数据包提供可靠的传送机制。因此,想要对所有的数据包进行排序,就离不开对数据的缓冲(Buffer)。但一旦采用缓冲的机制就又会带来新的问题—极大的“延时”。换句话说,当数据包在以太网中传输的时候从不考虑延时、排序和可靠交付。这时,建立可靠的传送机制就成了摆在技术人员面前的首要问题。想要解决这些问题,我们可以简要概括成以下几点:

    1. 必须采用基于MAC地址的传输方式即二层传输或是基于IP地址UDP的传输方式,从而减小数据包的开销以及降低传输延时。

    2. 由于二层传输和UDP均不属于可靠交付,因此必须依靠QoS来“尽可能”保障可靠交付。

    3. 所有数据包需要有“时间戳”(Time Stamp),数据抵达后根据数据包头的“时间戳”进行回放。因此各个网络终端设备必需进行“时钟同步”也就是通常所说的时钟校准。

    4. 数据包被转发时需采用队列协议按序转发,从而尽可能做到低延时。

     TSN和 AVB

     很多人听说过AVB,但对于TSN却有些陌生。实际上,IEEE 802.1任务组在2012年11月的时候正式将AVB更名为TSN – Time Sensitive Network时间敏感网络。也就是说,AVB只是TSN中的一个应用。那么TSN究竟有哪些应用呢?

   第一个应用就是我们的专业音视频(Pro AV)。在这个应用领域里强调的是主时钟频率。也就是说,所有的音视频网络节点都必须遵循时间同步机制。

  第二个应用是在汽车控制领域。目前大多数的汽车控制系统非常复杂。比如说:刹车、引擎、悬挂等采用CAN总线。而灯光、车门、遥控等采用LIN系统。娱乐系统更是五花八门,有FlexRay和MOST等目前的车载网络。实际上,所有上述系统都可以用支持低延时且具有实时传输机制的TSN进行统一管理。可以降低给汽车和专业的A/V设备增加网络功能的成本及复杂性。

    第三个应用是商用电子领域。比如说,你坐在家中,可以通过无线WIFI连接到任何家中的电子设备上,实时浏览任何音视频资料。

时间敏感网络TSN—帧抢占技术

时间敏感网络帧抢占技术

    IEEE802.1Qbu标准和IEEE802.3br标准定义了帧抢占技术,该技术旨在降低数据流延迟的同时,最大限度地提升数据链路的有效带宽。帧抢占技术属于OSI七层参考协议中数据链路层的MAC子层,如下图所示。

图片
图片

    其核心思想可概括为高层与MAC子层有两条独立的数据通道,分别传输时间敏感帧和优先级较低的可被抢占帧。时间敏感帧通过MAC子层的eMAC被组帧成mPacket帧格式的数据帧,而可抢占帧通过pMAC进行mPacket帧的组帧。所有mPacket帧均通过数据链路层与物理层之间仅有的一个媒体独立接口与物理层进行数据的交互。

TSN时间片与保护带技术

    基于IEEE802.1AS标准建立全局精确时钟同步。基于IEEE802.1Qbv 标准将全局时间轴划分成多个时间周期,并在每个时钟周期内划分成多个连续的时间片,在每个相同编号的时间片内,仅能传输相同类型的数据帧。通过这种方式对各个流量等级的数据流进行调度传输,以避免传输冲突。保护带技术简单的可理解为:低优先级数据流较大,在时间片2内未传输完毕而占用了时间片1的资源,导致高优先级数据流传输延迟增加,如下图所示:

图片
图片

    因此为应对这种干扰,引入了保护带机制。如下图所示,在保护带内,未传输完毕的数据帧可以继续传输,未开始传输的数据帧必须停止传输,以防止低优先级数据帧侵入时间片1。但是当网络中的数据帧较长时,保护带十分冗长,仍然会存在有效带宽较低的情况。

图片
图片

帧抢占原理

帧格式比较

传统以太网帧格式

图片
图片

IEEE Std 802.1Q帧格式

图片
图片

IEEE Std 802.3br帧格式

图片
图片

    IEEE Std 802.3br帧和传统以太网帧的帧格式主要区别是在数据帧第8个字节。传统以太网帧的第8 个字节用来作为帧起始定界符,IEEE Std 802.3br帧的第8个字节用来判断数据帧类别。

    另外,该协议中还定义了快速帧(eMAC帧)和可抢占帧(pMAC帧),通过第8个字节的帧类别来区分快速帧(eMAC帧)和可抢占帧(pMAC帧)。如其帧格式如下:

eMAC帧格式

图片
图片

pMAC帧格式

图片
图片

    当pMAC帧被eMAC帧抢占时,被抢占的pMAC帧分成pMAC切片帧首帧、pMAC切片帧中间帧和pMAC切片帧尾帧这几部分,三种数据帧格式如下所示:

pMAC切片帧首帧

图片
图片

pMAC切片帧中间帧

图片
图片

pMAC切片帧尾帧

图片
图片

    pMAC切片帧中间帧和尾帧有着相似的帧格式,但使用的循环冗余校验码不同。其中,切片帧首帧和切片帧中间帧使用的是mCRC校验码。当发生帧抢占时,为了保证切片帧首帧和切片帧中间帧的准确性,TSN交换机需要给切片帧添加一个校验字段。为了区别于原数据帧的FCS校验码,新添字段称作mCRC。mCRC计算过程如下:

  • 根据该切片帧数据计算出CRC值,这一步骤与普通以太网帧CRC计算方式相同。
  • 将32位CRC与0x0000FFFF进行异或运算,得到mCRC值。切片帧尾帧使用的是FCS校验码,它的FCS校验码与原可抢占帧的FCS 校验码相同。

帧抢占过程

1.帧抢占验证

    开启帧抢占前交换设备会通过LLDP协议向相邻设备发送验证帧,如果在规定时间内收到相邻设备发来的响应帧,则帧抢占验证成功,可以启用帧抢占功能。如果在规定时间内没有收到相邻设备发来的响应帧,则交换设备会再次向相邻设备发送验证帧,若还是没收到相邻设备发来的响应帧,则帧抢占验证失败,无法启用帧抢占功能。当帧抢占功能验证通过后,数据帧的附加信息将添加到mPacket 头部,描述其抢占特性。

2.帧抢占切片过程

(1)时间敏感网络帧映射成pMAC帧和eMAC 帧。pMAC帧进入pMAC层传输,eMAC帧进入eMAC层,判断抢占条件是否成立(交换机会检查该pMAC 的长度是否大于124 字节,且还未传输的数据是否大于60 个字节)

(2)交换机给pMAC帧已传输的部分补上4字节的mCRC校验码,并暂停pMAC层中pMAC帧的传输,然后切换到eMAC层传输eMAC帧。当该eMAC帧传输完成后,若还有eMAC帧需要传输,则继续传输eMAC帧,若没有eMAC帧需要传输,则暂停eMAC层中的数据传输,切换到pMAC 层传输被抢占pMAC帧的剩余部分。切片过程形成的数据帧如下图所示:

图片
图片

    此外,IEEE Std 802.3br标准定义不同的SMD值来区分不同类别的数据帧,具体可参照下表:

图片
图片

只有SMD-Cx值顺序正确且第一个切片帧中间帧使用SMD编码值0x61时切片帧才能合成原pMAC帧。如果切片合成时不满足此条件,该切片帧将会被丢弃。

3.帧抢占切片帧合成过程

  • 在接收端节点,独立接口(xMII)在帧到达时检查每个帧的SMD值。
  • 若是eMAC帧(即包含SMD-E 的帧),则由eMAC帧接收器直接接收。
  • 否则,pMAC帧和切片帧由特定帧处理器处理。特定帧处理器负责保证每一个可抢占帧的所有切片帧都被完整且按正确的顺序合成并接收,它通过同时使用“mCRC”和“frag count”值来保证可抢占帧的接收。
  • 特定帧处理器接收到切片帧后会生成一个mCRC校验码,通过这个mCRC校验值与原始帧切片时生成的mCRC值比较:值相同,说明该切片帧传输正确;值不同,说明该切片帧传输错误。
  • 同时,通过“frag count”值检测切片帧传输的顺序是否正确。只有“mCRC”和“frag count”值都无误的切片帧才能合成原数据帧并接收。

 总结

    TSN将帧抢占机制引入MAC子层,在数据传输冲突时,通过对低优先级数据帧的拆解、分时传输和重新组帧,保证了高优先级数据流的低时延,同时降低了保护带的影响,避免了带宽利用率的大幅下降。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档