O protocolo simples é projetado especificamente para fazer o que você solicita. Com MPTCP você pode
- estabelecer uma conexão com seu par
- diga aos seus terminais disponíveis (como o endereço IP de
ppp0
eeth0
) - deste ponto todos os caminhos negociados podem ser usados, mas você também pode definir um link como ativo e os outros como fallback
Se um de seus caminhos falhar, o MPTCP permitirá que você faça o failover de forma transparente para outro caminho conhecido (é necessário que seu peer esteja ciente desse caminho, é claro). Se o seu caminho anterior com falha ficar disponível novamente, você poderá voltar. Se você abordar a mudança no meio, poderá dizer a seu colega que isso aconteceu, contanto que um caminho utilizável permaneça disponível (já que você precisará de um canal para comunicar a mudança).
Mas você terá que ter em mente que isso só funciona se não apenas seu cliente, mas também
- seu peer remoto precisa suportar MPTCP
- todos os roteadores / gateways intermediários em seu caminho precisam manter suas mãos fora das opções TCP MPTCP (pelo menos muitos roteadores plásticos como roteadores ADSL "de classe cliente" etc. são conhecidos por remover as opções de TCP que não entendem) .
Em um mundo perfeito, estaríamos todos usando o SCTP, & ast; sigh & ast;.