SCTP con Multihoming como reemplazo directo para TCP

SCTP tiene soporte nativo de multi-homing que, si lo entiendo correctamente, redirigirá automáticamente sus paquetes a través de una NIC secundaria si la interfaz principal deja de funcionar. Dupliqué esta funcionalidad con TCP escribiendo un demonio de enrutamiento personalizado para modificar las tablas de enrutamiento si mi NIC principal deja de funcionar. Me gustaría intentar usarSCTP en lugar.

En Steven'sUnix Network Programming V1 3rd Edition en la página 288 dice:

Para este ejemplo, usamos un servidor de uno a muchos estilos. Tomamos esta decisión por una razón importante. Los ejemplos en el Capítulo 5 se pueden modificar para pasar por altoSCTP con un cambio menor: modifique elsocket llamada a la función para especificarIPPROTO_SCTP en lugar deIPPROTO_TCP como el tercer argumento. Simplemente hacer este cambio, sin embargo, no aprovecharía ninguna de las características adicionales proporcionadas porSCTP excepto multi-homing.

Ahora he intentado esto con resultados bastante pobres.

Estoy ejecutando Ubuntu 9.04 con los paquetes libsctp1, libsctp-dev y lksctp-tools instalados. He verificado con lksctp-tools queSCTP Funciona correctamente

yo tomé elCódigo de ejemplo UNP y modificado como se indica arriba~/unpv13e/tcpcliserv/tcpserv04.c y~/unpv13e/select/tcpcli02.c programas

Este es un simple par servidor / cliente echo. El servidor se ejecuta aparentemente escuchando, pero el cliente sale diciendo que la conexión fue rechazada. Como netstat no es compatibleSCTP solíalsof -n | grep tcpserv que me mostró:

tcpserv04 6208      alice    3u     sock        0,4            33889 can't identify protocol

Esto no parece decirme mucho más que tcpserv04 tiene algún tipo de socket abierto.

Ya había reescrito y probado el cliente TCP original en perl, así que lo cambié a sctp y pude conectarme, aunque la canalización de un archivo en stdin no funcionó por completo (se bloqueó aproximadamente 2/3 del camino al recibir la parte posterior del eco) .

Parece que UNP implica que portar aplicaciones TCP a SCTP para aprovechar el multi-homing es trivial, aunque este simple intento no parece ser el caso.

¿Alguien puede señalarme un buen tutorial o dar buenos consejos sobre cualquier cosa que tenga que tener en cuenta al portar aplicaciones TCP a SCTP de estilo uno a uno para aprovechar el multi-homing?

Respuestas a la pregunta(1)

Su respuesta a la pregunta