@[TOC] 802.1Qbb
802.1Qbb是什么?
802.1Qbb(基于优先级的流控制,PFC)是以太网数据中心中一项重要的标准,用于提供无丢包的网络环境。这项标准是IEEE 802.1Q标准的一部分,旨在解决以太网数据中心网络中的拥塞和数据包丢失问题。
PFC允许网络设备根据不同的数据流优先级进行流量控制。当特定优先级的流量拥塞时,PFC能够向网络设备发送暂停帧,以防止缓冲区溢出和数据丢失。这种个别流量控制方式允许网络在某些流量拥塞时保持流畅,同时防止对其他流量的干扰。
PFC的主要优势在于提供了细粒度的流控制能力,使得数据中心网络能够在多种流量类型和优先级之间实现更有效的管理和分配。这项技术对于支持传输延迟敏感型数据(如音频和视频流)以及高性能计算等应用场景非常重要。
802.1Qbb是怎么工作的?
802.1Qbb通过在以太网帧头中引入带有优先级的标签来实现。它允许设备在传输帧时使用带有优先级的标记。这些标记指示了数据包的重要性级别,以便网络设备可以对流量进行适当的优先级管理。
802.1Qbb的工作原理是,当特定类型的流量(例如,SAN存储流量)开始拥塞网络时,它允许交换机向发送端发送信号(PAUSE机制),以通知其暂停发送数据帧。这样可以防止接收端的缓冲区溢出,同时保持网络中的数据完整性,确保重要流量不会丢失。
PAUSE机制的流量阻塞
PAUSE机制是以太网(802.3)标准的一部分,允许点对点以太网连接中的接收端停止相邻发送端,从而防止缓冲区溢出和数据包丢失。
在混合了LAN(局域网)和SAN(存储区域网络)流量的收敛以太网基础设施中运行时,PAUSE机制会导致一些不希望出现的副作用。
这项机制会对特定网络流量产生影响。当有大量LAN和SAN流量通过同一个以太网基础设施传输时,PAUSE机制可能导致一些流量暂停,以解决数据包丢失的问题。但这也可能在不希望停止传输的情况下阻塞了某些流量,可能会影响网络的正常运行。
当服务器向存储阵列发送的数据超载了存储阵列时,存储阵列会向交换机发送一个PAUSE帧。
交换机在收到 PAUSE 帧后停止向存储阵列发送数据,而服务器发送的数据开始在交换机的内部缓冲区中累积,直到交换机需要通知服务器暂停,此时,服务器的以太网接口被有效地阻塞了。
Traffic blocking with Priority Flow Control (802.1Qbb)
802.1Qbb是对802.3x机制的简单扩展:PAUSE帧包含一个8位比特掩码,代表802.1p优先级(指定应暂停的流量类别),以及针对每个优先级的定时器,指定该优先级类别的流量应暂停的时间。每个优先级的PAUSE机制允许存储阵列告知交换机应该停止发送仅限于FCoE流量的信息(假设FCoE流量被标记为优先级值=3)。同样,交换机可以告诉服务器停止发送FCoE流量,而LAN流量不受影响。
例如,存储阵列可以使用802.3x的PAUSE机制来减缓交换机的速度,而交换机(在监测到优先级为3的队列即将填满后)可以使用802.1Qbb的PAUSE帧来告诉服务器停止发送FCoE流量。
思考:
- PFC机制很快就会导致先到达阻塞和持续拥塞,因此只适用于小型桥接域。在较大的网络领域中,应结合拥塞通知/避免机制(例如802.1Qau)使用。
- PFC被设计用于点对点链路(在PON环境中不起作用),并且不能与同一链路上的802.3x一起使用(同一链路上的两个竞争性暂停机制是毫无意义的)。它需要DCBX标准来在相邻节点之间协商参数,包括可以支持PFC的流量类别数量以及应启用PFC的优先级。因此,符合标准的802.1Qbb实现需要支持DCBX。
- 时间要求非常严格(发送者应在大约600纳秒内停止发送),这意味着硬件实现是唯一可行的选项。
- 预先标准的实施情况(推测性),由于802.1Qbb补充尚未得到批准,所有当前的PFC实施都是预先标准的。然而,暂停消息的格式自最初的草案以来并未发生变化,这表明现有的硬件实现可能只需要软件升级即可支持对DCBX协议的潜在后期更改。