charleschchen
作者charleschchen·2022-08-10 19:51
系统架构师·浪潮商用机器有限公司

以太网协议与FC协议的带宽计算

字数 1287阅读 2461评论 0赞 0

以太网协议与FC协议带宽计算差别

基于历史原因与协议约定,光纤通道FC协议与以太网协议虽然采用了类似的线速率/带宽表示形式,例如32 Gb FC,25/10 Gb Ethernet等等,但其隐含的吞吐率计算方法实际上存在较大差异。

主要区别在于如下两点:

  1. 以太网协议通过提升波特率(即传输频率)弥补了因为编码方案引入的有效带宽损失,而光纤通道协议按设计传统,没有弥补编码引入的带宽损失。
    例如1Gb 以太网/光纤通道协议均采用8b/10b编码,实际效率只有80%. 对此,1Gb以太网将实际传输波特率提升到1.25G/s,这样一来,1Gb以太网实际的线速率仍然是1.251000 8/10 = 1000 Mb/s,即125MB/s.
  2. 光纤通道协议承载的上层协议类型较为单一(历史上主要为SCSI),因此光纤通道协议通过提升波特率(幅度为6.25%),对协议头部导致的编码有效带宽损失进行了弥补。但考虑到以太网上层协议的多样性,编码头部导致的有效带宽损失比例难以界定,因此以太网协议未进行此项修正。
    例如1Gb FC协议实际波特率为1.0625G/s, 对应的实际极限带宽(含头部封装)大约为1.0625 1000 8/10 /8 = 106.25 MB/s,这样极限净负荷吞吐率为106.25 / (1+6.25%) = 100 MB/s。这样,在主机层观察到的IO带宽为100 MB/s,而在FC网络层观察到的带宽则为106.25MB/s(包含了头部封装)。如果光纤交换机还有进一步封装,在光交上观察到的带宽可能还会稍高于106.25MB/s.

此外,从10G以太网、16G光纤通道协议开始,默认的编码规则由8b/10b升级为64b/66b,编码带宽损失由25%降低到3.125%,效率明显提升。但FC协议约定的每Gb对应净负载吞吐率100MBps的设计目标保持不变。因此16Gb FC的传输波特率仅为14.025G/s,对应含头部的极限带宽为14.025 1000 64/66 /8 = 1700MBps,换算为净负载吞吐率则是1600MBps ( = 1700MBps/(1+6.25%) ). 作为对比,10 Gb以太网传输波特率为10 * (1+3.125%),即10.3125G/s,实际极限带宽为

10.3125 * 1000 * 64/66 = 10,000 Mbps

, 即1250MBps.

实际极限速率对比表

下表列出了不同协议规格下极限带宽与波特率:

#说明
本文中所有涉及带宽均为单向带宽,如需计算双向带宽请乘以2.

总结

考虑到上述原理,性能压测时,在主机OS上进行观察的话,常见的10Gb以太网络单向极限带宽大约能达到1250 MB/s;作为对比,常见的8Gb FC单向极限带宽大约为800MB/s, 16Gb FC单向极限带宽大约为1600MB/s.

参考材料
Fibre Channel Speedmap
https://fibrechannel.org/wp-content/uploads/2017/04/FCIA-SpeedMap-Final.pdf

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关资料

X社区推广