V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mazyi
V2EX  ›  问与答

遇到千兆网络开发上面的技术问题

  •  
  •   mazyi · 2016-05-05 11:33:33 +08:00 · 1856 次点击
    这是一个创建于 3157 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 C#编程在电脑上接受数据,有 1G 的带宽。

    可是发送端(一个FPGA开发板)只有一个 Socket 发送端口,就是不论怎么样都打不满千兆。

    想请问一下怎么样才能够打满千兆呀。

    还有就是接收到了这么大的数据怎么处理呀,写如文件速度肯定没有这么快,难道可以考虑压缩算法啦?

    先行感谢各位看官啦~orz

    7 条回复    2016-05-05 21:20:52 +08:00
    just4test
        1
    just4test  
       2016-05-05 12:25:13 +08:00
    首先确定开发板的的接口和硬件性能是否能支持千兆。
    其次买个固态硬盘。
    mazyi
        2
    mazyi  
    OP
       2016-05-05 12:51:52 +08:00
    @just4test 确定支持,固态硬盘可以解决读写文件的问题,但是怎么解决带宽占不满的问题。
    squid157
        3
    squid157  
       2016-05-05 14:23:39 +08:00 via iPhone
    如果 CPU 什么的没跑满,看看是不是网线太烂导致重传太多
    deben
        4
    deben  
       2016-05-05 14:35:06 +08:00
    听起来好像以前做的 LED 控制卡 233333
    deben
        5
    deben  
       2016-05-05 14:36:54 +08:00
    FPGA 这端用的 GMII 吗? 直接用 DHL 写逻辑来做收发, 不要用软核. 另外, PC 端写最简单的 for 循环来测试.
    mazyi
        6
    mazyi  
    OP
       2016-05-05 17:31:22 +08:00
    @deben FPGA 是 xilinx 的,直接跑的硬核。 CPU 应该是够用,我是直接在上面的 Linux 上面写的 Socket ,所以已经是理想的状态了,应用层的理想状态。最高带宽是 233M ,感觉是由于只开了一个端口的原因。
    deben
        7
    deben  
       2016-05-05 21:20:52 +08:00 via Android
    @mazyi 如果一定要跑个处理器,感觉不太容易能达到 1G 的带宽(纯猜想,没实验)。

    个人感觉折中的方案应该是自己做一个 buffer ,然后通过总线把处理过的数据送到 MCU/CPU.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1038 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:52 · PVG 04:52 · LAX 12:52 · JFK 15:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.