Location of Ingress No-Drop Queues入口无损队列的位置
Ingress queues for no-drop traffic are maintained by all the ports in a lossless Ethernet network. For the sake of simplicity, Figure 7-1 shows ingress no-drop queue(s) only at one location, but in reality, all ports have ingress no-drop queue(s). 无损以太网网络中的所有端口都有入口无损队列。为简单起见,图 7-1 仅显示了一个位置的入口无损队列,但实际上所有端口都有入口无损队列。
1. Figure 7-1 already shows ingress no-drop queue(s) on Switch-1 for receiving traffic from Target-1. The utilization of this no-drop queue controls sending Pause frames to Target-1. 图 7-1 显示了交换机-1 上用于接收目标-1 流量的入口无损队列。利用该无损队列可控制向目标-1 发送暂停帧。
2. A similar ingress no-drop queue(s) exists on Switch-1 for receiving traffic from Host-1. The utilization of this no-drop queue controls sending Pause frames to Host-1. 交换机-1 上也有类似的入口无损队列,用于接收来自主机-1 的流量。利用该无损队列可控制向 Host-1 发送暂停帧。
3. Target-1 creates an ingress no-drop queue(s) for receiving traffic from Switch-1. The utilization of this no-drop queue controls sending Pause frames to Switch-1. 目标-1 创建一个或多个入口无损队列,用于接收来自交换机-1 的流量。利用该无损队列可控制向 Switch-1 发送暂停帧。
4. Host-1 creates an ingress no-drop queue(s) for receiving traffic from Switch-1. The utilization of this no-drop queue controls sending Pause frames to Switch-1. 主机-1 创建一个或多个入口无损队列,用于接收来自交换机-1 的流量。利用该无损队列可控制向 Switch-1 发送暂停帧。
Number of Ingress No-Drop Queues Per Port每个端口的输入无损队列数
Typically, a no-drop traffic class needs one no-drop queue per port. More one than one no-drop queue can also be created based on use cases, such as for carrying FCoE and RoCE traffic via the same link. Multiple no-drop queues have their own Pause Threshold and Resume Threshold. The maximum number of no-drop queues on a device depends on its capabilities. For example, Cisco Nexus 9000 switches support up to three no-drop queues. But there are more considerations based on the maximum frame size and length of a link. These limits apply because a no-drop queue requires buffer reservation, and every device has a finite buffer space. Refer to the documentation of the devices in your environment, but overall, be aware of these limits and plan accordingly. 通常情况下,一个无损流量类的每个端口需要一个无损队列。也可根据使用情况创建多个无损队列,如通过同一链路传输 FCoE 和 RoCE 流量。多个无损队列有各自的 "暂停阈值 "和 "恢复阈值"。设备上无损队列的最大数量取决于其功能。例如,Cisco Nexus 9000 交换机最多支持三个无损队列。但根据链路的最大帧大小和长度,还需要考虑更多因素。这些限制之所以适用,是因为无损队列需要预留缓冲区,而每个设备的缓冲区空间都是有限的。请参考您环境中设备的文档,但总的来说,要了解这些限制并制定相应的计划。
Implementation Differences and The Scope of this Book实施差异和本书的范围
Some implementations, although less common, continuously send Pause frames with zero quanta when there is no congestion. In other words, they send Un-Pause frames even if their buffer utilization is less than the Resume Threshold. This is unnecessary because just one Un-Pause frame is enough to resume traffic and there is no need to send them continuously unless a Pause frame with non-zero quanta is sent in between. Although such implementations do not violate the standards, this unnecessary action makes congestion detection almost impossible when combined with the inability to report Pause and Un-Pause frames separately and the inability to report the duration of traffic pause (TxWait/RxWait). Refer to the later section on Congestion Detection Metrics for more details on these metrics. Also, Un-Pause frames that are sent continuously in large numbers may lead to a noticeable link utilization because these are actual frames that take bandwidth. This type of implementation is outside the scope of this book. Most congestion detection and troubleshooting techniques explained in this book do not apply to such implementations. 有些实现(尽管不太常见)会在没有拥塞的情况下持续发送quanta为零的暂停帧。换句话说,即使缓冲区利用率低于恢复阈值,它们也会发送取消暂停帧。这样做是不必要的,因为只需一个 "取消暂停 "帧就足以恢复流量,除非中间发送一个非零quanta的 "暂停 "帧,否则没有必要连续发送。虽然这种实现方式并不违反标准,但由于无法分别报告暂停和解除暂停帧,也无法报告流量暂停的持续时间(TxWait/RxWait),因此这种