基于优先级的流量控制(PFC)

一、引言

PFC(Priority-based Flow Control)的含义是基于优先级的流量控制,它是目前应用最广泛的能够有效避免丢包的流量控制技术,是智能无损网络的基础。使能了PFC功能的队列,我们称之为无损队列。当下游设备的无损队列发生拥塞时,下游设备会通知上游设备会停止发送该队列的流量,从而实现零丢包传输。

二、传统流量控制技术

最基本的流量控制技术是IEEE802.3定义的以太Pause机制:当网络中的下游设备发现其流量接收能力小于上游设备的发送能力时,会主动发Pause帧给上游设备,要求上游设备暂停流量发送,等待一段时间后再继续发送。

Pause的局限性会暂停整个链路的流量,可能影响其他类型的业务。

三、PFC的协议802.1Qbb规定

PFC通过将链路划分为多个虚拟通道,每个通道对应一个优先级队列。当某个队列的缓存超过阈值时,接收端发送反压信号(STOP)给发送端,暂停该优先级队列的流量,而其他队列不受影响。PFC帧的格式包括优先级使能向量和反压定时器等字段。

图 PFC帧格式

PFC的优势在于:

  • 实现多种流量的共享链路。

  • 针对特定优先级队列进行流量控制,避免全链路暂停。

  • 支持无丢包传输,适用于高可靠性场景。

四、水线阈值的设置

XOFF-XON = Pause Region暂停深度是设计的关键。暂停深度能容纳在发出XON到上游实际恢复发送的时间内的总流量。

Pause Region = RTT×带宽+安全余量

经验值

|---|---------|---|
| | 队列深度的比例 | |
| | 50% | |
| | 70% | |

参考

什么是PFC? - 华为

相关推荐
fiveym7 小时前
01 - iPXE + Clonezilla 网络装机原理解析
linux·运维·服务器·网络
虎头金猫7 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
dog2507 小时前
网络优化,还是降低各阶矩
服务器·网络·php
liuqs3328 小时前
nat123安卓和nat123全端口选型指南,映射工具怎么挑
网络·笔记
x_x-F9 小时前
网络数据从网卡到用户态:一场基于内存所有权转移的接力赛
开发语言·网络·php
mitugaoyang199313 小时前
marvell88Q5152交换机开发(0)-芯片介绍
网络
CDN36014 小时前
流媒体加速实践:出海东南亚短视频点播频繁缓冲,HLS 分片与 Nginx 配置调优
java·网络·nginx·流媒体加速
xiaoxiangsiyan14 小时前
RHCE2026完整版全知识点清单
运维·网络·学习·自动化·rhce
AlanBruce14 小时前
摩尔信使MThings新功能:水电不分家、一键设备扫描
网络·自动化·plc·mthings·摩尔信使·电气·西门子s7
Titan202415 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习