接上一篇IEEE 标准 802.1Qav™-2009

12.网桥管理

12.21 用于时间敏感流的转发和排队的管理实体 定义了支持时间敏感流的转发和排队的网桥增强功能在第 34 条中。组成该受管资源的对象如下:

a) 带宽可用性参数表 (12.21.1)

b) 传输选择算法表 (12.21.2)

c) 优先级再生覆盖表 (12.21.3) )

12.21.1 带宽可用性参数表

网桥组件的每个端口都有一个带宽可用性参数表。每个表行包含支持基于信用的整形器算法 (8.6.8.2) 的每个流量类别的一组参数,如表 12-1 中详述。在支持端口和组件的动态配置的实现中,可以动态地创建或删除表中的行。

接上一篇IEEE 标准 802.1Qav™-2009_第1张图片 

*R = 只读访问;

RW = 读/写访问。

†B = 对时间敏感流的转发和排队的桥接或桥接组件支持是必需的。

E = 对时间敏感流的转发和排队的终端站支持是必需的。

12.21.2 传输选择算法表

桥组件的每个端口都有一个传输选择算法表。这是对桥接组件的每个端口也存在的流量类别表管理对象 (12.6.3) 的补充。每个表行包含端口支持的每个流量类别的一组参数,如表 12-2 中详细说明的。

接上一篇IEEE 标准 802.1Qav™-2009_第2张图片

*R = 只读访问;

RW = 读/写访问。

†B = 对时间敏感流的转发和排队的桥接或桥接组件支持是必需的。

12.21.3 优先级重新生成覆盖表

桥组件的每个端口都有一个优先级重新生成覆盖表。这是对桥接组件的每个端口也存在的优先级处理托管对象 (12.6.2) 的补充。每个表行包含一组参数,用于与 SR 类(3.3、6.9.4)关联的每个优先级值,如表 12-3 中详述。

 接上一篇IEEE 标准 802.1Qav™-2009_第3张图片

*R = 只读访问;

RW = 读/写访问。

†B = 对时间敏感流的转发和排队的桥接或桥接组件支持是必需的。

34.时间敏感流的转发和排队

34.1概述

本节描述了一组工具,可用于支持时间敏感流的转发和排队要求。在这种情况下,“时间敏感流”被认为是从单个源站传输的、以一个或多个目标站为目的地的流量流,其中流量对及时传递很敏感,特别是需要传输延迟有界。这样的流包括视频或音频数据流,其中希望限制接收站中所需的缓冲量。

注 1——这一要求的一个例子是现场表演,其中表演的视频图像同时投影在礼堂的屏幕上,声音和图像与表演“同步”是可取的。

为了解决网桥中此类流量的需求,提供了以下内容:

a) 一种检测支持 SRP(SRP 域)的一组网桥与不支持 SRP 的周围网桥之间边界的方法。这种机制在 34.2 中描述。注 2——这些功能的主要目的是支持 SRP;但是,这些功能和 SRP 之间没有特定的相互依赖关系,因此如果它们被实施,它们同样可以用于支持其他准入控制机制。

 b) 每个端口的一组带宽可用性参数,用于记录给定出站队列可用的最大带宽,以及为该队列保留的实际带宽。这些参数在 34.3 中描述。

c) 8.6.8.1 中定义的基于信用的整形算法,用于根据给定出站队列上预留的带宽来整形基于流的流量的传输。

d) 讨论帧中承载的第 2 层“有效负载”(MSDU)的大小与该 MSDU 在特定端口(34.4)上传输时将消耗的实际带宽之间的关系。

e) 一种算法,用于确定将与接收帧相关的优先级映射到网桥传输端口上可用的业务类别(34.5)。

f) 作为时间敏感数据流(34.6)源的终端站所需行为的定义。

34.2 SRP 域的检测

AV 流的概念、流预留协议 (SRP) 以及支持流传输的流量转发和整形功能(参见 6.9.4 和 8.6.8.1)依赖于每个网桥检测的能力它的每个端口是否位于支持特定优先级的 SRP 的已连接网桥区域的边缘,以便与进入 SRP 域 (3.4) 的流量相关的优先级代码点 (PCP) 值可以在边界处正确重新生成域,如 6.9.4 中所述。

网桥通过观察 SRP 行为来检测 SRP 域的边缘。如果网桥使用特定优先级接收 SRP 注册,则有理由相信它们是从支持 SRP 的设备接收的;因此,SRP 引擎可以通知网桥的哪些端口位于 SRP 域的边界。 per-port, per-SR class, SRPdomainBoundaryPort 参数确定端口是否被视为位于 SRP 域的边缘或域的核心,如 6.6.4 中所定义。此参数由 SRP 的操作控制。

