有沒有現有的Linux/POSIX C/C++庫或示例代碼來說明如何將套接字從一個物理接口重新綁定到另一個接口?將套接字重新綁定到不同的接口
例如,我在一個與物理連接A相關聯的套接字上ping傳輸,並且我想將該套接字重新綁定到物理連接B,並使ping數據包繼續在連接B上發送和接收(在短暫切換期間的延遲)。
我只需要這個用於無會話協議。
謝謝
更新:
我試圖提供與PPP和以太網設備使用故障轉移解決方案。
我有一個基本的腳本,可以通過使用iptables,NAT和路由表完成90%的功能。
問題是當故障轉移發生時,ping繼續在輔助連接上發送,但是,它們的源IP來自舊連接。
我已經和一些在商用路由器上工作的人講過話了,他們的建議是將套接字重新綁定到輔助接口。
更新2:
我很抱歉沒有指定此更早。該解決方案將在路由器上運行。我無法更改ping程序,因爲它會在客戶端計算機上運行。我僅以ping爲例,任何不基於會話的連接都應該能夠切換。我在幾臺商用路由器上測試了這個功能,它確實有效。不幸的是,他們的軟件是專有的,但是,從各種對話和測試中,我發現它們在故障轉移時重新綁定套接字。
我可能在這裏錯過了一些東西,但你試過只關閉套接字,然後綁定到其他接口? – Duck 2009-05-06 02:51:51
謝謝鴨, 我會嘗試一下,看看會發生什麼。 – 2009-05-06 21:06:49