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 網絡卡)解除安裝協議開銷。選擇依據是距離、預算和對延遲的敏感度。

更多工具