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 una secuencia de entrega de paquetes al 100%. En estos casos, TCP puede causar demoras innecesarias en la segunda opción donde la confiabilidad es importante pero no la entrega 100% secuencial.
En el transporte de paquetes hay dos restricciones principales, una es la confiabilidad y la otra es la latencia. La confiabilidad es la entrega garantizada del paquete y la latencia es la entrega oportuna del paquete. No se puede lograr que ambos alcancen su punto máximo al mismo tiempo, pero se pueden optimizar.
SCTP está desarrollado básicamente para transportar señalización PSTN sobre redes IP. (SIGTRAN). Pero en estos días, otras aplicaciones también encuentran que SCTP es una buena opción para sus requisitos.
TCP:
Definido en RFC 793
TCP es un protocolo confiable de extremo a extremo orientado a la conexión para admitir la transmisión de datos garantizada. Desde el propio establecimiento de la conexión TCP asegura la fiabilidad. Algunas de las características principales de TCP son reconocimiento de 3 vías (SYN, SYN-ACK, ACK), detección de errores, inicio lento, control de flujo, control de congestión.
TCP es un mecanismo de transporte fiable, por lo que se utilizará cuando la entrega de paquetes sea imprescindible, incluso en congestiones. Un ejemplo típico de aplicaciones TCP y números de puerto son datos FTP (20), control FTP (21), SSH (222), Telnet (23), correo (25), DNS (53), HTTP (80), POP3 (110), SNMP(161) y HTTPS(443). Estas son aplicaciones TCP muy 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 admite la entrega de datos de extremo a extremo 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 funciones como retransmisión, control de flujo y mantenimiento de secuencias.
Además de TCP, SCTP tiene más funciones y algunas se enumeran a continuación
Función de transmisión múltiple SCTP
SCTP permite que los datos se dividan en varios flujos y cada flujo 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 a una misma sesión o recurso. (Ej: Misma llamada o misma troncal). Por lo tanto, el seguimiento de secuencias basado en transmisión es suficiente y dará como resultado un mejor rendimiento que una transmisión completa.
SCTP multidireccional
Esta característica admite que un único punto final SCTP tenga varias direcciones IP. La razón principal de esto es mantener la disponibilidad del punto final a través de varias rutas de enrutamiento redundantes.
Selección de ruta
Se mantiene un contador para realizar un seguimiento de los acuses de recibo de transmisión fallidos a un destino en particular. Hay un umbral definido y, si lo supera, la dirección de destino se declara inactiva y SCTP comienza a enviar a la dirección alternativa.
Resumen:
(1) Tanto TCP como SCTP admiten servicios de transporte fiables.
(2) TCP admite un solo flujo de entrega de datos, mientras que SCTP admite varios flujos de entrega de datos.
(3) TCP admite un punto final TCP único para tener una dirección IP, mientras que SCTP admite un punto final SCTP único que puede tener varias direcciones IP principalmente con fines de redundancia.
(4) Más bien TCP, SCTP es más seguro.
(5) Los procesos de inicio y apagado de SCTP son diferentes a los de TCP.