天天看点

《思科数据中心I/O整合》一2.8 基于优先级的流量控制(PFC)

本节书摘来自异步社区《思科数据中心i/o整合》一书中的第2章,第2.8节,作者【美】silvano gai , claudio desanti,更多章节内容可以访问云栖社区“异步社区”公众号查看

思科数据中心i/o整合

基于优先级的流量控制(pfc),也称为按优先级暂停(per priority pause,ppp),这是一种精细的流控制机制。ieee 802.1q定义了一个标签(如图2-5所示),其中包含了3个比特(bits)的优先级字段(即它最多支持8种优先级)。pfc能够基于优先级启用pause功能。

《思科数据中心I/O整合》一2.8 基于优先级的流量控制(PFC)

如果将不同的流量类型映射到不同的优先级,那么就不会出现流量干扰问题。例如,在图2-6中,存储流量映射到优先级3,并且它是pause的,同时ipc流量映射到优先级6,它会被转发,然后是ip流量,它会被映射到优先级1。

《思科数据中心I/O整合》一2.8 基于优先级的流量控制(PFC)

pfc需要为每一种优先级设置更为复杂的数据平面,并且基于每个优先级配置专用的资源(例如,缓存区、队列等等)。

pfc基于思科公司的提案,并且得到了广泛的业界支持,也成为了ieee 802.1数据中心桥接工作小组802.1qbb项目的基础。

pfc帧格式如图2-7所示,它与pause帧类似。

《思科数据中心I/O整合》一2.8 基于优先级的流量控制(PFC)

ethertype = 0x8808与pause(mac控制帧)是相同的,但是opcode = 0x0101则有所不同。这里有8个时间域,分别对应8个优先级。为了支持灵活的实现方式,pfc帧可以为一个、多个或所有优先级传输时间信息,这是通过创建一个类启用向量(class enable vector)来实现的,其中每一个优先级对应一个比特位(one bit)。对于指定的优先级,这个比特位表示时间字段是否有效。