Realizado por: Juan Luis Acedo Ruiz Dirigido por: Eduardo Casilari Pérez

39
1 Realizado por: Juan Luis Acedo Ruiz Dirigido por: Eduardo Casilari Pérez Dpto. Tecnología Electrónica - Universidad de Málaga Málaga Noviembre 2003 Desarrollo de una herramienta software de evaluación de la calidad en comunicaciones IP en tiempo real

description

Desarrollo de una herramienta software de evaluación de la calidad en comunicaciones IP en tiempo real. Realizado por: Juan Luis Acedo Ruiz Dirigido por: Eduardo Casilari Pérez Dpto. Tecnología Electrónica - Universi dad de Málaga MálagaNoviembre 2003. Índice de contenidos. - PowerPoint PPT Presentation

Transcript of Realizado por: Juan Luis Acedo Ruiz Dirigido por: Eduardo Casilari Pérez

1

Realizado por: Juan Luis Acedo RuizDirigido por: Eduardo Casilari Pérez

Dpto. Tecnología Electrónica - Universidad de Málaga

Málaga Noviembre 2003

Desarrollo de una herramienta software de evaluación de la

calidad en comunicaciones IP en tiempo real

2

1. Introducción

2. Descripción del software

desarrollado

3. Fase de pruebas

4. Manual de usuario

5. Conclusiones y líneas futuras

Índice de contenidos

3

1. Introducción

2. Descripción del software

desarrollado

3. Fase de pruebas

4. Manual de usuario

5. Conclusiones y líneas futuras

Índice de contenidos

4

Introducción• Internet es uno de los fenómenos que capta mayor

interés en el mundo de las telecomunicaciones

• Concepto AllIP

• Los datos en tiempo real tienen requisitos temporales muy estrictos y necesitan la llegada ordenada de paquetes

• Necesidad de estudiar y comprender los protocolos de tiempo real RTP y RTCP

• Objetivo del proyecto: desarrollar un programa que ofrezca información acerca de la calidad de las comunicaciones IP en tiempo real

5

RTP (Real Time Protocol)• Protocolo de transporte de datos en tiempo

real sobre Internet• Definido formalmente en la RFC 1889• Se implementa sobre UDP• Servicio extremo a extremo• Añade facilidades necesarias para ofrecer

una determinada calidad de servicio pero no garantiza dicha calidad

• Cada medio implicado en una comunicación en tiempo real transcurre por una sesión RTP diferente

6

Formato paquete RTP

7

RTCP (Real Time Control Protocol)• Protocolo de control de transporte de datos en

tiempo real sobre Internet• Envío periódico de paquetes a los participantes• Contiene información sobre participantes y

estadísticas de rendimiento y pérdidas para realizar cierto control de flujo y congestión

• Tipos de mensajes RTCP:• SR (Sender Report)• RR (Receiver Report)• SDES (Source DEScription)• BYE• APP

8

Formato paquete RTCP (SR/RR)

9

Justificación captura paquetes RTP• ¿Por qué no capturar paquetes RTCP si éstos

proporcionan directamente información sobre la calidad de la comunicación en tiempo real?

• La información que proporcionan los paquetes RTCP no es en tiempo real

• Con los paquetes RTP se puede obtener información actualizada con cada nuevo paquete

• Con los paquetes RTP se pueden realizar análisis que no son posibles con los paquetes RTCP

10

1. Introducción

2. Descripción del software

desarrollado

3. Fase de pruebas

4. Manual de usuario

5. Conclusiones y líneas futuras

Índice de contenidos

11

Punto de partida: librería winpcap• Winpcap: versión para Windows de pcap

(packet capture)• Librería de funciones que permiten la

captura y procesado de paquetes • La usan programas ya existentes tales como

windump y Ethereal

12

Estructuración del software• rtiptv1.exe: programa básico basado en la

librería winpcap sin entorno visual y ejecutable en modo consola

• rtiptini.exe/rtiptend.exe/help.exe: programa que añade al básico un interfaz de entrada visual y uno de salida gráfico (librería clPlot.dll).

