TSN网络中的Qbu和IEEE 802.3br帧格式是什么样的?

在TSN的算法里面, 常用的是Qbv和Qbu。

Qbv是分时间片的调度,会对传输的总带宽造成影响,且终端网卡必须与网络保持时间同步。

Qbu用于实现帧抢占。设计思想是将数据帧分成低优先级帧和高优先级帧,当某个低优先级帧正在发送的时候,更高优先级的帧来了,低优先级的帧被中断发送,先发送高优先级的帧,之后再发送剩下的低优先级帧。

普通以太网中的帧是不支持中断的,一个帧必须完整的发送完成后才能发送另一个帧。接收端接收的帧不完整就会丢弃这个帧。

因此要支持帧被抢占,就必须设计不一样的帧格式。这个就是由IEEE802.3 br协议来进行规定。

TSN的802.1Qbu和IEEE 802.3工作组共同开发了IEEE 802.3br,即可抢占式MAC机制。基于抢占式MAC的传输机制如下图所示。将给定的出口分为2个MAC服务接口,分别称为可被抢占MAC(pAMC-Preemptable MAC)和快速MAC(eMAC-express MAC)。pMAC可以被eMAC抢占,pMAC等待eMAC数据传输完成后再进行数据传输。

Preemptable 这个词的意思是可抢占的, 看起来像是它可以抢占别人, 其实是它可以被别人抢占。就是低优先级。

 由于要进行以太网帧的分片和重组,帧格式就必须有所变化,因为接收端需要将几个p帧拼装成完整的原始帧。

帧格式的详情可以参考这个文章:

TSN technology: basics of Ethernet Frame Preemption, Part 2 | Industrial Ethernet BookEthernet Frame Preemption is a new extension to Ethernet. Part of Time-Sensitive Networking (TSN), it guarantees a constant cycle time for industrialicon-default.png?t=N7T8https://iebmedia.com/technology/tsn/tsn-technology-basics-of-ethernet-frame-preemption-part-2/

下面简略说明一下以太网的帧格式:

普通的以太网帧 :前面会有前导的值,分成2个部分:Preamble 和SFD(或SMD-Sx等)

Preamble的占 7个字节,取值7个 0x55  (0x55 55 55 55 55 55 55, 下面的截图可以看出来)

SFD或的值占1个字节

Express帧跟普通的以太网帧是一样的,Preamble取值7个0x55,SFD为0xd5

Preemptable帧与普通的以太网帧会有所区别,

第一个P帧 Preamble取值7个0x55, 后面带1字节的SMD-Sx,

后续的P帧 Preamble取值6个0x55,在Preamble后面,带1字节的SMD-Cx和1字节的FragCount

如下图所示:

找一个具体的数据传输流程抓包看一下:

SMD-Sx, SMD-Cx的使用见后面的附图。

wireshark能够正确的解析这些值。

下面是一个完整的P帧传输过程。 E帧传输的数据 PRI是6.P帧数据由于优先级低,被分成4个片段,就是下图的15,21,25,29共4个Frame进行传输。

这个是E帧,SMD为d5

 这个是P帧的起始帧,第一个分片,SMD-Sx为0xb3,可以认为是0号帧

 这个也是P帧,SMD-Cx为0x2a,3个后续分片,4c是分片的编号,0x4c代表的是1,所以是1号帧

为什么这么麻烦,不直接写个1,2,3多简单。 据说这样可以带有纠错功能。

 这个也是P帧, 7f是分片编号,代表2,此为 2号帧

 这个也是P帧,b3是分片编号,代表3,此为3号帧

普通的网卡用TCPDUMP只能抓到以太网帧从目的MAC开始的内容,很难获取到以太网帧的前导数据, 这里的数据是用网络测试仪抓到的。

以下数据供大家参考。包含EMAC格式的帧和PMAC格式的帧传输的一个过程。

pcap格式的抓包数据下载链接:(用wireshark打开)

https://download.csdn.net/download/v6543210/87375396

参考

帧格式:

帧编号

图片来源:

https://grouper.ieee.org/groups/802/3/br/public/Tutorial2_Berlin/8023-IET-TF-1501-Winkel-Tutorial-20150115_r06.pdf

 SMD的取值

上图来源于:

https://www.iol.unh.edu/sites/default/files/testsuites/ethernet/CL99_Preemption/UNH-IOL_Clause_99_v0.2.pdf

支持qbutsn交换机传输IEEE 802.3br格式数据包的传输过程如下: 首先,发送方生成一个符合IEEE 802.3br格式的数据包。该格式包括源MAC地址、目的MAC地址、VLAN标签、以及数据负载等字段。发送方还会根据需要对数据包进行标记,例如添加流标记,以便在传输过程进行流量控制和优化。 接下来,发送方将数据包发送到支持QBUTSN交换机。在交换机上,数据包会根据目的MAC地址进行查找,以确定正确的输出端口。如果目的MAC地址尚未在交换机的转发表,则交换机会发送一个广播,以便学习该地址的位置并更新转发表。 一旦确定了正确的输出端口,交换机将根据VLAN标签对数据包进行路由。TSN交换机支持多个时间敏感网络TSN)流,每个流都被映射到不同的VLAN。因此,交换机可以根据前面的标记信息将数据包路由到正确的TSN流。 在数据包进入目标TSN流之前,交换机可能会对数据包进行处理。例如,交换机可以基于流内优先级对数据包进行队列调度和调整发送顺序,以保证低延迟和正确定序。同时,交换机还可以执行流量控制和转发策略,以确保网络带宽的有效利用。 最后,数据包通过TSN交换机的目标端口被转发到接收方。接收方会解析数据包的各个字段,并根据自己的需求进行处理和响应。 在此过程,可以使用网络抓包工具来捕获并分析传输过程的数据包。抓包工具可以提供详细的数据包信息,包括源地址、目的地址、VLAN标签等,并可以帮助诊断网络问题和优化传输效果。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路边闲人2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值