I. background of PFC:
Traditional EnterpriseData CenterGenerally, an Ethernet network is deployed to support IP traffic. One or two storage domain networks (SAN) are deployed to support Fiber Channel storage traffic, and an InfiniBand Network is deployed to support high-performance cluster computing, in this way, enterprises need to deploy different networks for different applications. Deploying and managing three completely different networks will bring high investment and operation costs to enterprises, so enterprises are eager to achieve integration.
The priority-based traffic control (PFC: priority-based Flow Control) is defined in the IEEE: 802.1qbb standard document to enhance the suspension mechanism of traditional traffic control. Compared with the traditional traffic control mechanism, when congestion occurs, the traditional traffic control will block all traffic on a link. PFC allows you to create eight virtual channels on an Ethernet link and specify an IEEE 802.1p priority (COS) for each virtual channel ), you can suspend or restart any of the virtual channels separately, and allow the traffic of other virtual channels to pass without interruption. This method allows the network to create a service without packet loss category for a single virtual link, so that it can coexist with other traffic types on the same interface. In fact, PFC is an enhancement of the common traffic control function.
Message format:
As defined in 802.1qbb, the format of the PFC frame is as follows:
+ ---------------- + ----------------- +
| Destination MAC address (6 octets) |
+ ---------------- + ----------------- +
| Source MAC address (6 octets) |
+ ---------------- + ----------------- +
| Type/Len (2 octets) |
+ ---------------- + ----------------- +
| Control opcode (2 octets) |
+ ---------------- + ----------------- +
| Priority_enable_vector (2 octets) |
+ ---------------- + ----------------- +
| Time (2 octets * 8) |
+ ---------------- + ----------------- +
Definition of each field in a PFC frame:
Field name |
Description |
Destination MAC address |
The destination MAC address field, 6 bytes, must be 01-80-C2-00-00-01. |
Source MAC address |
The MAC address of the source device, in 6 bytes. |
Type/Len |
The length or type of an Ethernet frame, which must be 88-08, indicates that the frame type is Mac control frame. |
Control opcode |
MAC control operation code, 2 bytes. The PFC pause frame is only one type of MAC Control Frame. For a PFC pause frame, its operation code in the MAC control frame is 01-01; |
Priority_enable_vector |
2 bytes. The value of the high byte is 0. each bit of the low byte indicates whether the corresponding time [N] is valid. E [N] indicates priority n. If E [N] is 1, time [N] is valid. If E [N] is 0, time [N] is invalid. |
Time |
Contains eight array units from time [0] to time [7]. Each array unit is 2 bytes. When E [N] is 0, time [N] is meaningless. When E [N] is 1, time [N] indicates the time when the receiving site suppresses the sending of packets whose priority is N, the unit of time is the time required by the Physical Layer Chip to send 512-bit data. Therefore, when sending a PFC pause frame, the maximum sending time required by the peer device is 65535 x the time required by the Physical Layer Chip to send 512-bit data. |
Ii. Technical Principles:
Whole Network by AnalysisFcoeThe PFC function is enabled for the virtual channel mapped by cos3 traffic. The default value is used for other virtual channels. When port7 of the egress Cisco device sw3 reaches a threshold when congestion occurs, the data enters the direction (that is, the upstream device) and sends the anti-pressure information (xoff: traffic stop information ), when an upstream device receives xoff, it stops sending or delays sending data based on the xoff information and stores the data in the local port cache. If the consumption of the local port cache exceeds the threshold, continue to back up the game, so that the first level of back pressure until the network terminal devices Client1 and Client2 (these two devices are installed with CNa cards supporting PFC ), client1 and Client2 specify pause in the xoff message
To eliminate packet loss caused by congestion on network nodes. After the congestion is removed, sw3 will send the Xon message, telling the upstream devices SW1 and sw2 to forward the packets in the cache. After SW1 and sw2 forward the packets in the cache, the congestion is also removed, so that SW1 and sw2 will send Xon packets to their upstream Client1 and Client2 respectively. After receiving the Xon packets, Client1 and Client2 send the data streams again. This process will enable the fcoe storage service to avoid packet loss.
The actual PFC packet of the Cisco device is as follows:
<A href = "http://www.datacentersky.com/wp-content/uploads/2012/06/pfc-pack.jpg" class = "cboxelement" rel = "example4" 677 "=" "style =" text-Decoration: none; color: RGB (1,150,227); ">