• rtiptini.exe: interfaz de entrada• rtiptend.exe: programa básico e interfaz de

salida gráfico• help.exe: ayuda para interpretar los ficheros de

salida

13

Diagrama de flujo programa básico

¿Cumple filtro?

Captura de paquetes

¿Es RTP?

¿Número de secuencia esperado?

paquete

Extracción del número de secuencia, SSRC, timestamp...

Se establece num. conversación a que pertenece

Incrementar Total y Llegados

Cálculo del tiempo entre paquetes, jitter...

Escribir en ficheros

si

no

si

si

no no

Extracción de la longitud, tiempo, tipo de carga ...

Se descarta el paquete

Incrementar LlegadosPerdidas=numsecactual-numsecesperadoTotal=Total+perdidas+1

no

si

¿Es mayor de lo esperado?

Incrementar Desordenados yLlegados

14

Funciones del programa básico• OnButton1 de rtiptend.exe

• Filtrado y captura de paquetes• packet_handler de rtiptend.exe

• Procesado de los paquetes y de la información contenida en ellos.

• Cálculo de los parámetros de calidad• Escritura en los ficheros

15

OnButton1 de rtiptend.exeUsuario elige parámetros de funcionamiento

pcap_open_offlineAbre el flujo de paquetes desde fichero

pcap_open_liveAbre el flujo de paquetes desde la red

pcap_datalinkDetecta el tipo de red

pcap_compileCompila filtro

pcap_setfilerFija filtro

¿Online?no

si

pcap_dispatchCaptura de paquetes

packet_handlerProcesado de los paquetes

¿Timeout?

¿Fin de fichero?

Fichero leído(solo se da en modo offline)

si

no

si

no

16

packet_handler de rtiptend.exe(I)• Cálculo de los parámetros de calidad

17

packet_handler de rtiptend.exe(II)• Escritura en los ficheros:

• Fichero .bas: fichero con toda la información básica de cada una de las conversaciones detectadas: número de paquetes, porcentaje de pérdidas, tiempo medio entre paquetes, jitter medio...

• Fichero .int: fichero con la información correspondiente a cada intervalo de muestreo y especificada para cada conversación

• Fichero .paq: fichero con la información de todos los paquetes RTP que cumplen los filtros seleccionados: número del paquete dentro de su conversación y en el total de paquetes capturados, direcciones IP, puertos, momento de la captura, longitud, timestamp, tipo de carga, número de secuencia...

18

Entorno visual: Interfaz entrada

19

Función OnInitDialog de rtiptini.exe

20

Otras funciones de rtiptini.exe• OnSelChangeCombo

• Activa cuando seleccionamos el tipo de dispositivo

• Usa la función pcap_findalldevs si el tipo de dispositivo es Net

• Escribe nombres de ficheros en nombre del dispositivo si el tipo de dispositivo es File

• OnButton1• Escritura de los valores seleccionados por el

usuario en el fichero temp.tmp

21

Entorno visual: Interfaz salida(I)• Se añaden dos nuevas funciones al código

fuente de rtiptend.exe:• OnInitDialog

• Crea las gráficas en modo online• OnTimer

• Representa los valores en las gráficas y almacena los valores de las gráficas en un nuevo fichero con extensión .seq

• Pequeñas modificaciones a las funciones OnButton1 y packet_handler de rtiptend.exe para tener la salida gráfica

• En packet_handler se escribe un nuevo tipo de fichero con extensión .tim que almacena números de secuencia y tiempos entre paquetes

22

Entorno visual: Interfaz salida(II)

23

Entorno visual: Ayuda

24

1. Introducción

2. Descripción del software

desarrollado

3. Fase de pruebas

4. Manual de usuario

5. Conclusiones y líneas futuras

Índice de contenidos

25

Banco de pruebas• Pruebas en condiciones de baja carga en la

red

• Pruebas con red saturada

Red Ethernet

Netmeeting

150.214.59.115 Máquina 1

