实时TCP / IP堆栈

时间:2011-04-28 11:53:48

标签: c++ c real-time

我想在C或C ++中编程(尽可能高效)TCP / IP通信堆栈。它必须尽可能快地运行。

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

5 个答案:

答案 0 :(得分:6)

这并不意味着侮辱,已经为完善的操作系统开发堆栈的人已经这样做多年了。这就是他们所做的,除非你从事这项业务,我建议你看一下不同的方法。

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

编写自己的筹码,意味着你必须足够自信地知道你可以在这个领域击败可能有1000多年的人力。

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

M2C。

答案 1 :(得分:3)

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

答案 2 :(得分:2)

正如史蒂夫在评论中指出的那样,你需要很多经验才能做到这一点。因此,我建议采取以下可能的步骤,而不是直接跳到最终目标:

  1. 使用UDP作为普通用户域协议编写可靠的传输。
  2. 使用raw-socket中的原始套接字编写自定义协议。
  3. 编写内核级协议模块/驱动程序
  4. 将您的堆栈写在FPGA网卡上
  5. Linux是一个不错的选择,因为您可以轻松访问和记录所需的详细信息。

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

答案 3 :(得分:1)

答案 4 :(得分:0)

lwip - 轻量级TCPIP堆栈,最好开始学习TCP / IP堆栈

  

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