首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >25 25GBASE上的RS_FEC间接费用

25 25GBASE上的RS_FEC间接费用
EN

Network Engineering用户
提问于 2019-04-15 14:23:32
回答 2查看 1K关注 0票数 1

我想估计25 GbE链路(25 GbE)的有效容量,以便在启用(528,544)前向纠错( RS )时传输特定大小的以太网有效负载,但是,我很难得出与RS相关的开销的结论。

为了保持简单,让我们假设所有以太网帧都是1000字节,每个以太网帧的MAC头为14字节,有效负载为982字节,帧检查序列为4字节。

此外,让我们假设除了传输1000字节帧所需的开销之外,在链接上没有额外的开销。因此,这意味着,没有像流量控制或暂停帧,等等。

每秒25e9位,我假设所有要计数的东西都以每秒25e9位(25 Gbps)的速度发送到链路上。我是通过将25.78125e9波特的链路信令速率乘以64位/66位编码率来实现的。

基本效率为96.97%。

人们也可以将其想象为每秒3.125e9字节,或者仅仅是3.125 GBps。

为了估计非FEC情况下的有效以太网有效负载容量,在我看来,我们只需考虑链路上的下列传输:

12B分组间隔7B前导1B帧分隔器14B以太网报头982 B以太网有效载荷4B帧检查序列1020 B

当以太网有效负载在1020字节中占982字节时,相对于有效负载而言,链路的效率为96.27% (982B/1020B)。

如果上面列出的所有项目都以每秒25e9位(25 Gbps)的速度传输,那么可能实现的最大以太网有效负载将是每秒3.0086e9字节(3.01 GBps)。

里德-所罗门FEC的间接费用?IEEE802.3by文档指出,25 25GBASE RS_FEC使用RS(528,514)编码方案。(它还说它操作于Galois域GF(2^ 10 ),其中符号大小为10位,但我猜这与我的问题无关。)

如果我正确理解的话,RS(528,514)最多接收8个64位的数据块,重新排序这些数据块,然后将它们分成两组,每组4组,每个组分配1位开销。因此,从512位开始的数据(64字节的数据)现在由514位表示。

RS_FEC还生成一个14位奇偶校验值,并将其发送到链路上.

因此,以25 Gbps的速率将原始512位数据作为528位RS_FEC数据传输到链路上。也就是说,每66字节就有2字节的开销。这也是96.97%的效率。

假设输入到RS_FEC算法中的数据已在64B/66B编码,则将链路效率从我最初计算的基础96.97%降低到94.03% (0.9697 * 0.9697)。

问题(1)输入到RS_FEC算法中的数据是否已经编码为64B/66B,在应用RS_FEC之后,总效率下降到94.03%?

(2)是否有我不考虑的间接费用?

(3) RS_FEC操纵传输的哪一部分?

例如,序言、SFD和FCS是否包括在内?

分组间隔期间的空隙如何?

(4) IEEE以太网修正标准2 (IEEE Std 802.3by-2016)指出,“25 Galois FEC子层采用里德-所罗门码RS(528,514)在Galois字段GF(2^ 10 )上操作,其中符号大小为10位”。我认为符号大小与我最初的问题无关。

文件还说,“应当使用91.5.2.7所述的编码器”。这是对(IEEE 802.3-2018)文档第6节的参考,该文档实际上约为40 GbE和100 GbE。

我如何把它翻译成25 25GBASE?

(5)同一份文件的第5节显示了一幅图像,其中显示了一个FEC编码的以太网帧(图65-7):S_FEC(5B) +序言/SLD+ FRAME+FCS + T_FEC(6B) +奇偶(14位)+ T_FEC(6B)

这也适用于25 25GBASE吗?如果是的话,我还有更多的问题要问:

(6a) RS算法是否仅适用于前导/SLD+帧+ FCS?

它是否包括包间间隙字符?

(6b)如果以太网帧更长,那么每个64字节的输入数据块会有一个S_FEC + T_FEC +奇偶校验+ T_FEC吗?

或者,每个以太网帧只能看到一次S_FEC和最终的T_FEC吗?

(6c) S_FEC和T_FEC真的分别是5字节和6字节吗?如果是这样的话,那么这难道不使得RS_FEC算法效率极低吗?

在这种大小下,每64字节原始数据的开销将为19个字节(5B +2bit+ 6B +14位+ 6B)。效率仅为77.11% (64 /( 64 + 19) )。

但是,如果每64字节的帧块中只有T_FEC+PARITY,而整个帧在开始时只有一个S_FEC,最后只有一个T_FEC,那么效率就会更高。

谢谢!汤姆

后续-on