注 1——SRP 域检测基于这样一个假设,即连接到端口的设备对于给定的 SR 类具有 SRP 能力,或者对于该 SR 类不具有 SRP 能力。检测基于当前的预订活动;因此,域的边界将扩展为包括端口,因为声明了 SRP 属性。域边界的位置对SRP帧的传输没有影响;相反,它反映了 SRP 活动发生的位置。当端口从活动拓扑中删除时,它们将从 SRP 域中删除。 34.3 带宽可用性参数

以下带宽可用性参数存在于每个端口和每个流量类别 N,它支持基于信用的整形算法:

a) portTransmitRate,如 8.6.8.2 中定义;

b) deltaBandwidth(N):除了与较高优先级队列相关的deltaBandwidth(N)值之外,可以为与业务类别N相关的队列保留的附加带宽,表示为portTransmitRate的百分比。对于给定的流量类别 N,可以保留的总带宽是流量类别 N 和所有更高流量类别的 deltaBandwidth 值的总和,减去支持基于信用的整形算法的更高流量类别保留的任何带宽(见 34.3 .1)。

c) adminIdleSlope(N):管理请求的带宽,以比特/秒为单位,保留给与流量类别 N 相关的队列使用。如果 SRP 正在运行,则此参数无效;如果 SRP 未运行,则 operIdleSlope(N) 的值始终等于 adminIdleSlope(N) 的值。

d) operIdleSlope(N):实际带宽,以比特/秒为单位,当前保留给与流量类别 N 相关联的队列使用。该值由基于信用的整形算法 (8.6.8.2) 用作 idleSlope对应的队列。

在所有情况下,带宽都是根据通过端口传输帧时消耗的实际带宽来定义的,而不是这些帧中承载的 MSDU“有效负载”的大小。第 34.4 节讨论了 MSDU 大小和实际消耗的带宽之间的关系。

注意——虽然 deltaBandwidth 值是针对特定流量类别指定的,并指示可以为属于特定流量类别的流量保留的带宽量,但这并不意味着这些流量类别优先访问该部分的流量。带宽。例如,给定流量类别的优先级并不意味着使用该类别的数据流的重要性;因此,预留策略可能会优先将带宽分配给使用较低优先级流量类别的高重要性流,而不是使用较高优先级流量类别的较低重要性流。

34.3.1 带宽可用性参数之间的关系

deltaBandwidth(N) 的推荐默认值为支持的最高编号流量类别为75%,对于任何编号较低的流量类别,推荐默认值为0%。给定 N 的 deltaBandwidth(N) 加上任何更高优先级队列的 deltaBandwidth(N) 值(N 的较大值)定义了可以为该队列和所有更高优先级队列保留的端口带宽的总百分比。对于最高优先级队列,这意味着 operIdleSlope(N) 的最大值是 portTransmitRate 的 deltaBandwidth(N)%。但是,如果 operIdleSlope(N) 实际上小于此最大值,则任何支持基于信用的整形器算法的低优先级队列都可以使用高优先级队列未使用的可预留带宽。因此,对于队列 N-1,(operIdleSlope(N) + operIdleSlope(N-1)) 的最大值是 portTransmitRate 的 (deltaBandwidth(N) + deltaBandwidth(N1))%。

注 1——例如,假设两个队列 3 和 2 分别支持 SR 类 A 和 B 的基于信用的整形算法。假设 SR 类 A 的 deltaBandwidth(3) 当前为 20%,而 SR 类 B 的 deltaBandwidth(2) 当前为 30%。如果 operIdleSlope(3) 当前是 portTransmitRate 的 10%,则队列 3 的最大分配的一半未被使用,因此 operIdleSlope(2) 的最大值当前是 portTransmitRate 的 40%。但是,如果 operIdleSlope(3) 增加到它有权使用的全部 20%,则 operIdleSlope(2) 的最大值会减少到 portTransmitRate 的 30%。

注 2——应选择所有 N 值的 deltaBandwidth(N) 值的总和,以便有足够的带宽可用于任何非预留(尽力而为、严格优先)流量;选择默认值使得 deltaBandwidth(N) 值的总和为 75%,因此允许保留不超过 75% 的端口可用带宽。这可确保在使用默认设置时,至少有 25% 的端口带宽可用于非预留流量。但是,由于这些默认设置可能不适用于某些情况(例如,提供非常高带宽的链接,或具有非常低水平的非预留流量的网络),因此可以由管理人员修改它们。

