了解基于优先级的流控制
基于优先级的流控制 (PFC)(IEEE 标准 802.1Qbb)是一种链路级流控制机制。流控制机制类似于 IEEE 802.3x 以太网 PAUSE 使用的机制,但它针对个人优先级运行。PFC 允许您根据流量的类有选择地暂停流量,而不是暂停链路上的所有流量。
本主题将介绍如下内容:
标准以太网网络和第 2 层网络中数据包传输的可靠性
标准以太网不保证注入网络的数据包会到达其预期目的地。可靠性由上层协议提供。通常,网络路径由源和目标之间的多个跃点组成。当发送方发送数据包的速度快于接收方接受数据包的速度时,就会出现问题。当接收方用完用于容纳传入流的可用缓冲区空间时,它们会静默丢弃其他传入数据包。此问题通常通过检测丢包并请求重新传输的上层协议来解决。
在第 2 层中需要可靠性的应用程序必须具有流量控制,其中包括从接收方到发送方的有关缓冲区可用性的反馈。使用 IEEE 802.3x 以太网 PAUSE 控制帧,接收方可以生成 MAC 控制帧,并在指定的接收方缓冲区阈值被填满时向发送方发送 PAUSE 请求,以防止缓冲区溢出。收到 PAUSE 请求后,发送方将停止传输任何新数据包,直到接收方通知发送方它有足够的缓冲区空间再次接受这些数据包。使用以太网 PAUSE 的缺点是它可以在整个链路上运行,而整个链路可能承载多个流量流。某些流量不需要在第 2 层进行流量控制,因为它们承载的应用依赖上层协议来实现可靠性。PFC 允许您有选择地为需要它的流量(如以太网光纤通道光纤通道 (FCoE) 流量)配置第 2 层流量控制,而不会影响链路上的其他流量。您还可以为其他流量类型(如 iSCSI)启用 PFC。
使用 PFC 暂停时缓冲区要求的计算
接收缓冲区必须足够大,以容纳系统响应 PFC PAUSE 帧时接收到的所有数据。
在计算缓冲区要求时,请考虑以下因素:
PFC PAUSE 的处理和排队延迟 — 通常,检测缓冲区空间不足和传输 PFC PAUSE 的时间可以忽略不计。但是,如果交换机在发射器开始传输最大长度帧时检测到缓冲区空间减少,则可能会出现延迟。
跨介质的传播延迟 — 延迟量取决于物理链路的长度和速度。
对 PFC 暂停帧的响应时间
在返回路径上跨介质的传播延迟
建议为使用 PFC 的队列配置至少 20% 的缓冲区大小,并且不要指定 确切 的选项。
由于必须为 PFC 显式配置一定百分比的缓冲区大小,因此还必须为计划使用的任何其他转发类(包括默认转发类和用户定义的转发类)显式配置一定的缓冲区大小。您分配的百分比取决于相应类的使用情况。
PFC 和拥塞通知配置文件如何在有或没有 DCBX 的情况下工作
无论是否启用了数据中心桥接功能交换协议 (DCBX),都可以将 PFC 应用于接口。
但是,PFC 的自动控制和通告需要 DCBX:
启用 DCBX 后 — DCBX 会检测数据中心桥接 (DCB) 邻接方的 PFC 配置,使用自动协商通告本地和对等方 PFC 配置,然后根据配置是否兼容启用或禁用 PFC。启用 PFC 后,它将使用您已配置并应用于接口的拥塞通知配置文件。
未启用 DCBX 时 — 当传入帧的用户优先级 (UP) 字段与为拥塞通知配置文件指定的三位模式匹配时,服务等级 (CoS) 将触发 PFC。
无论对等数据中心设备的配置如何,都要手动控制接口上 PFC 的使用,可以显式更改接口上 DCBX 的配置以禁用 PFC 自动协商。请参阅 禁用 DCBX 以禁用 EX 系列交换机上的 PFC 自动协商(CLI 过程)。禁用 PFC 自动协商时,无论 DCB 对等方的配置如何,PFC 都由 PFC 的拥塞通知配置文件触发。
仅当连接到本地接口的对等设备也在使用 PFC 并与本地接口兼容配置时,PFC 才能有效运行。PFC 必须是对称的 — 如果未将 PFC 配置为在本地接口和对等接口上使用相同的流量类(代码点),则不会对流量产生任何影响。
表 1 显示了 IEEE 802.1Q 标记帧的 UP 字段、流量类和出口队列之间的一对一映射。除了在入口端口上设置 PFC 拥塞通知配置文件外,还必须设置转发类以匹配 PFC 拥塞通知配置文件中指定的优先级,并将帧转发到相应的队列。
瞻博网络 EX 系列以太网交换机支持多达 6 个流量等级,并允许您将这些等级与 6 个不同的拥塞通知配置文件相关联。(交换机支持多达 16 个转发类。)
IEEE-802.1Q 标记帧的 UP 字段 |
信息流类 |
出口队列 |
|---|---|---|
000 |
TC 0 |
队列 0 |
001 |
TC 1 |
队列 1 |
010 |
技术交流 2 |
队列 2 |
011 |
技术交流 3 |
队列 3 |
100 |
TC4型 |
队列 4 |
101 |
TC 5 系列 |
队列 5 |