求问一个解决方案
时间:12-12
整理:3721RD
点击:
代朋友问一下,现需要将千兆网卡的数据包在IP层重新封包再转发出去,假设网卡满速运行,也即是数据速率1000Mbps,请问要完成这个功能需要多少MIPS的处理能力?有什么比较经济的实现方案?谢谢!
要让网卡满速运行,需要用FPGA直接控制,这个功能不能用MIPS衡量。
个人以为:比较经济的实现方案和你的要求有可能互相矛盾,谨供参考~~~
我开始也这么觉得。后来查了一下,如果一个几K的IP包,需要处理器处理的其实只有头20个字节吧?给一个足够大的缓存做FIFO,硬件DMA写缓存,处理器封包以后的传输也交给DMA的话是不是可行呢?
请电洽Broadcom公司, 他们家专门做路由器这种需要大量吞吐量的设备的解决方案
重新打包,发包还看吞吐延时的要求,没啥要求的话就很简单,严格的话就不会很简单
如果没有延时要求,存到海量存储器,慢慢倒出去, pc都可以
如果吞吐延时小于us,可能很难做到。
我估计对延时要求并不太高,只要不丢消息就成。所以我觉得大缓存+大长度的包的话问题应该不大?反正只需要重封前20个字节
大缓冲有什么用?
除非接收那端过段时间就没有数据来了