microblaze+yt8511+freertos 1000M网调试记录

system.mss下修改网卡模式为temac_adapter_options 设置为1000Mbps,其他不用修改。

ld文件中指定text段指定在bram里,可以让网速大幅提升,

数据拷贝尽量用memcpy,别用for循环,程序运行速度大幅提升。

首先,我们需要弄清楚,当以太网显示连接为1Gbps,它代表了什么?从百兆以太网开始,考虑到要兼容先前的十兆标准,引入了Auto-Negotiation的功能。也就是说,当你用网线连接两个以太网接口的时候,两个接口可以根据提前定义好的握手协议,协商到他们之间连接所能达到的最大速度,这个速度也就是你看到的网口连接速度

这个握手过程是通过Fast Link Pulse(FPL)来完成的(如下图所示,图片来自Wikipedia)。当两个网口连接时,会发出一串脉冲信号,这些脉冲信号的间隔是125us,一组脉冲信号由17到33个脉冲组成,这组脉冲就是一组FPL。每组FPL包含了一个16位的数据,称为link code word(LCW)。LCW中的这16位数据就包含了这个网口所支持的网速能力。两个网口通过FPL交换了信息之后,就能建立一个他们都能支持的最大速度。可以看出,FPL并不是一个非常快的信号,所以即使使用质量较差的网线,也是能够正确地完成Auto-Negotiation的,也就是说在千兆网口之间使用百兆的网线,他们也可以握手到千兆的速度。

但是,两个千兆的设备握手到了千兆的连接速度,并不代表他们之间就能够以千兆的速度传输数据。这个握手协商后的速度只代表这个link理论上能达到的速度,只是一个link的状态而已,不是实际速度。数据发出端是以千兆的固定速度发出信号,但当使用质量较差的网线时,信号的衰减和回波等都会增大,这些会影响数据接收端的信号质量。有的数据包因此会出现bit error,在网卡进行CRC校验时就会被自动扔掉。网络测速软件测量的都是网卡接收处理后的数据包,并不包含那些已经被丢掉的错误数据包,所以你就会看到数据接收速度远低于显示的千兆连接速度

那为什么在第一个情况下即使使用了质量好的六类网线却仍然不能达到握手的千兆速度呢?这是因为常用的网速测量软件都只考虑以太网数据帧,而实际上网口发送以太网数据帧时,还要加上Preamble和SFD。此外,虽然千兆以太网标准允许数据帧之间没有间隔,但在大部分设备上,以太网数据帧之间会有12个byte的间隙。有的网速测量软件可能只考虑payload的部分,MAC地址、EtherType和FCS都不计算在内。而1Gbps的握手网速是要把以上所有的部分都考虑进去的。也就是说,以太网的数据传输效率会随着payload的大小而改变。

举个例子,如果是一个没有VLAN、payload为64byte的以太数据帧,它的实际长度应该是

12byte的最小帧间隙+8byte的Preamble和SFD+12byte的MAC地址+2byte的EtherType+64byte的payload+4byte的FCS=102byte

所以,这个时候的效率是64/102=59.375%。

同理,如果payload达到1500byte的时候,效率就能达到97.529%。

总结一下:

  1. 网口的连接显示速度指的是握手协商以后两个网口都支持的最大速度,只要使用的网线能够满足FPL发送接收,顺利完成Auto-Negotiation,千兆网口之间就能协商到千兆速度
  2. 使用质量较差的网线时,signal integrity会受影响,以太数据帧的误码率增大,错误的数据帧会直接被接收网口丢掉,所以用软件测速时会发现实际传输速度远小于千兆
  3. 即使使用优质网线,由于大部分测速软件只考虑payload部分的数据,而以太网数据帧本身是有额外的overhead,实际传输效率不可能达到100%。取决于测速软件发送payload的长度,测算出的网速会随着发生变化
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

启文源科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值