34.3.2 带宽可用性参数管理

deltaBandwidth(N) 和 adminIdleSlope(N) 的值可以通过管理使用 12.21 中定义的管理操作来改变。如果支持 SRP 中定义的流预留机制,则 operIdleSlope(N) 的值仅由 SRP 的操作确定。如果不支持 SRP 中定义的流预留机制,则 operIdleSlope(N) 的值等于管理部门在相应的 adminIdleSlope(N) 参数中请求的值。

端口的 portTransmitRate 的值可能会因底层 MAC 服务的正常运行而发生变化(例如,作为 IEEE Std 802.1AX 链路聚合运行的结果,或作为动态变化的结果)物理层技术本身的带宽,可能出现在无线 LAN 技术中);管理操作也可以更改端口的 deltaBandwidth(N) 值。在任何一种情况下,结果都可能是以下之一:

a) 端口的 operIdleSlope(N) 值的总和现在可能超过端口允许的总可保留带宽,或给定队列的 operIdleSlope(N) 值现在可以超过 34.3.1 中定义的队列允许的预留带宽。因此,可能不再支持端口上当前处于活动状态的流。

b)给定队列现在可用的带宽可能意味着端口上可能支持当前不活动的流。

c)更改后继续支持的活动流可能会看到其延迟保证更改。

在任何一种情况下,为了将参数恢复为一组一致的值,都需要通过管理或 SRP 中定义的流预留机制采取纠正措施。为了表明带宽可用性数据库中发生了变化,每当带宽可用性参数 portTransmitRate 或 deltaBandwidth(N) 发生变化时,都会为每个端口生成一个信号 bandwidthAvailabilityChanged; SRP 使用此信号来触发重新计算可以在端口上保留的流集。注意—在重新计算流预留期间,网桥可能暂时无法履行带宽预留承诺或转发尽力而为的流量。 34.4 从 MSDU 的大小推导出实际的带宽需求

本节中定义的转发和排队机制使用的带宽参数是根据在支持通过端口可用的 MAC 服务的介质上传输帧时使用的实际带宽定义的。相比之下,流预留协议 (SRP) 对每个流使用流量规范 (TSpec),该规范定义了每帧的最大比特数 (MaxFrameSize),由网桥的中继功能中继的 mac_service_data_unit 参数,以及该流的最大帧速率 (MaxIntervalFrames),以每类测量间隔的帧数为单位;即,TSpec 没有考虑与通过给定介质传输 MSDU 相关的每帧开销。但是,当 SRP 确定用于与给定队列关联的 operIdleSlope(N) 参数的值时,该值必须包括在该端口上传输帧时将产生的每帧开销。

注 1——TSpec 中的帧速率是在“类测量间隔”上测量的,该“类测量间隔”取决于与流相关的 SR 类。 SR A类对应125 µs的类测量间隔; SR B 类对应于 250 µs 的类测量间隔。这些等级测量间隔适用于流的源头,即“说话者”终端站,并不一定适用于跨桥接 LAN 的流传输的后续阶段。

为了计算流的带宽消耗,假设流数据基本上具有恒定的大小和传输速率,因此这些最大值可用于直接定义假定的最大有效载荷大小和每秒帧数的最大帧速率;例如:

 

其中 classMeasurementInterval 以秒为单位。

注 2——如前所述,从 TSpec 参数计算带宽假定流数据本质上是恒定帧大小,因此,本节所示的近似值是有效的。如果数据的帧大小变化很大,那么使用这些假设计算每帧开销可能会出现很大错误。

由此,以及支持桥接端口的协议栈的本地知识,可以确定在传输帧时添加到每帧 MSDU 有效负载的开销。每帧开销至少有以下来源:

a) 在第 2 层有效负载通过端口协议堆栈中的各种服务接口时添加到第 2 层有效负载的任何 VLAN 标记和安全标记(参见 IEEE Std 802.1AE)。

b) 由底层 MAC 服务添加的 MAC 帧(报头和报尾八位字节,加上满足最小帧大小限制所需的任何填充八位字节)。

c) 任何物理层开销,例如前导字符和帧间间隙。

因此,精确的每帧开销将取决于协议栈和底层 MAC 技术。

因此,支持给定流所需的实际带宽定义如下 [使用公式 (1) 中的假定PayloadSize]:

 

34.5 时间敏感流的优先级映射到流量类

在支持时间敏感流转发和排队的网桥中,优先级到流量类的默认映射满足以下约束:

a) 对应于 SR 类的优先级值映射到流量上支持基于信用的整形算法作为传输选择算法的类。