150.214.59.120 Máquina 2

Real-Time IP Tester

mgen

Red Ethernet

Netmeeting

150.214.59.115 Máquina 1

150.214.59.120 Máquina 2

mgen pasivo

mgen activo

26

Pruebas baja carga en la red(I)• Prueba convencional

27

Pruebas baja carga en la red(II)• Prueba cambiando el tamaño del vídeo enviado

• Cambia ligeramente ancho de banda• Aumenta el tamaño de los paquetes enviados• Aumenta el tiempo medio entre paquetes

• Prueba de sincronización con nueva conversación detectada

• Los 2 vídeos son detectados en el momento que empiezan a transmitirse

• Prueba cambiando el formato de audio y parando el vídeo durante algunos intervalos

• Cambia ancho de banda del audio• El ancho de banda del vídeo es 0 en las intervalos

en los que está desconectado

28

Pruebas baja carga en la red(III)• Prueba variando el intervalo de muestreo, el

número de gráficas y el filtro adicional

29

Pruebas con red saturada• Uso del programa mgen• Variación del parámetro X (tasa de envío de

paquetes UDP por segundo)• Aparecen pérdidas en modo online a partir

de X=400• Estas pérdidas no aparecen en modo offline

30

Prestaciones• Generación de gráficas y ficheros• Detección y generación de estadísticas hasta

de 4 sesiones RTP• Posibilidad de cambiar el intervalo de

muestreo, de incluir un filtrado adicional de paquetes y de elegir cualquier combinación de las 4 gráficas posibles

• Generación a posteriori de otras gráficas o de otros análisis gracias a los ficheros numéricos

31

Limitaciones• Pérdidas en modo online a partir de una tasa

de envío de paquetes “basura” de X=400, es decir, cuando la fuente interferente alcanza los 3 Mbps aproximadamente

• Máximo de cuatro sesiones RTP detectables• El intervalo de muestreo debe ser un entero

entre 1 y 10• Si alguna sesión RTP usa un puerto fuera del

rango establecido tampoco será detectada

32

1. Introducción

2. Descripción del software

desarrollado

3. Fase de pruebas

4. Manual de usuario

5. Conclusiones y líneas futuras

Índice de contenidos

33

Programa modo consola• Ejecución del programa

>> rtiptv1 portini portfin [-f fichero]|[-n numeroAdaptador] fichero_salida [-v|-b] intervalo [nombrefiltro]

• Ejemplos de ejecuciones

• Salida a través de los ficheros .bas, .int y .paq

34

Programa entorno visual(I)• Ejecución del programa. Hay que ejecutar

rtiptini.exe

35

Programa entorno visual(II)• Salida:

• A través de 5 ficheros: .bas, .int, .paq, .seq y .tim• Salida gráfica

36

1. Introducción

2. Descripción del software

desarrollado

3. Fase de pruebas

4. Manual de usuario

5. Conclusiones y líneas futuras

Índice de contenidos

37

Conclusiones• Se ha hecho necesario el estudio y

comprensión de los protocolos de tiempo real RTP y RTCP

• Uso de la librería winpcap, elemento central del software desarrollado

• Desarrollo del software en varias etapas: dos programas independientes

• Íntima relación entre programación y análisis de protocolos IP

38

Líneas futuras• Partiendo del Real-Time IP Tester como

herramienta genérica, se pueden obtener otras herramientas que se centran de un modo más concreto en una de las medidas que el software ofrece

• Realizar comparativas de los resultados obtenidos con los valores contenidos en algunos campos de los paquetes RTCP

• Código optimizado para la velocidad de procesado con el fin de evitar las pérdidas en modo online

• Adaptar el software de forma que pueda ejecutarse en otros sistemas operativos

39

Realizado por: Juan Luis Acedo RuizDirigido por: Eduardo Casilari Pérez

Dpto. Tecnología Electrónica - Universidad de Málaga

Málaga Noviembre 2003

Desarrollo de una herramienta software de evaluación de la

calidad en comunicaciones IP en tiempo real