Está en la página 1de 3

PROTOCOLO DE TRANSMISION DE CONTROL

DE FLUJO
(SCTP)
Pablo Nieto, Santiago Cuenca, Michel Montaño
Escuela Superior Politécnica de Chimborazo

Resumen- Este escrito pretende describir las características,  Tolerancia de fallos a nivel de red gracias al
ventajas, desventajas y usos del protocolo SCTP. Se describirá multihoming (host con varias direcciones de red
cada uno de los aspectos antes mencionados de la manera más
sencilla posible, también se realizara una comparación con otros válidas) de uno o de ambos participantes en la
protocolos, basándonos en una bibliografía especializada y comunicación
algunos escritos reconocidos sobre el tema. El stream control transmission protocol tiene como principal
objetivo la fiabilidad y seguridad de la transmisión de datos. No
Palabras Clave- Sctp, Telefonía, Voz, Datos. es preciso regular el orden de forma estricta, pero en principio
es posible hacerlo en cualquier momento. De esta manera, con
I. INTRODUCCIÓN el SCTP solo es necesario mantener un proceso estable en la
La familia de protocolos de Internet es la base de la transmisión de paquetes si la aplicación que accede lo requiere.
comunicación de sistemas en redes como Internet. Sus más de Para ello, los datos enviados que se pueden repartir en varias
500 protocolos diferentes tienen, en su mayor parte, roles muy corrientes se agrupan por paquetes, no por bytes. Esto es
distintos, pero algunos también tienen más o menos la misma especialmente útil en servicios basados en mensajes.
función. Así, por ejemplo, tanto el TCP (Transmission Control
Protocol) como el UDP (User Datagram Protocol) definen de Dicha seguridad se consigue mediante un handshake de cuatro
qué manera intercambian los datos los usuarios de red. Mientras vías (autenticación recíproca, incluyendo el establecimiento de
que el TCP necesita para ello una conexión preexistente, el la conexión) entre el emisor y el receptor, sin el cual
UDP permite la transferencia de datos sin conexión. Con el la transferencia de datos mediante el SCTP no sería posible.
protocolo SCTP (stream control transmission protocol), la Además, la cabecera contiene una etiqueta de verificación y un
IETF (Internet Engineering Task Force) lanzó en el 2000 un campo opcional de suma de comprobación.
nuevo protocolo que combina las características del TCP y del
UDP. ¿Cómo funcionan las funciones concretas del protocolo
II. SCTP SCTP?
El stream control transmission protocol o SCTP es un protocolo
Para aclarar el funcionamiento del transporte de datos mediante
de red fiable de la familia de protocolos de Internet, diseñado
el stream control transmission protocol, te explicamos
por el grupo de trabajo Signaling Transport (SIGTRAN) de la
detalladamente las funciones más importantes del SCTP, desde
IETF. En el año 2000, se definió una primera versión del
el handshake de cuatro vías hasta el envío de los paquetes,
protocolo en la publicación RFC 2960 y, 7 años más tarde, la
pasando por la fragmentación.
IETF publicó en la RFC 4960 una variante más avanzada. El
protocolo SCTP se describe en estos estándares,
Conexión y desconexión en SCTP
principalmente, como un protocolo que sirve para reproducir la
infraestructura de telefonía en redes IP. También se usa, sin
embargo, en otros ámbitos. Por ejemplo, en el Reliable Server Al igual que el TCP, el SCTP es también un protocolo orientado
Pooling (gestión de grupos de servidores para la distribución de a la conexión que requiere una conexión existente entre el
cargas). cliente y el servidor para poder intercambiar paquetes. Para
establecer tal conexión, ambas partes realizan un
llamado handshake de cuatro vías, iniciado por el cliente con
Por qué se caracteriza el protocolo SCTP?
una petición INIT. El servidor responde a esta petición con un
El SCTP usa normalmente la dirección IP como base, pero en
mensaje tipo INIT-ACK que contiene, además de la
principio puede usarse sobre cualquier otro servicio de
confirmación, una cookie que identifica de forma inequívoca la
mensajería sin conexión. El transporte de paquetes se
conexión propuesta. El cliente, a su vez, envía esta cookie
caracteriza en este caso por los siguientes aspectos:
integrada en una petición COOKIE-ECHO de vuelta al
 Transmisión con confirmación de datos de usuario
servidor. Este, entonces, concluye el establecimiento de la
(sin fallos ni duplicados). conexión con un mensaje tipo COOKIE-ACK.
 Fragmentación de datos para poder ajustarse al
tamaño máximo de paquete de la ruta de red.
 Entrega secuenciada de mensajes de usuario dentro de
múltiples corrientes de datos (multistreaming),
incluyendo la opción de determinar el orden de dichos
mensajes.
 Agrupación (opcional) de varios mensajes de usuario
en un solo paquete SCTP (chunk bundling)
de los paquetes IP. También se evita el problema de tener que
enviar de nuevo mensajes completos cuando se pierde en la red
un solo fragmento.

Confirmación de paquete y control de sobrecarga


