2010-12-16 108 views
0

是否可以在Linux(嵌入式Linux)上启动多个已经可用的tcpip堆栈实例?如果有人有关于此的任何信息?Linux中tcpip堆栈的多个实例

+0

你是什么意思'启动多个实例'?一般来说,不是 - 每个堆栈都希望获得所有数据包。无论如何,只有一个人可以处理开始新的连接 – Robert 2010-12-16 09:18:53

+0

多个网络适配器?您可以添加虚拟接口,如eth0:0,eth0:1。这也不是很相关的编程。 – 2010-12-16 09:41:17

+0

@罗伯特:谢谢你提供的信息。实际上Linux已经有了tcpip堆栈。如果我写了自己的mini tcpip堆栈(限制版),并且使用与Linux相同的网络驱动程序接口。第一个查询,是否有可能在Linux上保留2个tcpip堆栈?如果是,那么如何启动或加载或使用其他有限的tcpip协议栈而不是标准的Linux tcpip协议栈?请更新我与这个所需的信息,谢谢。 – Vijay 2010-12-16 11:06:42

回答

2

我不认为你可以运行两个独立完整的TCP/IP在Linux中堆栈。原因是TCP/IP堆栈是Linux单片内核的一部分,并且由于只有一个内核在运行,因此只有一个TCP/IP堆栈正在运行。

Linux提供TUN和TAP接口,允许您执行一些通常由TCP/IP堆栈完成的操作(这是VPN软件通常使用的操作)。这被认为是一个TCP/IP协议栈中的TCP/IP协议栈,它被认为是。这可能对你有用,取决于你的最终目标是什么。

要同时运行两个完整且独立的TCP/IP堆栈,您需要使用非Linux的操作系统,其中TCP/IP不是内核的一部分。 (一个微内核通常可以做到这一点,例如QNX)