8
PROTOCOLOS DE TRANSPORTE EN TIEMPO REAL (UDP) Franklin Iván Gualan Carchi Estudiante de la Ingeniería en Electrónica y Telecomunicaciones de la UNL. Correo-e: [email protected] Ángel Eduardo Tandazo Gallegos Estudiante de la Ingeniería en Electrónica y Telecomunicaciones de la UNL. [email protected] Resume: This document discusses the basic concepts about the protocols most popular for communication in real time, focusing on a simple and straightforward description that serves as an introduction to the architecture of oriented protocols to meet the demands of traffic of applications that require a data stream in real time, refers to protocols that work with UDP at the transport layer, such as: RTP, RTCP, RTSP, SIP, H.323. 1. INTRODUCCIÓN. Con el auge de las tecnologías y técnicas modernas para las comunicaciones tanto fijas como móviles, cada día se fueron incorporando mayores exigencias de los usuarios finales de los diferentes sistemas de telecomunicaciones, en la actualidad estas exigencias van de la mano de términos como convergencia tecnológica, calidad de servicio y transmisiones en tiempo real. Obviamente ante esta situación los diversos sectores involucrados en el área de las telecomunicaciones se han visto en la necesidad innovar nuevas tecnologías capaces de satisfacer estas necesidades. Una parte esencial para la posible implementación de estas nuevas tecnologías son los estándares que regirán la manera en la que se organizara el proceso de comunicaciones. Ahora si nos enfocamos en aplicaciones que demandan el flujo de datos en tiempo real podemos advertir que protocolos de capa de transporte como el TCP no garantiza un adecuado flujo de datos acorde a las exigencias de un proceso de comunicación en tiempo real, y más aún esto involucraría un mayor consumo de recursos por lo cual resulto adecuado y oportuno el desarrollo de protocolos de comunicación orientados exclusivamente a comunicaciones multimedia en tiempo real, donde obviamente se prescinde a de algunas ventajas de los protocolos orientados a la conexión, pero en cambio se logra optimizar de mejor manera los recursos de red. 2. PROTOCOLOS DE COMUNICACIÓN EN TIEMPO REAL. Los requerimientos de comunicaciones en tiempo real conllevaron a que investigadores se involucren en el diseño de familias de protocolos donde se incluyen: RTP (Protocolo de transmisión en tiempo real). RTCP (Protocolo de control de transmisión en tiempo real). RTSP (Protocolo de transmisión de flujos en tiempo real). SIP (Protocolo de inicialización de sesión). H-323. Las aplicaciones multimedia que demandan servicio de tráfico en tiempo real pueden ser divididas en dos categorías: Aplicaciones interactivas en tiempo real: Voz sobre internet (VoIp), video conferencia. Aplicaciones no interactivas: estas a su vez se pueden subdividir en dos categorías a.) Streaming de audio/video almacenado: música, video clips, películas, etc. Almacenados en servidores, tenemos aplicaciones como Real Player, Apple Quick Time, Microsoft Windows Media, entre otros. b.) Streaming de audio/video en vivo: para aplicaciones de audio y video similares a la señal de televisión tipo broadcast de la televisión o radio convencional. FIGURA 1. FLUJO DE DATOS PARA COMUNICACCIONES EN TIEMPO REAL

Protocolos de Transporte en Tiempo REAL

  • Upload
    fisorg

  • View
    13

  • Download
    0

Embed Size (px)

DESCRIPTION

RTP, RTCP.

Citation preview

Page 1: Protocolos de Transporte en Tiempo REAL

PROTOCOLOS DE TRANSPORTE EN TIEMPO REAL (UDP)

Franklin Iván Gualan Carchi Estudiante de la Ingeniería en Electrónica y Telecomunicaciones de la UNL.

Correo-e: [email protected] Ángel Eduardo Tandazo Gallegos

Estudiante de la Ingeniería en Electrónica y Telecomunicaciones de la UNL. [email protected]

Resume: This document discusses the basic concepts about the protocols most popular for communication in real time, focusing on a simple and straightforward description that serves as an introduction to the architecture of oriented protocols to meet the demands of traffic of applications that require a data stream in real time, refers to protocols that work with UDP at the transport layer, such as: RTP, RTCP, RTSP, SIP, H.323.

1. INTRODUCCIÓN.

Con el auge de las tecnologías y técnicas modernas

para las comunicaciones tanto fijas como móviles,

cada día se fueron incorporando mayores exigencias

de los usuarios finales de los diferentes sistemas de

telecomunicaciones, en la actualidad estas exigencias

van de la mano de términos como convergencia

tecnológica, calidad de servicio y transmisiones en

tiempo real. Obviamente ante esta situación los

diversos sectores involucrados en el área de las

telecomunicaciones se han visto en la necesidad

innovar nuevas tecnologías capaces de satisfacer estas

necesidades.

Una parte esencial para la posible implementación de

estas nuevas tecnologías son los estándares que

regirán la manera en la que se organizara el proceso

de comunicaciones. Ahora si nos enfocamos en

aplicaciones que demandan el flujo de datos en

tiempo real podemos advertir que protocolos de capa

de transporte como el TCP no garantiza un adecuado

flujo de datos acorde a las exigencias de un proceso

de comunicación en tiempo real, y más aún esto

involucraría un mayor consumo de recursos por lo

cual resulto adecuado y oportuno el desarrollo de

protocolos de comunicación orientados

exclusivamente a comunicaciones multimedia en

tiempo real, donde obviamente se prescinde a de

algunas ventajas de los protocolos orientados a la

conexión, pero en cambio se logra optimizar de mejor

manera los recursos de red.

2. PROTOCOLOS DE COMUNICACIÓN EN TIEMPO REAL.

Los requerimientos de comunicaciones en tiempo real

conllevaron a que investigadores se involucren en el

diseño de familias de protocolos donde se incluyen:

RTP (Protocolo de transmisión en tiempo

real).

RTCP (Protocolo de control de

transmisión en tiempo real).

RTSP (Protocolo de transmisión de flujos

en tiempo real).

SIP (Protocolo de inicialización de

sesión).

H-323.

Las aplicaciones multimedia que demandan servicio

de tráfico en tiempo real pueden ser divididas en dos

categorías:

Aplicaciones interactivas en tiempo real: Voz

sobre internet (VoIp), video conferencia.

Aplicaciones no interactivas: estas a su vez se

pueden subdividir en dos categorías

a.) Streaming de audio/video almacenado:

música, video clips, películas, etc.

Almacenados en servidores, tenemos

aplicaciones como Real Player, Apple

Quick Time, Microsoft Windows Media,

entre otros.

b.) Streaming de audio/video en vivo: para

aplicaciones de audio y video similares a

la señal de televisión tipo broadcast de la

televisión o radio convencional.

FIGURA 1. FLUJO DE DATOS PARA COMUNICACCIONES EN TIEMPO REAL

Page 2: Protocolos de Transporte en Tiempo REAL

2.1. PROTOCOLO RTP.

Este protocolo es de uso común en aplicaciones que

requieren el transporte de audio o video en tiempo

real, especialmente para servicios conocidos como

media-on-demand, donde están servicios como la

telefonía IP y las aplicaciones para videoconferencia,

este estándar se encuentra definido en la RFC 3550, y

puede ser usado para trasportar formatos archivos

como Mp3 en el caso de audio y H.263 para el caso de

video aunque también soporta otro tipo de archivos

de audio o video , también tiene importantes

aplicaciones para el transporte de archivos con

codificación PCM y sistemas GSM.

FIGURA 2. MODELO GENERICO PARA COMUNICACIONES CON PROTOCOLO RTP.

Como era de esperar RTP trabaja con segmentos UDP

en la capa de transporte y protocolo IP en la capa de

red, por lo cual no cuenta con un mecanismo para

asegurarnos de la entrega de paquetes, los

datagramas RTP contienen en su encabezado

información del tipo de codificación usado en el

archivo de audio o video, pero esto varía de acuerdo

al tipo de codificación de audio o video que se esté

empleando, esto también es determinante para

asignar flujos independientes para las diferentes

fuentes de información que pueden involucrarse en la

comunicación, como en el caso de las video

conferencias. RTP puede tener aplicaciones de

multidifusión.

El encabezado de un paquete RTP tiene los siguientes

campos:

FIGURA 3. PAQUETE RTP.

Donde:

Versión (2 bits): es un campo de dos bits que indica el

número de versión del protocolo, la última versión

disponible de RTP es la numero 2.

Padding (Relleno) (1 bit): este bit indica si aparecen

octetos de relleno en el payload, en el caso de existir

octetos de relleno, el último octeto del payload indica

el número de octetos de relleno presentes en el

payload.

Extensión (1 bit): se usa para indicar extensiones del

encabezado para versiones experimentales de RTP.

Contador CSRC (4 bits): indica el número de fuentes

que intervienen en el proceso de comunicación.

Marker (Marcador) (1 bit): el uso de este bit depende

del tipo de payload que lleve el paquete, pues en un

archivo de audio significa el inicio de la comunicación,

mientras que en archivos de video significa el fin del

bloque de datos.

Payload Type (Tipo de carga util) (7 bits): sirve para

identificar el formato de la carga útil del paquete RTP.

Sequence Number (número de secuencia) (16 bits):

ayuda a ordenar la secuencia de paquetes para una

adecuada reproducción.

Timestamp (marca de tiempo) (32 bits): es un valor

que depende del tipo de payload que se transporte, y

su valor hace referencia al instante de tiempo en el

cual fue generado el primer octeto de datos del

payload.

SSRC (Identificador de sincronización de Fuente): es

un número que identifica a una fuente con una sesión

en particular.

CSRC (Identificador de fuentes contribuyentes):

identifica al tipo de fuente contribuyente del payload.

La RFC 1890 resume el tipo de payload para los

paquetes RTP.

FIGURA 4. TIPOS DE FORMATOS SOPORTADOS POR RTP

Page 3: Protocolos de Transporte en Tiempo REAL

2.2. PROTOCOLO RTCP.

Este es un protocolo desarrollado para ser usado

de forma conjunta con el protocolo RTP,

especialmente para transmisiones multicast, su

principal función es la entrega de información

acerca de los miembros de la sesión, en forma de

estadísticas que advierten situaciones como la

cantidad de paquetes perdidos y entregados,

esta información puede ser de gran ayuda en

alguno de los terminales miembros de la

comunicación, además del tipo de paquete la

principal diferencia entre los paquetes RTP y

RTCP radica en que hacen uso de distinto

número de puerto, generalmente el número de

puerto de RTCP es un número mayor que el del

RTP.

La RFC 3550 define 5 clases de paquetes RTCP:

RR (Reporte de Receptor): este tipo de reporte

es generado por participantes de la sesión que

habitualmente no generan paquetes de

comunicación, contiene información acerca de

paquetes enviados y recibidos, jitter de arribo,

marcas de tiempo para calcular tiempos de

comunicación entre emisor y receptor.

SR (Reporte de Emisor): este tipo de reportes

son generados por emisores que intervienen de

manera habitual en la sesión, contienen

información acerca del emisor, sincronización,

número de bytes enviados y contador de

paquetes.

FIGURA 6. PAQUETE RTCP TIPO SR

SDES (Ítems de Información de la Fuente):

contiene información que identifican de manera

única a los participantes de una sesión como;

número de teléfono dirección de e-mail, nombre

de usuario, etc.

FIGURA 7. PAQUETE RTCP TIPO SDES

FIGURA 5. PAQUETE RTCP TIPO RR

Page 4: Protocolos de Transporte en Tiempo REAL

BYE: este tipo de paquete se usa para indicar el

fin de la participación en la sesión.

FIGURA 8. PAQUETE RTCP TIPO BYE

APP (Funciones de aplicación específica): se

usan para aplicaciones experimentales y para el

desarrollo de nuevas características.

FIGURA 9. PAQUETE RTCP TIPO APP

2.3. PROTOCOLO DE FLUJO DE DATOS EN TIEMPO REAL (RTSP) REAL TIME STREAMING PROTOCOL

Es un protocolo de aplicación para el control de la

entrega de datos en tiempo real. Actúa como un

“control remoto de red” para servidores multimedia.

Este protocolo es no orientado a conexión y se usa en

definición de cómo se envía información entre el

cliente y el servidor.

Su trabajo corresponde al nivel de aplicación y su

control se basa en la correcta entrega de datos, ya

que el contenido que porta al hacer streaming es

sensible a la sincronía temporal o la falta de la misma;

actúa así como mando a distancia para servidores

multimedia.

Figura 10. RTSP Establece y controla uno o varios flujos sincronizados de medios continuos (audio y video).

Para conseguir siempre un envió fiable a través de

redes IP con mayor eficiencia el RTSP define

diferentes tipo de conexión y diferentes conjuntos de

requisitos. También a través de un único identificador

se define el uso de sesiones, lo cual permite al cliente

abrir o cerrar confiables con el servidor mediante

peticiones RTSP

Cuando usa el flujo controlado puede usar el RTP,

pero en su operación el RTSP es independiente del

mecanismo de transporte usado para transmitir el

flujo continuo de datos, en la mayoría de casos se usa

TCP para control de reproductor y UDP para la

transmisión de datos con RTP.

Propiedades del protocolo RTSP:

Extensible

•Permite que nuevos métodos y parámetros pueden ser añadidos a RTSP fácilmente.

Seguro

•Usa los mecanismos de seguridad de la web, cualquiera a nivel de transporte. Pudiendo aplicar directamente los mecanismos de autentificación de http.

Capacidad multi-

servidor:

•Cada flujo de contenido perteneciente a una misma presentación puede residir en diferentes servidores.

Neutral presentacion

es

•No impone ninguna descripción particular o formato concreto de metafile.

Capacidad de negociación

•Si las características básicas están desactivadas, hay un mecanismo para determinar el métodos a ser implementado.

Page 5: Protocolos de Transporte en Tiempo REAL

El protocolo es muy similar al HTTP/1.1, pero su

diferencia radica en lo siguiente:

a. RTSP introduce una serie de nuevos métodos

y tiene una diferente identificadora de

protocolo.

b. Un servidor RTSP necesita para mantener el

estado por defecto en casi todos casos, en

oposición a la naturaleza sin estado de HTTP.

c. Tanto un servidor RTSP y el cliente puede

emitir solicitudes.

d. Los datos se lleva a cabo de banda por un

protocolo diferente

e. RTSP se define para utilizar la norma ISO

10646 (UTF-8) en lugar de la norma ISO 8859-

1, en consonancia con los esfuerzos de

internacionalización HTML actuales.

f. La Request-URI siempre contiene el URI

absoluto. Porque compatibilidad hacia atrás

con un error histórico, HTTP / 1.1 lleva

solamente la ruta absoluta en la solicitud y

pone el anfitrión nombrar en un campo de la

cabecera separada.

g. Esto hace que "hosting virtual" más fácil,

donde un único host con un solo Dirección IP

es sede de varios árboles de documentos.

El RTSP soporta las siguientes operaciones:

Proporcionar contenidos multimedia desde un

servidor dedicado

Invitación de un servidor de streaming a una

conferencia

Añadido de contenido multimedia a una

presentación existente

Peticiones RTSP Direcciones del trafico

DESCRIBE C → S

GET_PARAMETER C → S, S → C

OPTIONS C → S, S → C

PAUSE C → S

PING C → S, S → C

PLAY C → S

REDIRECT S → C

SETUP C → S

SET_PARAMETER C → S, S → C

TEARDOWN C → S Tabla 1. Tabla de comunicación mediante RTSP.

2.4. PROTOCOLO DE INICIACIÓN DE SESIÓN (SIP) “SESSION INITIATION PROTOCOL”

Creado por la IETF (Internet Engineering Task Force),

es un protocolo de señalización, ya que realiza tres

tareas primordiales en sesiones multimedia como

son:

Establece

Libera

Modifica

A su vez hereda ciertas funciones del HTTP (Hyper

Text Tranport Protocol) y del SMTP (Simple Mail

Transport Protocol). El SIP usa lo de Cliente servidor, y

su direccionamiento usa el URL SIP (Uniform

Transaccional Locator SIP) muy similar a un email, por

lo tanto cada participantes es alcanzable

Un requerimiento SIP contiene el encabezamiento o el

“headers” al igual que un mando STMP, lo cual lo hace

un protocolo textual.

Su extensión llega a soportar numerosos servicios

como:

Mensajería instantánea

Transferencia de llamadas

Servicios complementarios de telefonía

El SIP hace un control de sesión y un control de

servicio de la arquitectura “IP Multimedia Subsystem”

o IMS en 3GPP, se cree que en el futuro reemplazar al

ISUP que es usado en el control de llamadas en Redes

Telefónicas Conmutadas y el INAP usado control de

servicio de arquitectura inteligente.

Como se ha mencionado anteriormente el SIP es un

protocolo de señalización, cuando esta está

establecida los participantes de la sesión intercambian

directamente su tráfico sea este un audio/video

usando el protocolo RTP. Ya que el SIP no reserva

recursos, el mismo no podría asegurar la calidad del

servicio, lo que hace en si es el control de la llamada

no del medio.

Figura 11. Conexión SIP.

Page 6: Protocolos de Transporte en Tiempo REAL

SIP HTTP

Transmite mensajes de señalización cortos para establecer, mantener y liberar la sesión multimedia

Transporta grande volumen de datos

Tabla 2. Diferencias entre SIP y HTTP

Funciones del protocolo SIP

Localización de usuario (Proporcionando

soporte para la movilidad)

Capacidad de usuario (permite la negociación

de parámetros)

Disponibilidad del usuario

Establecimiento y mantenimiento de una

sesión.

Aspectos importantes del SIP:

Control de llamadas sin estado o “stateless”,

que proporciona escalabilidad entre

dispositivos telefónicos y los servidores

Necesita menos ciclos de una CPU para la

generación de los mensajes de señalización,

permitiéndole al server manipular más

transacciones

Una llamada SIP es independiente de la

existencia de una conexión en la capa

transporte

En Autenticación el SIP usa cualquier capara

de transporte o cualquier mecanismo de

seguridad sea HTTP, SSH o S-HTTP.

Un proxy SIP puede controlar la señalización

de la llamada y puede bifurcar a cualquier

dispositivo simultáneamente

MÉTODO DESCRIPCIÓN

INVITE Solicita el inicio de una sesión

ACK Confirma que se inició una sesión

BYE Solicita la terminación de una sesión

OPTION Consulta a un host sobre sus capacidades

CANCEL Cancela una solicitud pendiente

REGISTER Informa a su servidor de redireccion sobre la ubicación actual del usuario

Tabla 2. Métodos usados para conexión SIP.

Figura 12. Servidor proxy y re direccionamiento SIP.

2.5. PROTOCOLO H.323

Este protocolo nació en el ano de 1996 y se denominó

“Sistemas y terminales de telefonía visual sobre redes

de área local sin garantías de calidad de servicio”. Este

estándar aporto al desarrollo de un conjuntos de

protocolos de señalización que permitan controlar el

establecimiento, mantenimiento y liberación de

conexiones multimedia sean estos audio, video o

datos en la redes de paquetes.

En 1998 reaparece la segunda versión del H.323 v2

con su nombre “Packet based multimedia

communications systems”, y es considerado como

paraguas de estándares.

Figura 13. Arquitectura del modelo H.323

Terminal H.323

Proporciona en tiempo real una comunicación

bidireccional con otros terminales H.323. El

intercambio de información incluye controles,

indicaciones, audio, video y datos.

Cada terminal debe soportar a o mínimo:

transmisión de voz

voz y datos

voz y video

Page 7: Protocolos de Transporte en Tiempo REAL

voz, datos y video

Figura 14. Estructura del terminal H.323

En la siguiente figura se muestra la arquitectura del

protocolo incluyendo el transporte de medios,

transporte de protocolos y de señalización. L mayor

parte de los canales usan conexiones TCP y la UDP a

partir de la versión 3, mientras el transporte de

medios utiliza UDP.

Figura 15.Pila del protocolo H.323

Características Principales

Interoperabilidad entre distintos fabricantes.-

debido a su complejidad este protocolo

intenta acotar todas las posibilidades de la

comunicación, de las capacidades de la

funcionalidad de cada elemento de la red

Independencia de la red.- hace referencia a

redes de paquetes que no provean calidad de

servicio, pero no especifica ningún protocolo

de red en concreto.

Independencia de la plataforma y de la

aplicación.- siempre que se cumplan los

requisitos y procedimientos descritos en las

especificaciones, podrán hacer uso el H.323

cualquier plataforma, hardware o sistema

operativo deseado.

Soporte para multiconferencias.- permite

mantener multiconferencias sin el uso de

entidades especializadas más MCUs

(Multipoint Control Units) proporcionan

arquitectura más robusta y flexible.

Gestión de ancho de banda.- el tráfico de

audio y video resulta costos en ancho de

banda, se limita las conexiones.

Soporte en multicast.- envía un solo paquete

hacia un conjunto de destino sin replicación.

3. CONCLUSIONES.

El protocolo UDP de la capa de transporte

es la solución más idónea a la hora de

establecer un adecuado equilibrio entre el

tráfico que demandan diversas

aplicaciones en tiempo real y los recursos

de la red de comunicaciones.

Los protocolos para comunicaciones en

tiempo real RTP varían de acuerdo a los

formatos de audio o video que se desean

transmitir, aunque soporta también varios

formatos propietarios es importante tener

en cuenta los diversos tipos de

codificaciones de audio y video.

RTP es importante el desarrollo e

implementación de protocolos como el

RTCP, SIP y H.323, por lo que resulta

necesario conocer la información básica

que contienen los paquetes RTP.

RTCP es un mecanismo que nos puede

ayudar a mejorar los niveles de calidad en

una sesión multicast, pero eso depende

de la aplicación que implementemos para

trabajar con la información contenida en

los paquetes RTCP.

El protocolo RTSP es en sí un control

remoto de red en servicio multimedia no

orientado a conexión, su característica es

la correcta entrega de datos, lo cual

facilita la virtualización de hosting con un

solo dominio IP, adema soporta

invitaciones a streaming, añadir contenido

multimedia, etc.

El protocolo SIP es un protocolo de

señalización que realiza el proceso de

establecer, liberar y modificar en sesiones

multimedia, soporta mensajería,

transferencia de llamadas y sus servicios

complementarios de telefonía, adicional

es el protocolo que está reemplazando al

H.323

Page 8: Protocolos de Transporte en Tiempo REAL

El protocolo H.323 es el protocolo inferior

al SIP realiza procesos muy similares al

SIP,, pero es un sistema sin garantías de

calidad de servicio

BIBLIOGRAFIA:

[1] KUROSSE J. Redes de Computadoras Un

Enfoque Descendente. Boston –USA, 2012,

7ma edición.

[2] STALLINGS W. Data and computers

communications. New Jersey-USA, 8va

edición.

[3] ARJAN D. RAJ J. RTP, RTCP and RTSP

Internet protocols for Real Time Multimedia

Communication. Louisiana-USA, 2005.

[4] ISHANT Raj, KAMALJEET Singh, RAHUL

Raj, T. J. Parvat. Real Time Communicaction

over Modified UDP Protocol. IOSR Journal of

Computer Engineering (IOSR-JCE)

[5] David Mateos Costilla, Samuel Reaño,

Streaming de Audio/Video. Protocolo RTSP,

Serveis Telematics, Enginy 2012, pdf de

uib.es

http://enginy.uib.es/index.php/enginy/article/vi

ewFile/74/53

[6] Francisco Suarez Alonso, Universidad de

Oviedo, área de arquitectura y tecnología de

computadoras, 2010-2011, pdf de uniovies,

http://www.atc.uniovi.es/teleco/5tm/archives/8

streaming.pdf

[7] José Moreno, Ignacio Soto, David Larrabeiti,

Universidad Carlos III de Madrid, Ingeniería

de Telemática, Protocolos de señalización

para el transporte de voz sobre redes IP, pdf

de uc3m.es,

http://orff.uc3m.es/handle/10016/4295

[8] ITU, Estándar H.323 Diseño y configuración

de dos plataformas de interfonia H.323 pdf

online:

http://bibing.us.es/proyectos/abreproy/11252/fi

chero/2-H.323.pdf

[9] Andrew S Tanebaum, Redes de

computadoras, Cuarta edición, protocolos en

tiempo real, pp 529-555