33.14. 以太网网络的流控制
在以太网链路上,持续数据传输可能会填充缓冲区,并导致网络拥塞。如果发送者的速率超过接收方的处理容量,则可能会因为交换机端口较低的数据处理容量而发生数据包丢失。
流控制机制管理以太网链路之间的数据传输,其中每个发送方和接收方都有不同的发送和接收能力。为避免数据包丢失,以太网流控制机制会临时暂停数据包传输,以便从交换机端口管理更高的传输率。请注意,交换机不会将暂停帧转发到交换机端口之外。
当接收(RX)缓冲区已满时,接收方会向传输方发送暂停帧。然后,传输方会在较短的亚秒时间帧内停止数据传输,同时继续在此暂停期间缓冲传入的数据。此持续时间为接收方清空其接口缓冲区提供了足够的时间,并防止缓冲区溢出。
注意
以太网链接的任一端都可以向另一端发送暂停帧。如果网络接口的接收缓冲区已满,则网络接口将向交换机端口发送暂停帧。同样,当交换机端口的接收缓冲区已满时,交换机端口会向网络接口发送暂停帧。
默认情况下,Red Hat Enterprise Linux 中大多数网络驱动程序都启用了暂停帧支持。要显示网络接口的当前设置,请输入:
# ethtool --show-pause enp1s0
Pause parameters for enp1s0:
...
RX: on
TX: on
...
与您的交换机厂商进行验证,以确认您的交换机是否支持暂停帧。