据我理解,在转码过程中,代表原始64b数据块的66b块被输入RS算法,然后创建两个257 B块,每个块加上四个66b块加上1位开销。因此,我们有514b代表原始数据的512 b。那是2b的开销。

然后用于计算在514b块之后发送的14b奇偶校验值。因此,我们现在有528 b表示原始数据的512 b。

因此,链路的容量应从25e9bps减至24.24e9bps(25e9bps* 512/528)。

是否有其他RS开销位或字节发送到链接上?S_FEC和T_FEC是如何插入到以太网帧中的?

RS-FEC是只在帧上运行,还是通过RS-FEC传输到整个链接的每个字符?

谢谢,汤姆

EN

回答 2

Network Engineering用户

发布于 2019-04-15 16:59:36

不管您使用哪个以太网物理层,名义速度总是物理层顶部的有效带宽。是否使用FEC,哪种PCS代码等并不重要。物理线/光纤上的符号率适当地更高以适应。

因此,超过25 of的最大以太网帧需要精确地(1538 *8/ 25,000,000,000)≈49.2μs (1500字节有效负载,18字节≈开销,20字节L1开销,包括IPG),而不考虑物理层及其选项。

例如,超过25 GB的IPv4上TCP的最大有效吞吐量是(1460 / 1538) * 25,000,000,000 /8≈2.967 GB/s (窗口缩放选项几乎总是必需的)。

正如JFL所指出的,实际的吞吐量取决于您的硬件.并不是所有的25 is硬件都是非阻塞的。例如,25G网卡至少需要PCIe 3.0 x4、PCIe 2.0 x8或等效的插槽(以及适当的后端)才能实现非阻塞传输。

RS应用于PCS (66b/64b编码)和PMA子层之间(参阅IEEE 802.3第108条)。它将64b/66b代码转换为256 b/257 B (108.5.2.3),以便为RS提供空间,因此不需要更高的波特率。

接着:在物理层应用PCS线码、Re转码等.它们不会以任何方式改变数据链路层框架。一般情况下,PCS、RS等只存在于较低的PHY范围内.它们对上面的PHY和以上完全没有影响。

票数 1
EN

Network Engineering用户

发布于 2019-07-31 20:41:03

我最近看了一下这方面的规范,所以我可以提供一些见解。所有以太网的FEC方案都设计为以与非FEC版本相同的线路速率和串行化速率运行(除了使用高开销RS(544,514) FEC的100 GBASE-KP4之外,但这是完全不同的,因为它使用PAM-4,不支持禁用FEC)。因此,对于10 Gbps,数据速率为10 Gbps,序列化速率为10.3125 Gpbs,启用或不启用FEC。对于25 Gbps、40 Gbps和100 Gbps以太网也有相同的想法。

他们这样做的方式很简单: FEC层从其他协议组件“窃取”比特,以释放足够的比特来传输所需的奇偶信息,然后在另一端恢复原始比特。

让我们从基础开始-R FEC。使用64b/66b行码传输10GBas-R以太网,使用LFSR对64位数据块进行加扰,然后将2位同步报头附加到每个块上,并以10.3125 Gbps的速率串行发送数据。该10 Gbps的设计是为了增加前向纠错,同时保持相同的数据速率10 Gbps的编码和10.3125 Gbps的有线。这是通过获取32个块64b/66b编码数据,剥离每个块上的一个同步比特来释放32比特,添加32校验位的缩短循环码(2112,2080),加扰结果,然后以10.3125 Gbps的速度发送到线路上。

不过,这种方法也有一些折中之处:由于同步标头已经被有效删除,块锁时间大大增加( PHY需要检查2112个块,每个2112位,而不是66个块,每个66个位),将连接的时间延长几个数量级。

新的以太网里德-所罗门FEC做了一些类似的事情,但有一个更大的块大小。64b/66b数据被一次转换为四个块,转换为256 b/ 257 b,20257个比特块被分解为514个10位符号,那些用RS( 528 ,514)编码以产生14个10位奇偶校验符号,用于528个总符号,然后打包并作为5280位块发送。以64b/66b编码的原始数据也将占用66*4*20 = 5280比特。

这两种编码方案都是在64b/66b编码码元的水平上工作的,基本上包括所有的编码码元--数据、前导码、帧间间隙、帧控制字符、差错控制字符等。而且,由于它们在64b/66b编码块的级别上工作,所以FEC块完全独立于分组本身。当链接空闲时,FEC块将根本不包含任何数据。或者它可以包含一个包的一部分,一个完整的包,甚至多个包。RS块包含640字节的数据,因此这可能是多个最小长度帧或MTU帧的一部分。

底线:没有任何类型的数据速率惩罚与启用FEC在一个链接。

票数 0
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/58482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档