ELO-330: Programación de Sistemas
Tarea 2: Graficador de Retardos y Tasas Estimadas de Enlaces
Objetivos:
En esta tarea usted aplicará: creación de procesos, comunicación entre
procesos usando pipes, uso de hilos, manejo de zonas de acceso
exclusivo, e integración de servicios provistos por otras aplicaciones.
Introducción
Un modelo simple para el retardo de un paquete al
transitar de un router a otro considera Tiempo de Procesamiento (tpc),
Tiempo en Cola (tc), Tiempo de Transmisión (tt), y Tiempo de
Proparación (tpp). Conforme un paquete aumenta su tamaño, se espera que
el tiempo más afectado sea el de transmisión pues crece linealmente con
el tamaño del paquete.
Ping es un utilitario común para medir retardos totales de
ida y vuelta ( RTT o round-trip delay time). Ofrece opciones como -s,
-c, y -t para fijar el tamaño, el número de paquetes enviados, y el TTL (Time-to-live) de
los datagramas respectivamente.
A través de esta tarea estudiaremos la evolución del retardo
de ida y vuelta conforme aumentamos el tamaño de datagramas enviados.
Nombre: rtdelay graficador de retardo y tasas de enlaces estimadas a lo largo de una ruta.
Sintaxis: rtdelay <host_name> <n> <max_size>
Descripción
rtdelay despliega dos gráficos: uno de
areas acumuladas que muestre el retardo parcial hacia el host-name
destino y otro de líneas que muestre el estimador para el retardo
aportado por cada enlace en
la ruta hasta el host_name destino. El primer gráfico muestra la mediana
de <n> mediciones del retardo hasta cada router en la ruta hacia
el destino en función del tamaño del datagrama enviado el cual varía de
10 a max_size mostrando valores para 20 tamaños distontos uniformemente
distribuidos.
El segundo gráfico muestra líneas correspondientes
al retardo estimado para cada enlace en la ruta hacia host_name versus el tamaño del datagrama. El
estimador para el retardo aportado por el enlace i-ésimo corresponde a
la diferencia entre el retardo al router o computador i-ésimo menos el
retardo al router o computador i-1.
Una vez concluido el gráfico, el programa muestra
por pantalla el estimador para la tasa de cada enlace. Estimaremos la
tasa por 1/pendiente de la recta que mejor ajusta el gráfico de retardo
estimado versus tamaño de paquete para cada enlace.
NOTA: Lo fundamental de la tarea es el cumplimiento de los objetivos
señalados. No se garantiza que los estimadores propuestos reflejen
fielmente las tasas de cada enlace. Si usted puede proponer mejoras, bienvenido!
Evaluación de la Tarea y qué entregar: revisar procedimiento de entrega y criterios usados para evaluar su trabajo.
Recomendaciones
* Revise y
ejecute el comando ping. Considere enviar hacia host-name un datagrama con ttl igual a
1, luego 2 etc. y luego registre el tiempo RTT a cada router intermedio. Luego de n
repeticiones pida a matlab o similar que le dé la mediana para
los valores de ttl a cada enlace. Repita lo anterior para distintos valores
de tamaño de paquete. Finalmente matlab o similar debería mostrar los
gráficos y calcular el estimador de la tasa.
* Puede ayudar revisar la función sprintf.
* Vea este ejemplo para generar gráficos usando Matlab. También lo puede hacer usando SciLab, el cual usted puede instalar gratuitamente. Para su información, otra opción gratuita es Octave. Aquí está la versión Octave de este programa
exacta a la versión Matlab (notar que sólo cambia el nombre del
ejecutable, los comandos son los mismos). Por ahora no tenemos Octave
en Aragón, pero usted lo puede bajar y probar en su casa ... y el el
futuro contribuir para hacer de este algo aún mejor para sus usuarios.
* Vea una tarea parecida del año 2008 y otra que usa matlab y FFT.
* Haga su tarea de a poco y con tiempo. Con gusto atenderé todas sus preguntas en especial en clases y horas de atención!