c - 使用 CRIU 工具迁移特定的 TCP 连接

标签 c linux sockets tcp migration

是否可以使用 Linux 中的 CRIU 工具将一台机器上正在运行的进程内的单个特定 TCP 连接迁移到另一台机器?

我想要的是将特定的 TCP 连接信息转储到内存中,并将该信息传输到对等机器。在这台机器内部,我将使用转储的信息重新创建迁移后的 TCP 连接。谁有c语言的例子或教程?

我知道不同的解决方案,例如 SockMi,它提供内核模块 + 用户空间 API 来迁移某个 TCP 套接字。但是,我想使用 CRIU 工具,因为它是 Linux Mainline 的一部分。

最佳答案

目前我们只有将 TCP 迁移功能集成到 CRIU 工具中。它位于 sk-tcp.c 文件中,整个 TCP 修复代码都在那里,尽管它绑定(bind)到 CRIU 的其余部分。

另一方面,很长一段时间以来,我们一直被要求进行仅 TCP 迁移,可以将此代码拉入 libcriutcp.so 之类的 smth,但需要打补丁。欢迎您参加 https://github.com/xemul/criu/issues/72

关于c - 使用 CRIU 工具迁移特定的 TCP 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32798716/

相关文章:

linux - vim 如何捕获击键?

html - 在windows操作系统下建网站,在linux下变形。我如何解决它

linux - 如何使用 gstreamer 和 smpte 通过 gst-launch 连接 2 个视频文件?

c# - 使用 C# 的 Actionscript 3.0 网络编程

套接字服务器代码中的编译错误

c - 在 C 中,在函数中使用静态变量会使它更快吗?

c - 高分辨率的 C 语言精确计时

java - 如何使用同一个Socket来多个InputStreamReader和OutputStreamWriter

c - 在将指针传递给函数时使用 &-操作数?

c - c中嵌套结构的内存布局