Protocolos TCP vs SCTP
Tanto TCP (Transmission Control Protocol) como SCTP (Stream Control Transmission Protocol) 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 estricto orden de entrega de los paquetes, pero algunas aplicaciones necesitan una transferencia confiable pero no una secuencia de entrega de paquetes del 100%. En estos casos, TCP puede causar retrasos innecesarios en la segunda opción donde la confiabilidad es importante pero no la entrega secuencial al 100%.
En el transporte de paquetes existen dos limitaciones principales, una es la fiabilidad 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 el pico 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 soportar la transmisión de datos garantizada. Desde el propio establecimiento de la conexión, TCP garantiza la fiabilidad. Algunas de las características principales de TCP son protocolo de enlace 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 confiable, por lo que se utilizará donde la entrega de paquetes sea imprescindible incluso en situaciones de congestión. Los ejemplos típicos 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 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 es compatible con la entrega de datos de un extremo a otro dentro de exactamente dos extremos. Pero los puntos finales pueden tener más de una dirección IP.
SCTP es un protocolo de transmisión full duplex con características como retransmisión, control de flujo y mantenimiento de secuencia.
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 afecta a la misma sesión o recurso. (Ej.: Misma llamada o misma troncal). Por lo tanto, el seguimiento de secuencias basado en transmisiones es suficiente y dará como resultado un mejor rendimiento que una transmisión completa.
Multi homing SCTP
Esta función 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 camino
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 excede la dirección de destino se declara inactivo y SCTP comienza a enviar a la dirección alternativa.
Resumen:
(1) Tanto TCP como SCTP admiten servicios de transporte fiables.
(2) TCP admite una única transmisión de datos, mientras que SCTP admite múltiples transmisiones de datos.
(3) TCP admite un único punto final TCP para tener una dirección IP, mientras que SCTP admite un único punto final SCTP puede tener varias direcciones IP principalmente con fines de redundancia.
(4) En lugar de TCP, SCTP es más seguro.
(5) Los procesos de inicio y cierre de SCTP son diferentes de TCP.