Linux 中 tcpip 堆栈的多个实例
是否可以在 Linux(嵌入式 Linux)上启动已可用 tcpip 堆栈的多个实例?如果有人有任何相关信息吗?
is it possible to start multiple instance of already available tcpip stack on Linux (Embedded Linux)? If anyone has any information regarding this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不认为你可以在 Linux 中运行两个完整且独立的 TCP/IP 堆栈。原因是 TCP/IP 堆栈是 Linux 单片内核的一部分,并且由于只有一个内核在运行,因此也只有一个 TCP/IP 堆栈在运行。
Linux 提供了 TUN 和 TAP 接口,允许您执行一些通常由 TCP/IP 堆栈完成的操作(这是 VPN 软件通常使用的操作)。最好将其视为 TCP/IP 堆栈中的 TCP/IP 堆栈。这可能对您有用,具体取决于您的最终目标是什么。
要同时运行两个完整且独立的 TCP/IP 堆栈,您需要使用 Linux 以外的操作系统,其中 TCP/IP 不是内核的一部分。 (微内核通常可以做到这一点,例如 QNX)
I don't think you can run two complete and independent TCP/IP stacks in Linux. The reason is that the TCP/IP stack is part of the Linux monolithic kernel, and since there's only one kernel running, then there's only one TCP/IP stack running.
Linux provides TUN and TAP interfaces which allow you to perform some operations that are usually done by the TCP/IP stack (this is what VPN software typically uses). This is better thought of as a TCP/IP stack within a TCP/IP stack. This might be work for you depending on what your ultimate goal is.
To run two complete and independent TCP/IP stacks at the same time, you'll need to use an operating system other than Linux where the TCP/IP isn't part of the kernel. (A micro-kernel can usually do this e.g., QNX)
您可以尝试网络命名空间。
创建一个套接字包括创建一个新的 tcp/ip 套接字。
请参阅操作方法:
https ://eos.aristanetworks.com/2011/06/linux-namespaces-at-arista/(已存档)
You could try network namespaces.
The creation of one includes a creation of a new tcp/ip socket.
See howto:
https://eos.aristanetworks.com/2011/06/linux-namespaces-at-arista/ (archived)