b) 支持基于信用的整形算法的流量类别比支持严格优先级(或任何其他)传输选择算法的流量类别具有更高的优先级。

c) 至少一种流量类别支持基于信用的整形算法,并且至少一种流量类别支持严格优先级传输选择算法。

注 1——至少有一个流量类别支持严格的优先传输选择的约束确保至少有一个流量类别可以支持不受带宽预留限制的流量,例如“尽力而为”流量。

对于支持 SR 类 A(使用优先级 3)和 SR 类 B(使用优先级 2)的系统,建议的默认优先级到流量类映射如表 34-1 所示。对于仅支持 SR B 类(使用优先级 2)的系统,建议的默认流量类映射优先级如表 34-2 所示。传输选择算法表(见 8.6.8)对应的默认配置是表中带阴影的流量类配置为使用基于信用的整形算法,其余流量类配置为使用严格优先级算法。

接上一篇IEEE 标准 802.1Qav™-2009_第4张图片

接上一篇IEEE 标准 802.1Qav™-2009_第5张图片 

注 2——表 34-1 中显示的仅两个可用流量类别的映射将两个 SR 类别映射到单个流量类别。虽然这是一种允许的配置,但一般来说,将 SR 类别分配给不同的流量类别是可取的,并且在某些应用程序中,这可能是一项要求,正如在此表中针对三个或更多流量类别可用的情况所做的那样。显示的映射仅处理一两个受支持的 SR 类;如果支持两个以上的 SR 类,可以采用类似的映射策略。

34.6 终端站行为

为了使终端站成功地参与时间敏感流的发送和接收,它们的行为必须与网桥中使用的转发和排队机制的操作兼容。作为“谈话者”参与的终端站(即时间敏感流的来源)的要求不同于适用于“听众”(即流的目标站)的要求。

34.6.1 Talker 行为

为了让 Talker 发起的数据流利用 Bridges 中基于信用的整形器行为,Talker 需要使用网络中的 Bridge 识别为与 SR 类相关联的优先级专门用于传输流数据。 Talker 和通往 Listener 路径中的网桥也有必要对传输 Talker 的流所需的带宽有一个共同的看法,并且沿着通往听众)。后一个要求可以通过流预留机制(例如在 SRP 中定义)或其他管理方式来满足。

作为谈话者的终端站应展示属于时间敏感流的一部分的帧的传输行为,这与基于信用的整形算法的操作一致,无论是在它们传输作为单个数据流的一部分的帧的方式方面,以及它们从端口传输流数据帧的方式。实际上,对于给定优先级的 Talker Port 的排队模型可以被认为如图 34-1 所示。

 接上一篇IEEE 标准 802.1Qav™-2009_第6张图片

Talker 根据该流的 Tspec 将帧放入与单个流关联的队列中;即,在每个类测量间隔期间,它最多可以将 MaxIntervalFrames 个数据帧放入该流的队列中,每个数据帧不超过 MaxFrameSize。

与每个单独的流关联的队列使用基于信用的整形算法,idleSlope 设置为该传输端口上流的带宽要求,作为确定该流的数据帧放置在出站中的速率的方法流使用的优先级队列。反过来,该优先级的出站队列使用基于信用的整形算法,将 idleSlope 设置为在该传输端口上使用该优先级的所有流的 idleSlope 值的总和,作为确定速率的方法选择该流的哪些数据帧进行传输。

Talker 中的传输选择与桥接器中的操作方式相同;从这个角度来看,一个Talker可以被认为是一个单端口的Bridge。

对于使用 SR A 类或 SR B 类的流,要求任何给定流的帧被选择放置在其每个流队列中的速率不超过为流保留的带宽,测量超过SR 类的类测量间隔(SR 类 A 为 125 µs,SR 类 B 为 250 µs。)对于流带宽要求和传输端口数据速率的某些组合,这可能会限制可以使用的帧大小传输流数据时。

注意——观察间隔的唯一含义是它对帧大小的影响,因为整形器行为本身与观察间隔无关。限制观察间隔的目的是限制帧大小,因为这是对通过 AVB 网络传输的帧所经历的延迟的主要贡献(见附件 L 中的讨论)。

34.6.2 侦听器行为

侦听器站的主要要求是它能够缓冲在与流数据帧在传输过程中可能经历的累积最大抖动相等的时间段内为流传输的数据量说话者和听者之间。从时间敏感流的转发和排队要求规范的角度来看,假设侦听器将评估流所需的缓冲作为实现所采用的流带宽预留机制的一部分。

 

 

 

你可能感兴趣的:(java,算法,网络)