假设有一台服务器连接到光纤通道交换机。
它们愉快地交换各种类型的帧,直到交换机端口缓冲区被填满。如果我理解正确,FC 中的流量控制工作原理,服务器已没有剩余的发送帧信用,因此它会停止发送帧以防止帧丢失。
与此同时,交换机仍在向主机发送帧。有时甚至主机上的端口缓冲区也会被填满。交换机也耗尽了信用。
他们都停滞了。
每个 R_RDY 消息都是在接收缓冲区释放一个空间时准确发送的,接收方可以通过接收这些消息逐一补充信用额度。
理想情况下,交换机设法疏通其缓冲区并向服务器发送 R_RDY,服务器很乐意发送新帧,并且随着时间的推移情况会自行恢复正常。
不过,如果我没有记错的话,任何类型的消息实际上都是 FC 帧,所以除非“数据”和“管理/链路控制/流控制”帧的处理方式不同,否则即使 R_RDY 也应该受到流控制的影响。
如果是这样的话,那么上述理想解决方案就是无法实现的,因为当交换机尝试将其 R_RDY 发送到服务器时,它必须等待来自主机的 R_RDY,而该 R_RDY 永远不会发送,因为主机信用仍然为零。
那么,R_RDY 和其他“非数据”消息/帧是否受到 FC 流控制的影响?