Realtime TCP/IP stack

Realtime TCP/IP stack

本文关键字:stack IP TCP Realtime      更新时间:2023-10-16

我想用C或c++编程(尽可能高效地)TCP/IP通信堆栈。它真的必须跑得越快越好。

有没有人有一个好的例子或建议从哪里开始?

这并不是一种侮辱,那些为成熟的操作系统开发堆栈的人已经做了很多年了。这就是他们所做的,除非你在这个行业,否则我建议你看看不同的方法。

不同的方法是,选择一个性能不错的堆栈(我听说Solaris中最新的tcp/ip堆栈很漂亮),然后调整它(有很多不同的标志和设置可以调整)。如果这不能满足您的需求,请考虑硬件解决方案,如tcp卸载等。

编写自己的堆栈,意味着你必须有足够的信心,知道你可以在这个领域打败可能1000人年的努力。

如果这是为了自我开发和学习,我建议一些简单的东西,比如minix的源代码,它可能有一个简单易懂的堆栈。

m2c .

这是一项艰巨的任务。我建议将Contiki操作系统作为一个可能的起点。它有一个TCP/IP栈

正如Steve在评论中指出的那样,你确实需要相当多的经验来做好这件事。因此,与其直接跳到你的最终目标,我建议你采取以下可能的步骤:

  1. 写一个可靠的传输使用UDP作为正常的用户-土地协议。
  2. 在user-land中使用原始套接字编写自定义协议
  3. 编写内核级协议模块/驱动程序
  4. 在FPGA网卡上写入堆栈

Linux是一个很好的选择,因为您需要的详细信息很容易访问和记录。

哦,是的,一旦你意识到你不可能超越Linux内核,就停止吧。

这可能值得一看:

实现高性能面向对象TCP/IP协议栈

科学硕士学位论文Peter Kjellerstedt和Henrik状态

lwip -一个轻量级TCPIP栈最好从学习TCP/IP栈开始

git clone git://git.savannah.nongnu.org/lwip.git