El stream control transmission protocol marca todos los
fragmentos de datos y los mensajes enteros con un
llamado transmission sequence number (número de secuencia
de transmisión). Para cada uno de estos números de secuencia,
el emisor espera un mensaje de confirmación del receptor. Si
dicho mensaje no se recibe en un período de tiempo concreto,
el paquete en cuestión se envía de nuevo. Para garantizar
esta fiabilidad de entrega independientemente de la transmisión
secuenciada, el receptor confirma que ha recibido un
transmission sequence number incluso cuando hay huecos en la
secuencia de transmisión. Para que la transmisión no solo sea
fiable, sino también lo más rápida posible, el SCTP recurre
a algoritmos de control de congestión similares a los del TCP.
Esos algoritmos regulan el envío para que no haya atascos de
paquetes que puedan sobrecargar el host.

Figura 1 Chunk bundling (agrupación de varios mensajes en un solo


paquete SCTP)
Para que la transferencia de datos por SCTP funcione lo más
rápido posible a pesar del handshake de cuatro vías, los El protocolo SCTP permite agrupar diversos mensajes en un
mensajes COOKIE-ECHO y COOKIE-ACK pueden contener solo paquete. De este modo, se pueden enviar múltiples
datos de usuario de antemano. informaciones de control o datos de usuario, llamados también
En cuanto acaba la transmisión, la aplicación / el usuario puede chunks (pedazos) en el estándar SCTP, con una misma cabecera
cerrar las conexiones SCTP. Sin embargo, también puede común. El mecanismo del chunk bundling se encarga tanto de
que se interrumpan antes de tiempo como resultado de un fallo. ensamblar los paquetes enteros como de separarlos del lado del
Además, es posible finalizar la conexión en cualquier momento receptor.
mediante una petición. En cualquiera de los casos,
la transferencia de datos se para totalmente en cuanto uno de los Validación de paquetes
participantes interrumpe la conexión.
En el establecimiento de la conexión SCTP, ambos puntos
Transmisión secuenciada en streams (corrientes de datos) terminales acuerdan una etiqueta de verificación que debe
aparecer durante toda la transmisión en las cabeceras de los
El término stream designa, en el ámbito del SCTP, una paquetes enviados. Si una de las partes recibe un paquete sin
secuencia de datos de usuario que se intercambia entre el dicha etiqueta, lo descarta de inmediato. Así, el protocolo
servidor y el cliente. Una única conexión SCTP da cabida a ofrece protección frente al acceso de terceros y evita, además,
tantos streams como se quiera, pudiendo el usuario especificar que puedan seguir llegando paquetes de conexiones anteriores.
el número exacto al establecer la conexión. Mientras que Para proteger aún más los datos, el emisor tiene la posibilidad
el orden de los datos dentro de una corriente se mantiene de de ampliar la cabecera con una suma de comprobación tipo
forma estricta, en la distribución de los distintos streams no CRC32C. Con este fin, el protocolo tiene disponible un campo
hay ninguna jerarquíani relaciones concretas de dependencia. opcional de 32 bits.
Por ello, si se dan problemas en la transmisión de la corriente
de datos, estos no afectarán a la transmisión de las otras Control de ruta
corrientes. Además, hay un mecanismo que permite eludir la
transmisión secuenciada y enviar paquetes de mensajes Puesto que el SCTP permite la transferencia multihoming, los
prioritarios. usuarios pueden introducir grupos enteros de direcciones que
pueden ser usadas como destinos potenciales de los paquetes
Fragmentación de los datos de usuario enviados. Si se han introducido múltiples direcciones, el
protocolo recurre por defecto a la ruta de conexión primaria. Si
El SCTP ofrece la posibilidad de fragmentar paquetes para esta ruta no está disponible, se reenvía a las direcciones
poder mantener siempre una PMTU (Path Maximum alternativas para poder retomar la transmisión sin
Transmission Unit) determinada, es decir, el tamaño máximo interrupciones. Para poder ofrecer este servicio, el streaming
de paquete que puede ser transferido por la ruta de conexión en control transmission protocol ha implementado una función de
concreto. En el momento de la entrega, los diversos fragmentos control de ruta que accede a las direcciones introducidas.
se vuelven a unir y llegan hasta el usuario como un mensaje Además, dicha función supervisa la disponibilidad de todas las
unificado. En comparación con la fragmentación a nivel de red rutas de dirección introducidas. Para ello, envía los
(llevada a cabo por el protocolo IP) esta fragmentación en la llamados heartbeats (señales de control) regularmente.
capa de transporte tiene muchas ventajas. Así, por ejemplo, se
reduce la carga de los routers responsables de la fragmentación
REFERENCIAS
[1] https://tools.ietf.org/html/rfc2960
[2] Stream Control Transmission Protocol (SCTP), a reference guide, R. R.
Stewart & Q. Xie, Addison-Wesley, ISBN 0-201-72186-4
[3] https://docs.oracle.com/cd/E19957-01/820-2981/ermih/index.html
[4] http://m.exam-10.com/doc/11372/index.html

Integrantes:

Santiago Cuenca 448

Pablo Nieto 730

Michel Montaño 584