在前面《深度分析数据中心之PFC(Priority-based Flow Control)技术》一文中,针对PFC技术背景和基本技术进行了分析,而本文将结合IEEE:802.1Qbb标准进一步对PFC功能处理机制进行深度的剖析。
首先、分析PFC和普通流控的区别:
从字面上看可以很清楚的知道,PFC其实是普通流控的升级版。有网络基础的同学都知道普通流控是基于整个端口进行流控的,也就是说当网络出现拥塞时普通流控生效后会把整个端口的流量都停止掉,很明显这样的结果会造成误杀,会把正常的流量都中断掉,这样的结果是网络设计者不想看到的。为了解决这种问题同时FCOE功能本身的需求,才引导出了PFC这个概念,是基于优先级流控,这是什么意思呢?网络流量可以分0-7, 8个优先。假设我针对某个优先级进行流控,这个普通流控功能是做不到的,而PFC可以。当网络拥塞时只会对相应的优先级流量进行流控,而其他流量刚不会受流控功能影响。在实际的网络中PFC要结合ETS功能一起使用,通常在FCOE网络中我们会针对FCOE流量开启PFC功能,同时使用ETS给FCOE流量分配一定的带宽。在这两种功能的共同作用下,最终可以保证FCOE的