一.传统以太网
1.竞争传输
传统以太网是基于竞争的传统以太网通信机制,当多个PC需要同一链路传输数据时,此时多个PC会竞争链路的使用权(CSMA/CA)。
如上图所示,当ES1向ES3传输大量非关键流量(BE),同时ES2向ES4传输少量关键流量(TT)。此时两种数据流会在SW1和SW2之间争用链路,会在SW1的1端口处发生竞争,交换机原理如下图所示。
操作类型 | 描述 |
qEncap | Vlan Tag的封装解封装 |
Encap | 以太网帧头的封装解封装 |
Egress TC | 出口网络控制 |
Ingress TC | 入口网络控制 |
Swap | 交换芯片 |
交换机工作流程:数据进入某一端口(Port 1为例)的Queue,接着通过qEncap解析数据包的VLAN,随后通过Encap解析以太网帧头,解析的数据通过Ingress TC进入Swap,Swap通过MAC地址表转发到目的端口,然后经过封装VLAN、以太网帧头最终到达发送端口Queue。
思考:若端口1和端口2都给端口4发送数据,会如何传输?
交换机一般是采用出端口缓存的架构,当多个端口都给某一端口发送数据时,交换机会把数据依次放到出端口的Queue中,Queue是先进先出,必然会影响某些数据的实时性。若是两端口同时发送数据,同时会产生竞争,竞争会给网络传输带来不确定性:抖动、丢包等。缓冲区满的时候会发生丢包。
2.长尾效应
传统以太网传输中的长尾效应是一个不容忽视的问题。这种现象表现为,在极少数情况下,网络延时会异常增高,甚至趋于无限大。这种情况通常发生在网络拥塞、硬件故障或配置不当等极端情况下。对于时间敏感网络(TSN)来说,这种不可预测的长尾延时是无法接受的,因为它会严重影响实时应用的性能和可靠性。
在TSN中,我们追求的是有界延时,这意味着网络中的数据传输延时被严格控制在一定的范围内,既有一个明确的最小延时,也有一个明确的最大延时。这样的设计目标旨在确保实时数据能够在预定的时间内到达目的地,从而满足工业自动化、自动驾驶、远程医疗等对时间敏感的应用需求。
二.AVB协议
1.AVB简介
AVB(Audio Video Bridging,音视频桥接)技术是一种基于以太网的标准,旨在提高音视频数据在局域网中的传输质量和可靠性。这项技术主要应用于实时音视频传输,特别是在汽车多媒体系统和专业音频视频领域,属于TSN协议的前身,AVB协议和TSN都属于数据链路层的协议族。
2.802.1Q协议
IEEE 802.1Q协议,也称为Virtual Bridged Local Area Networks协议,是一种用于在以太网中实现虚拟局域网(VLAN)的国际标准。通过IEEE 802.1Q,可以在一个物理的局域网中逻辑上划分成多个独立的虚拟局域网,使得不同的用户和部门之间的数据流量能够被隔离和传输。
在802.1Q协议中,VLAN标签被添加到以太网帧中,用于标识数据帧所属的VLAN。这个标签包含在以太网帧的源地址和以太网类型/长度字段之间,是一个32位的域。VLAN标签包含两个字节的标签协议标识(TPID,其固定值是0x8100)。
802.1Q协议将交换机的物理接口分为三种类型:Access、Trunk和Hybrid。这些接口对应的功能各有不同,用于处理不同类型的数据帧和VLAN。Access接口用于连接单个VLAN的设备,Trunk接口用于连接多个VLAN,而Hybrid接口则结合了Access和Trunk的功能。
IEEE 802.1Q协议是实现VLAN功能的关键技术,它使得不同VLAN之间的数据可以在同一物理网络中进行隔离和传输,提高了网络的灵活性和安全性,其数据帧更合适如下图所示。
字段 | 长度 | 含义 | 取值 |
---|---|---|---|
TPID | 2Byte | 标签协议标识符,表示数据帧类型。 | 取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。 |
PRI | 3bit | Priority,表示数据的优先级。 | 取值范围是0~7,数值越大优先级越高。当网络拥塞时,高优先级的帧会被首先处理。 |
CFI | 1bit | 标准格式指示位,表示MAC地址是否按照标准格式编码。 | CFI取值为0表示MAC地址按标准格式编码,CFI取值为1表示MAC地址按非标准格式编码。 |
VID | 12bit | VLAN ID,表示数据帧所属的VLAN编号。 | VLAN ID的有效取值范围是1~4094。 |
3.Queue的演进
由于IEEE 802.1Q标准支持最多8个优先级,因此,传统的以太网队列被优化为包含8个不同的队列,每个队列对应一个特定的优先级。Queuing Frames模块负责将具有不同优先级标签(PCP,Priority Code Point)的数据帧映射到相应的队列中进行传输。Transmission Selection模块则根据预设的规则,在任意给定时刻选择优先级最高的数据帧进行发送。当网络中存在高优先级的流量等待传输时,系统会优先处理这些高优先级的流量,确保关键数据能够得到及时传输。这样的设计显著提升了网络服务质量,确保了重要数据流的优先级和传输效率。
4.加权循环(WRR)
上述队列优化确实提升了网络流量的传输质量,但也暴露了一个潜在问题:如果高优先级流量持续存在,低优先级流量可能会遭受饥饿,无法获得传输机会。为了解决这一问题,研究者们引入了加权循环调度(WRR,Weighted Round Robin)算法。WRR算法通过为每个队列分配不同的权重,确保了不同优先级流量的公平传输。
在WRR机制下,Transmission Selection模块会按照队列的权重比例进行数据包的传输。加权循环调度(WRR)算法通过为每个队列分配特定的权重,使得Transmission Selection模块能够公平地遍历所有队列。以如下配置为例:Queue7的权重设置为50%,而Queue1和Queue0的权重各为25%。在传输过程中,Transmission Selection模块会首先从Queue7中传输两个数据包,随后依次从Queue1和Queue0各传输一个数据包。这样的调度策略确保了即使在持续的高优先级流量下,低优先级的流量也能获得一定的传输机会,从而平衡了网络中的流量分配,提高了整体的网络性能和公平性。
加权轮询调度(WRR)算法有效地解决了低优先级队列可能长时间得不到服务的问题,它通过基于数据包数量的调度策略来实现队列间的公平访问。但是,由于数据包的长度不固定,这种调度方法无法确保每个队列能够分配到预定的带宽。因此,在实际应用中,可能会出现某些队列的实际带宽与预期不符的情况,这可能会影响到网络的整体性能和带宽分配的精确性。
5.信用整形器(CBS--802.1Qav)
为了解决加权轮询调度(WRR)中由于数据包长度不固定导致的带宽分配问题,引入了基于信用的整形器(CBS,Credit-Based Shaper)。这种整形机制能够更精确地控制每个队列的带宽分配,确保不同优先级的流量按照预定的比例获得服务。
规则:
- 信用值增加:当队列中存在报文但未进行传输时,信用值会逐渐增加。
- 信用值减小:当队列中的报文开始传输时,信用值会相应减少。
- 信用值为零:如果队列中没有报文,信用值将被设定为0。
- 传输条件:只有当信用值为非负数时,队列中的报文才允许进行传输。
目的
- 限制带宽:通过信用值的增减来控制报文的传输速率,从而实现对网络带宽的合理分配和使用。
- 避免突发流量:通过调节信用值,平滑网络流量,减少突发流量对网络性能的影响,优化网络传输效率。
两个斜率:
idleSlope:确定整形器的输出数据速率,以每秒位数为单位。
sendSlope:传输过程中信用的消耗率,以每秒位数为单位(默认:idleSlope-通道比特率)。
6. 广义精确时钟协议(gPTP--IEEE802.1AS)
EEE 802.1AS是一种时间敏感网络(TSN)协议,旨在以太网和WiFi网络上实现精确的时间同步,通过提供低延迟、低抖动和无丢包的确定性连接,支持音频、视频传输以及工业自动化等对时间敏感的应用场景。IEEE802.1AS有两个版本,一个版本是IEEE802.1AS-2011,另一个版本是IEEE802.1AS-2020。
在IEEE 802.1AS中,采用最佳主时钟算法(BCMA)来选择主时钟(CMI),建立同步时钟树。下层从时钟(Slave Clocks)通过与上层主时钟交换同步信息来完成时间同步,最终所有时钟都能与最高层的主时钟(Grandmaster Clock, GM)同步。 也可以手动设置主时钟。gPTP时间同步具有两步法、一步法,其同步步骤如下图所示。
关于完整的时间同步过程,其复杂性较高,我将另行撰写一篇文章详细阐述。在此,就不再展开详述。
三.时间敏感网络(TSN)
1.TSN简介
时间敏感网络(TSN)是一组旨在提高以太网性能的标准集合,特别是在需要高确定性的应用场景中。TSN的核心目标包括实现精确的时间同步、减少延迟以及提高网络的可用性和可靠性。为了达到这些目标,TSN引入了一系列的工具和技术,它们被组织成不同的组件,协同工作以确保网络能够满足特定应用的需求。
当前已经发布的TSN系列规范大致分为四个部分:时间同步、调度延时、可靠性、资源管理。TSN通过整合各个组件,提供了一个全面的解决方案,用于构建高性能、高可靠性的以太网基础设施。这种集成化的方法不仅提高了网络的效率和稳定性,还扩展了以太网在工业自动化、交通运输和其他关键领域的适用性。
2.时间感知整形器(IEEE 802.1Qbv--TAS)
TAS(Time-Aware Shaper)协议是一种用于时间敏感网络的流量整形技术,旨在提高网络性能和服务质量。该协议通过对数据包的发送时机进行精确控制,以确保重要业务流的及时传输和处理。TAS协议通常与IEEE 802.1Qbv标准相结合,允许网络管理员定义不同的时隙来调度不同类型的流量,从而实现带宽的有效分配和管理。为实现高可靠性和低延迟的网络环境提供了有力支持。
在TAS协议中,我们可以通过配置GCL(Gate Control List)表来控制网络带宽。系统将自动循环执行GCL表,通过更改门控状态来管理数据流的传输。例如,若我们设定GCL为T0:OCCC CCCC,T1:COOO OOOO,则在T0时间段内,队列7将被关闭,而队列0至6将开放以进行数据传输;在T1时间段内,队列7将开启以传输数据,而队列0至6则会被关闭。此外,我们还可以结合设置优先级、WRR(Weighted Round Robin)和CBS(Credit-Based Shaping)等多种调度策略,以实现更精细的网络流量管理。
tsAlgorithms: 可以配置各种不同的算法,默认是先进先出
GateController: 按照GCL周期性地控制对应队列门的开关
在数据帧传输过程中,不允许传输中的数据帧被中断,这意味着大型数据帧可能会延迟敏感时间数据帧的传输。因此引入了保护带的概念,分为显式保护带和隐式保护带。显式保护带相当于一段完全关闭门控的时间窗口,其长度通常设定为网络中最大数据帧传输所需的时间(例如,对于1500字节的数据帧,大约为12微秒)。通常,显式保护带被安排在时间敏感数据帧传输时间的起始点之前,以避免对敏感流量的干扰。
隐式保护带是一种机制,它在数据帧开始传输之前,自动评估在开放门控时间段内,该数据帧是否有足够的时间完成传输。如果评估结果显示数据帧无法在该时间段内传输完毕,则系统将不会启动该数据帧的传输,从而避免了对时间敏感流量的潜在干扰。
3.循环排队和转发(IEEE 802.1 Qch--CQF)
802.1Qch 定义了多种 PSFP 机制的配置方式,其中 CQF(Cyclic queuing and forwarding,循环排 队和转发)是 TSN 协议中唯一确定的配置方式。CQF 模型最大的特点是计算和配置简单,可以保证分组端到端交换的确定性延时。
CQF队列由多个队列组成,用于指定特定优先级数据进行相应的CQF队列。例如,图中的Queue[6]和Queue[5]构成一组CQF队列。在每个交换机中,当前周期收到的数据包会在下一个周期进行转发。当Queue[6]队列开门传输时,Queue[5]队列会关闭,缓冲当前周期收到的数据;而在下一个周期,Queue[6]队列会关门缓冲,而Queue[5]队列则会开始传输上一个周期的报文。
CQF模型将整个网络的时间划分为等长的时段,假设每个时段的长度为d。这些时段依次标记为i、i+1、…、i+N。如果交换机在时段 i 内的t1时刻从链路接收到数据帧,那么它必须在下一个时段i+1的某个时刻t2将数据帧发送到链路上。因此,数据帧在交换机中的最大延迟为t2-t1,其上限为2d,下限为0。根据CQF模型,数据帧在网络中传输的最大延迟为(h+1)*d,而最小延迟为(h-1)*d,这里的h代表数据帧传输路径上的跳数。
4.异步流量整形(IEEE 802.1Qcr--ATS)
为了解决非周期性数据传输中的拥堵问题,并针对周期性数据传输中由于网络严格时钟同步和队列保护带宽等因素导致的网络带宽未能充分利用的情况,ATS(Asynchronous Time-Sensitive Networking Shaper)进一步优化了那些对时间同步要求不严格任务的带宽利用率。ATS整形器的设计目标是通过在每个网络跳重塑TSN(Time-Sensitive Networking)数据流,而无需桥接设备和终端节点进行同步。在处理高实时性要求和非实时业务混合的场景中,ATS整形器能够有效保持网络带宽的最大化利用。
简单来说,该机制在每个网络节点都会评估数据帧是否能在既定时间内抵达目标节点。如果时间紧迫,系统将为其开辟一条优先通道,确保快速传输。如果判断数据帧无法在规定时间内到达目的地,则会选择丢弃该数据包,以避免影响整体网络性能。
5.帧抢占(IEEE 802.1Qbu)
为了解决802.1Qbv标准中可能出现的优先级反转问题,即低优先级队列持续传输数据帧而阻碍了高优先级帧的及时传送,TSN引入了帧抢占机制,包括802.1Qbu和802.3br标准。这一机制允许中断标准以太网或超长数据帧的传输,以便高优先级帧能够优先传送,随后再继续传输之前被中断的帧,从而确保高优先级帧获得必要的带宽和低延迟保障。
802.3br标准将桥接设备的出口接口划分为两个MAC服务:pMAC(可抢占MAC)和eMAC(快速MAC)。在802.3br的基础上,802.1Qbu将数据帧根据优先级划分为pMAC帧和eMAC帧。传输中的pMAC帧可以被eMAC帧中断。eMAC帧传输完毕后,系统将恢复pMAC帧的传输。
6.帧复制与消除(IEEE 802.1CB--FRER)
帧复制与消除是IEEE 802.1CB标准中的一项关键机制,专为时间敏感网络(TSN)设计,以保障以太网网络中关键数据的可靠传输。该技术通过在网络中复制关键数据帧并沿着多个路径发送,确保了即使某个路径遭遇故障或拥塞,其他路径上的帧副本仍能顺利到达目的地。在接收端,网络设备负责识别并消除这些重复的帧,仅保留一个副本进行进一步处理。为了实现这一过程,每个数据流都需要被赋予一个唯一的标识符,以便在接收端正确地区分和处理帧副本。此外,FRER的运作高度依赖于网络中的精确时间同步,以确保复制和消除操作的准确执行。通过复制关键数据帧,FRER显著提升了网络的容错能力,即使在网络组件出现故障的情况下,也能确保数据的可靠传输。因此,IEEE 802.1CB-FRER成为了TSN技术套件中的重要组成部分,它使得TSN网络能够为关键应用提供与传统确定性网络技术相媲美的可靠性,从而在保证传输效率的同时,也极大地增强了网络的健壮性和稳定性。
这张图片展示了时间敏感网络(TSN)中帧复制与消除(FRER)技术的示意图。图中描绘了一个由四个交换机(SW1、SW2、SW3 和 SW4)组成的网络拓扑结构,其中两个终端系统(ES1 和 ES2)分别连接到该网络的两侧。当ES1发送数据帧时,它类似于广播方式将数据帧发送给SW1和SW4。随后,SW1和SW4也会以广播的形式转发这些数据帧。为了避免网络中数据包的泛滥,每个节点在接收到数据帧时,都会检查该数据帧是否已经被转发。如果确认数据帧之前已经被转发过,节点将会丢弃该数据包,以减少不必要的网络流量。
7.逐流过滤和监管(IEEE 802.1Qci--PSFP)
PSFP(Protocol-Specific Flow Policing)功能由三个表格配合完成,分别是Stream Filters、Stream Gates和Flow Meters。
- Stream Filters:即流过滤器表,用来识别和筛选受过滤器管理的流量。
- Stream Gates:即流门控表,定义流量的通行策略。
- Flow Meters:跟踪和统计流量,维护网络性能。
PSFP的基本工作流程如下:首先,数据流过滤器会依据预设的流标识(Stream ID)和优先级信息来辨识网络流量是否符合过滤条件。一旦流量被识别为受该过滤器管理,系统将依据相应的门控机制来决定是否放行该流量。若流量获准进入网络,流量计将根据设定的参数来检测流量是否超出既定限额。若检测到流量超出限额,系统将根据预先配置的策略来选择是实施限流措施还是直接阻断超出部分的流量。
PSFP的四种过滤和控制策略:
- 单流限流:针对单个流量进行过滤,并在超出带宽时限制其传输速率。
- 单流阻断:针对单个流量进行过滤,并在超出带宽时完全阻断该流量。
- 单类限流:针对同一流量类进行过滤,并在整体超出带宽时限制该类流量的传输速率。
- 单类阻断:针对同一流量类进行过滤,并在整体超出带宽时完全阻断该类流量。
这些策略旨在确保网络中的关键流量得到有效管理,以维护网络性能和资源分配。
详情点我https://www.polelink.com/index.php?a=show&catid=93&id=118
8.TSN配置模型(IEEE 802.1QCC)
IEEE 802.1Qcc是时间敏感网络(TSN)的一部分,它通过集中化控制和流预留协议(SRP)的增强,为网络中的时间敏感流量提供资源预留和配置,确保数据流的低延迟和可靠性。
IEEE 802.1Qcc标准定义了三种网络配置模型:
- 完全集中式配置模型:一个中心化的管理实体负责所有网络配置,适用于需要严格管理的网络(主要)。
- 部分集中式配置模型:中心化管理实体与网络设备共同完成配置,设备有一定的自主性,适合需要平衡集中管理与设备自主性的网络。
- 分布式配置模型:网络设备自行处理所有配置,无中心化管理,适用于不需要或无法进行集中式管理的网络环境。
完全集中式配置模型图:
完全集中式工作流程:
- CNC发现:CNC探测并识别网络中的网桥和整体网络拓扑结构。
- CUC需求收集:CUC获取发送端和接收端的网络需求,包括延迟、抖动等性能指标。
- 用户请求传递:CUC将收集到的用户网络需求发送给CNC。
- CNC调度与配置:CNC基于用户请求和网络拓扑,使用调度算法计算调度方案,并配置网桥等网络设备。
- CNC发送配置请求:CNC向CUC发送具体的用户配置请求,指定终端的操作要求。
- CUC终端配置:CUC根据CNC的指示,对终端进行配置,确保网络按预定方案运行。
TSN协议作用图: