Skip to content

Sesion 10 Comunicacion Multimedia I

Jesús Parrado Alameda edited this page Apr 22, 2024 · 10 revisions

Sesión 10: Comunicación Multimedia I

  • Tiempo: 2h (50 + 50min)
  • Fecha: Martes, 23 de Abril de 2024
  • Objetivos de la sesión:
    • Aprender los principios básicos para poder transmitir información multimedia por Internet
    • Playout time

Contenido

Introducción

En las próximas sesiones vamos a trabajar con este escenario:

Un emisor emite paquetes multimedia a través de internet hacia un receptor.

Los datos multimedia pueden ser cualquiera, aunque en los ejemplos utilizaremos normalmente audio.

Sin embargo, internet es una red especializada en el tráfico de datos.

Entonces, el problema a resolver es el siguiente:

¿Cómo enviar tráfico multimedia en redes concebidas para datos?

¿Qué alternativas tenemos?

Aplicaciones multimedia

Las aplicaciones multimedia son especiales.

Tienen unos requerimientos muy distintos al del tráfico de datos.

Tráfico multimedia vs tráfico de datos

El tráfico multimedia está pensado para enviarse por redes multimedia, que tienen las siguientes características:

  • No se pueden congestionar. Típicamente realizan un control de la admisión. Si todos los recursos están ocupados NO permiten acceder a más usuarios.
  • Garantizan la calidad. Una vez que estás dentro, tienen garantizada una calidad mínima.

Internet es una red especializada en el tráfico de datos, y como tal, NO tiene los mecanismos que requieren las aplicaciones multimedia.

En internet ocurre que:

  • Se puede congestionar. Implica que los datos llegarán, pero les llevará más tiempo.
  • No se garantiza la calidad. El ancho de banda utilizable depende de cuánto tráfico haya. No está garantizado un mínimo de ancho de banda.
  • No tiene control de la admisión. Cualquier aplicación puede enviar paquetes.

¿Cómo hacemos entonces para enviar tráfico multimedia por Internet?

El enfoque que se sigue es trabajar a nivel de aplicación.

Se adaptan las aplicaciones para incorporar los mecanismos posibles para minimizar el impacto de que internet sea una red de datos.

Se trabaja a nivel de aplicación porque no podemos cambiar la arquitectura de internet (aunque gradualmente se está haciendo).

Tipos de aplicaciones multimedia

Las aplicaciones multimedia las dividimos en dos grandes grupos:

Aplicaciones interactivas

(Video conferencias, voz sobre IP, etc...)

Son bidireccionales.

Los retardos tiene que ser muy pequeños.

Son las más restrictivas.

Requisito de diseño, el retardo debe cumplir la siguiente condición:

150ms < Retardo < 450ms.

NO puede haber interrupciones.

Streaming

Reproducción en el receptor los contenidos multimedia emitidos desde el emisor.

Los requisitos no son tan estrictos.

Requisito de diseño, 1s < Retardo < 10s.

No puede haber interrupciones.

Aplicación Interactiva Streaming
Requisito diseño: 150ms < Retardo < 450ms 1s < Retardo < 10s
Interrupciones NO NO

Retardo

Tiempo desde que se emite hasta que se recibe.

Está compuesto por el retardo de propagación (fijo) más el retardo de encolamiento (variable).

Internet

Internet es una red diseñada para datos, que se modela como un modelo de colas.

Modelo Best Effort

Internet es una red de datos, que sigue el modelo "Best effort".

Esto significa que se hace el mejor esfuerzo posible para entregar los paquetes, pero NO se garantiza la calidad del servicio.

Es decir, que el ancho de banda varía.

Por ejemplo, la velocidad de descarga de un fichero es relativa.

A veces irá rápido, otras más lenta, aunque tengamos una conexión muy rápida con nuestro proveedor.

Si hay mucho tráfico, hay congestión y la calidad baja.

No hay mecanismos de limitación del número de usuarios.

Internet se modela como una red de colas.

Es importante entender esto para comprender la naturaleza del los problemas con el tráfico multimedia.

Modelo de colas

Internet se modela como una red de colas.

Una cola es una zona de almacenamiento temporal donde se van guardando los paquetes que llegan, hasta que se puedan enviar al siguiente nodo.

Cada nodo intermedio tiene una cola asociada a cada una de sus interfaces de salida.

En un momento determinado, en un nodo intermedio habrá paquetes en espera y espacios libres para recibir más paquetes.

Pero puede ocurrir que un nodo reciba muchos paquetes y su cola se llene.

En ese caso no hay espacio para almacenar más.

Por tanto, los paquetes que lleguen NO se almacenarán y se descartarán (se perderán).

Esta es una de las razones por las que internet "pierde paquetes".

Así, cada nodo intermedio funciona de la siguiente manera:

  • Los paquetes que recibe los va metiendo en la cola de salida.
  • Hay una cola por cada interfaz de salida.
  • Si la cola está llena, los paquetes que llegan se descartan (y por tanto se pierden).

En esta figura vemos el estado de 4 nodos intermedios en un momento determinado.

El nodo 4 tiene su cola llena, por lo que descartará los paquetes que lleguen.

El nodo 1 está conectado a dos nodos, por lo que tiene dos colas de salida.

Una de ellas está vacía, la otra tiene cuatro paquetes esperando.

El tiempo desde que llega un paquete hasta que se envía se llama tiempo de encolamiento.

Este tiempo depende del estado de las colas.

Los paquetes llegarán con retardos diferentes debido al tiempo de encolamiento, y también porque van por rutas diferentes.

Jitter

Vamos a estudiar este modelo de colas de internet, de una forma intuitiva.

Supondremos que hay dos nodos intermedios, cada uno con su cola.

Desde el emisor se envía el paquete A, ¿Cuanto tiempo tarda en llegar al receptor?

La respuesta es: DEPENDE.

No tendremos en cuenta el retardo de propagación ni el de transmisión.

Vamos a pensarlo según el tamaño de las colas.

Usaremos como unidad de tiempo relativa el número de paquetes que hay en la cola.

Cada paquete introduce una unidad de retardo.

Así, el retardo en la primer cola es de 3 (porque hay 3 paquetes esperando) y en la segunda de 1 (hay 1 paquete esperando).

Por tanto, nuestro paquete tardaría 4 unidades.

Tiene un retardo de 4 unidades, debido a los tiempo de espera en la cola.

Ahora suponemos que se envía un paquete exactamente igual, del mismo tamaño, pero ahora las colas tiene otras longitudes.

La cola del nodo 1 está vacía, mientras que la cola del nodo 2 tiene un paquete en espera.

Así el retardo de este paquete será de 1 unidad.

Por tanto, esta es la situación.

El emisor ha enviado el mismo paquete al receptor, en la misma red.

Pero una vez ha tardado 4 unidades y otra vez 1.

¡¡El retardo es variable!!

Esta fluctuación en el retardo de los paquetes se denomina Jitter.

Y esta es la causa de los problemas de transmisión multimedia en Internet.

El modelo es similar al del tráfico de coches en una ciudad.

Si vas de tu casa al trabajo en coche, todas las mañanas, y yendo siempre a la misma velocidad máxima.

¿Tardarías todos los días exactamente lo mismo en llegar?.

La respuesta es que no.

Unas veces te tocará un semáforo en rojo, otras no.

Algunas veces habrá más coches, otras menos.

En algunos cruces o rotondas a veces irás muy rápido pero otras tendrás muchos coches delante y tardarás en cruzarlas.

ES MUY VARIABLE.

Lo único que puedes garantizar es que más o menos, en condiciones normales, tardas aproximadamente 20 minutos.

A veces tardas 5 minutos más, otras 5 minutos menos.

Hay una horquilla en tu retardo.

Analizando los problemas

Haremos ejemplos para entender bien la naturaleza de los problemas.

Partimos de un escenario en el que hay un emisor y un receptor multimedia:

  • El emisor está constantemente enviando paquetes (tasa constante).
  • Todos los paquetes son iguales, de longitud fija (por ejemplo 20ms).
  • Queremos que la reproducción en destino sea continua (y no a saltos).
  • Supondremos que el retardo de propagación es 0 (los bytes llegan instantáneamente de un nodo a otro).

Ejemplo 1: Transmisión de un paquete

Tenemos la siguiente red:

El emisor envía un paquete al receptor, siguiendo la ruta que pasa por los nodos 1 y 3.

Los tiempos de encolamiento en 1 y 3 son de 5ms (el mismo en ambos).

Hacer el diagrama de tiempos de la comunicación y calcular el retardo.

Ejercicio 1

Suponer que el paquete ahora va por la ruta 1 -> 2 -> 3, que los tiempos de encolamiento en 1 y 3 son iguales que en el ejemplo 1 y el tiempo de encolamiento en 2 es de 1 ms.

Hacer el diagrama de tiempos y calcular el nuevo retardo.

Ejemplo 2: Transmisión de dos paquetes

La red que tenemos ahora es esta.

Sólo hay un nodo intermedio entre el emisor y el receptor.

El emisor envía dos paquetes seguidos y el tiempo de encolamiento en el nodo intermedio es de 2ms para ambos.

Hacer el diagrama de tiempos y calcular el retardo.

Los dos paquetes se reciben uno detrás de otro (tasa constante).

Esto es lo que ocurriría en una red determinista, en el que la ruta de los paquetes es conocida y los recursos se asignan en el inicio.

La calidad queda garantizada.

Sin embargo, NO es el caso de Internet, donde los tiempos de encolamiento son variables y no deterministas.

Ejemplo 3: Transmisión de 2 paquetes. Diferentes tiempos de encolamiento

Veremos lo que sucede si ahora los tiempos de encolamiento en el nodo intermedio son diferentes.

Supongamos que es de 1ms para el paquete 1 y de 2ms para el 2 (Antes de llegar el 2 al nodo, hay un pico de tráfico en ese nodo, y la cola ha aumentado).

Los dos paquetes salen uno detrás del otro en el receptor, pero debido a los tiempos de encolamiento variables NO llegan seguidos, sino que hay una interrupción entre medias.

La reproducción en destino no puede ser continua.

¿Qué podemos hacer?

Tiempo de Playout

Se define el tiempo de playout (Playout time) como el que transcurre desde que se envía el primer paquete multimedia hasta que empieza su reproducción en el destino.

El contenido multimedia tiene la característica de que una vez que se comienza su reproducción, hay que evitar los parones: todo debe fluir.

Por ello hay que calcular adecuadamente este tiempo de playout para garantizar la máxima calidad.

En el caso del ejemplo 2, el tiempo mínimo de playout es el mostrado en la siguiente figura:

Nada más recibir el paquete 1 se puede empezar a reproducir, dado que el segundo se está recibiendo de forma continua: no hay saltos.

Este es el ejemplo de una red determinista, donde la calidad se puede garantizar.

En una red como internet, los tiempos de encolamiento difieren, como en el ejemplo 3.

En esos casos los paquetes no llegan de forma continua al receptor, por lo que la reproducción NO puede empezar en cuanto se reciba el paquete 1, sino que hay que almacenarlo en un buffer hasta que se puede garantizar una reproducción continua.

En este ejemplo se empieza a reproducir al comienzo de la recepción del paquete 2 (sería el tiempo de playout mínimo).

Si nos fijamos en la línea de reproducción, no hay saltos.

Hemos conseguido solucionar el problema, introduciendo un buffer para retrasar la reproducción.

Ejercicios

Ejercicio 2

Se tiene una red en la que entre el emisor y el receptor sólo hay un nodo.

Se envían dos paquetes.

Los paquetes son de 20ms.

El tiempo de encolamiento del paquete 1 es de 2ms.

El del paquete 2 de 30ms.

¿Cual es el tiempo de playout mínimo?

Ejercicio 3

Mismo escenario anterior.

Los paquetes son de 10ms.

El tiempo de encolamiento del paquete 1 es de 5ms y el del segundo de 20ms.

¿Cuál es el playout mínimo?

Si tienes que programar la aplicación que se encargue de la reproducción

¿Qué tiempo real de playout usarías?

Descargas

Autor

Jesús Parrado Alameda (jesusgpa)

Creditos

Licencia

Enlaces

Página principal


Teoría

Práctica 0: Herramientas

Práctica 1: CV

Práctica 2: ¡Boom!

Práctica 3: Tiro parabólico

Práctica 4: The Memory Games

Práctica 5: Simulando la red

Extras

Examenes

Curso 2023/2024

  • [2024 - 7 de Marzo: L3204 9:00 - 12:00 Parcial 1 ]
  • [2024 - 13 de Mayo L3202 y L3203 9:00 - 12:00 : Parcial 2 ]
  • [2024 - 26 de Junio L3204 (Por confirmar) 9:00 - 12:00 : Final. Conv. extraordinaria + Entrega de prácticas ]
Clone this wiki locally