BB信用计算器

根据速度和距离计算 ISL 链路的光纤通道 BB 积分

如何使用BB信用计算器

  1. 1输入链路线速(Gbps,如 16、32、64)。
  2. 2输入两台交换机间的往返时间(毫秒)。
  3. 3读取推荐的 BB_Credit 缓冲到缓冲数值。

光纤通道 BB_Credit 规划

BB_Credit ≈ 往返时间(ms) × 线速(Gbps) / 10

BB_Credit 是光纤通道端口发布的缓冲到缓冲信用数,使链路不必等待 ACK 也能保持满载。

信用过少会拖累长距离链路;该公式让在途数据在一个往返内填满管道。

Buffer-to-Buffer Credit(BB_Credit)是**光纤通道(Fibre Channel)**独有的流控机制。与以太网「丢包后重传」不同,FC 要求无丢包,所以接收方会预先通告自己还能接收多少帧(即 credit 数量),发送方每发一帧消耗一个 credit,收到 R_RDY 原语后归还。**credit 耗尽时发送方必须停止发送**,因此 credit 不足会直接限制长距离链路的吞吐量。

所需 credit 数量的计算公式:**Credit ≥ (速率 × RTT) ÷ 帧大小**,其中 RTT 由光纤长度决定(光在光纤中约 5 μs/km,往返即 10 μs/km)。以 8G FC(8.5 Gbps)、10 km、2 KB 帧为例:8.5×10⁹ × 10⁻⁴ ÷ 2148 ≈ 44。若交换机端口的 BB_Credit 默认只有 8–16,10 km 外的吞吐量就会掉到标称的 20%–40%。**这是 FC SAN 远距离部署最常见的性能问题**,解决办法是购买「长距离许可」提高 credit 上限,或用 FCIP 网关。

链路速率距离所需 Credit(2 KB/帧)
1G FC1.0625 Gbaud10 km约 6
2G FC2.125 Gbaud10 km约 12
4G FC4.25 Gbaud10 km约 22
8G FC8.5 Gbaud10 km约 44
16G FC14.025 Gbaud10 km约 72
32G FC28.05 Gbaud10 km约 144

常见链路的 Buffer Credit 需求估算

常见问题

信用太少会怎样?

发送方等待 ACK 而停滞,长距离下链路利用率不足。

越多越好吗?

过多会浪费交换机缓冲内存;应按实际 RTT 而非最大值来定。

TCP 也适用吗?

TCP 用类似的窗口/BDP 概念;FC 的 BB_Credit 即存储网络对应物。

以太网为什么不需要 Buffer Credit?

因为以太网容忍丢包:发送方不需要等待许可,收不到 ACK 就重传(TCP)或直接丢弃(UDP)。而 FC 面向存储,丢帧会导致上层 SCSI 超时、IO 错误甚至数据不一致,所以必须在链路层就保证无丢包。现代数据中心以太网用 **PFC(Priority Flow Control,IEEE 802.1Qbb)**实现了类似的逐优先级暂停机制,是 RoCEv2(RDMA over Converged Ethernet)的基础——本质上也是一套 credit 机制,只是针对以太网改造过。

远距离 FC 有哪些替代方案?

三种主流方案:① **FCIP**:把 FC 帧封装进 TCP/IP 隧道传输,走现有 IP 网络,成本低但延迟高(受 TCP 影响);② **FC over DWDM**:用波分设备直接透传光信号,延迟最低、性能最好,成本最高;③ **IP SAN(iSCSI / NVMe-oF)**:直接改用 IP 存储协议,省去 FC 基础设施,但需要专用网卡(iSCSI HBA、RDMA 网卡)卸载协议开销。选择依据是距离、预算和对延迟的敏感度。

更多工具