View
51
Download
0
Category
Preview:
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
Citation preview
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
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
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
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...
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
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
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
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
Recommended