【发布时间】:2009-05-05 18:47:47
【问题描述】:
是否有现有的 Linux/POSIX C/C++ 库或示例代码来说明如何将套接字从一个物理接口重新绑定到另一个?
例如,我在与物理连接 A 关联的套接字上进行 ping 传输,我想将该套接字重新绑定到物理连接 B 并继续在连接 B 上发送和接收 ping 数据包(经过短暂的延迟在切换期间)。
我只需要这个用于无会话协议。
谢谢
更新:
我正在尝试提供用于 PPP 和以太网设备的故障转移解决方案。
我有一个基本脚本,它可以通过使用 iptables、NAT 和路由表来完成 90% 的功能。
问题是发生故障转移时,ping 会继续在辅助连接上发送,但是它们的源 IP 来自旧连接。
我与几个从事商业路由器工作的人交谈过,他们的建议是将套接字重新绑定到辅助接口。
更新 2:
我很抱歉没有提前说明这一点。此解决方案将在路由器上运行。我无法更改 ping 程序,因为它将在客户端计算机上运行。我以 ping 为例,任何不是基于会话的连接都应该能够被切换。我在几个商业路由器上测试了这个功能,它确实有效。不幸的是,他们的软件是专有的,但是,通过各种对话和测试,我发现他们在故障转移时重新绑定了套接字。
【问题讨论】:
-
我可能在这里遗漏了一些东西,但是您是否尝试过关闭套接字然后绑定到另一个接口?
-
谢谢鸭子,我要试试看会发生什么。