Protocolos TCP vs SCTP
Tanto TCP (protocolo de control de transmisión) como SCTP (protocolo de transmisión de control de flujo) se encuentran en la capa de transporte y proporcionan funciones de transporte principalmente en aplicaciones de Internet. TCP proporciona una transferencia de datos confiable con un orden estricto de entrega de los paquetes, pero algunas aplicaciones necesitan una transferencia confiable, pero no al 100% de secuencia de la entrega de paquetes. En estos casos, TCP puede causar un retraso innecesario en la segunda opción donde la confiabilidad es importante pero no el 100% de entrega secuencial.
En el transporte de paquetes hay dos restricciones principales que una es la confiabilidad y otra es la latencia. La fiabilidad está garantizada la entrega del paquete y la latencia es oportunamente entregando el paquete. Ambos no se pueden lograr para alcanzar su punto máximo al mismo tiempo, pero podrían optimizarse.
SCTP se desarrolla básicamente para transportar la señalización de PSTN a través de las redes IP. (Sigtran). Pero en estos días otras aplicaciones también encuentran que SCTP es una buena coincidencia para sus requisitos.
TCP:
Definido en RFC 793
TCP está orientado a la conexión, un protocolo confiable de extremo a extremo para admitir la transmisión de datos garantizada. Desde el establecimiento de conexión en sí, TCP garantiza la confiabilidad. Algunas de las características principales de TCP son el apretón de manos de 3 vías (Syn, Syn-Aack, ACK), detección de errores, inicio lento, control de flujo, control de congestión.
TCP es un mecanismo de transporte confiable, por lo que se utilizará donde la entrega de paquetes es imprescindible incluso en congestiones. El ejemplo típico para las aplicaciones TCP y los números de puerto son los datos FTP (20), el control FTP (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110) , SNMP (161) y HTTPS (443). Estas son aplicaciones TCP bien conocidas.
SCTP:
Definido en RFC4960
SCTP (protocolo de transmisión de control de flujo) es un protocolo de transporte IP como TCP y UDP. SCTP es un protocolo de unidifusión y la entrega de datos de extremo a extremo admitido dentro de exactamente dos puntos finales. Pero los puntos finales pueden tener más de una dirección IP.
SCTP es un protocolo de transmisión dúplex completo con características como retransmitiendo, control de flujo y mantenimiento de secuencias.
Además de TCP, SCTP tiene más funciones y algunas se enumeran a continuación
SCTP permite que los datos se dividan en múltiples transmisiones y cada secuencia tiene su propia secuencia de entrega. Considere el caso de la señalización de telefonía, es necesario mantener la secuencia de paquetes que afectan la misma sesión o recurso. (Ej: misma llamada o el mismo baúl). Por lo tanto, el seguimiento de la secuencia basado en la transmisión es suficiente y dará como resultado un mejor rendimiento que una transmisión completa.
Esta función es compatible con el punto final SCTP único para tener múltiples direcciones IP. La razón principal de esto es mantener la disponibilidad del punto final a través de varias rutas de enrutamiento redundantes.
Se mantiene un contador para realizar un seguimiento de los reconocimientos de transmisión fallidos a un destino particular. Hay un umbral definido y si eso excede la dirección de destino se declara inactiva y SCTP comienza a enviar a una dirección alternativa.
Resumen:
(1) TCP y SCTP admiten servicios de transporte confiables.
(2) TCP admite un flujo único de entrega de datos donde SCTP admite múltiples flujos de entrega de datos.
(3) TCP admite un punto final TCP único para tener una dirección IP donde SCTP admite un punto final SCTP único puede tener múltiples direcciones IP para fines principalmente de redundancia.
(4) Más bien TCP, SCTP es más seguro.
(5) Los procesos de inicio y cierre de SCTP son diferentes de TCP.