Evaluación de rendimiento
Descripción de las pruebas
Para complementar el estudio que se ha recogido en este informe, se ha realizado un análisis del rendimiento del router CIT y del router GNU/Linux, para poder comparar las prestaciones de ambos y determinar cuál de los dos es más eficiente.
Dicho análisis se ha llevado a cabo de forma automatizada, mediante un script que realiza pruebas en las que se hace uso de la aplicación ping
, la cuál permite enviar paquetes de un equipo a otro estableciendo una serie de parámetros de configuración, que se verán a continuación. Como resultado de dichos envíos, un ping
siempre devuelve una serie de valores estadísticos que, en nuestro caso, han sido de vital importancia.
Para que dichas pruebas sean válidas, es necesario que el escenario donde se llevan a cabo sea una red completamente aislada, de tal forma que no tenga conexión con otro tipo de redes donde haya un cierto tráfico. De este modo, las configuraciones de red más sencillas y apropiadas que se pueden crear consisten en dos equipos terminales conectados entre sí mediante:
- Un router CIT.
- Un router GNU/Linux.
- Dos router CIT conectados entre sí.
- Dos router GNU/Linux conectados entre sí.
- Un router CIT conectado a un router GNU/Linux.
El script pasa las mismas pruebas en cada uno de los escenarios anteriores, para que a la hora de comparar resultados se haga en igualdad de condiciones. Dichas pruebas consisten, como se ha dicho antes, en enviar paquetes mediante pings
, tomando combinaciones que se pueden hacer con los valores de los siguientes parámetros:
- Tamaño de paquete ICMP que se envía en cada
ping
. - Resolución del tamaño de paquete: Diferencia de tamaño entre un paquete y el siguiente.
- Número de paquetes enviados por cada tamaño de paquete.
- Modo de envío: Normal (con un intervalo de tiempo entre paquete y paquete) o ráfaga (todos los paquetes de golpe, seguidos).
Así, puesto que tomar muchos valores, implica un aumento sustancial del número de combinaciones posibles, se han fijado las siguientes pautas:
- El tamaño de paquete va desde el mínimo posible, que es de 64 Bytes, hasta el máximo permitido por la red, que en todos los escenarios es de 31294 Bytes.
- Los tamaños de paquete se van incrementado de 500 en 500 Bytes, hasta llegar a los 10000Bytes. Llegados a ese punto se empiezan a incrementar de 150 en 150 Bytes, ya que de esta forma lo que se consigue es que la gráfica resultante tenga mayor nivel de detalle en la parte derecha, que es donde están los tamaños de paquete más grandes y donde, consecuentemente, aparecen las tasas de fallo más altas; es decir, los datos que realmente van a resultar interesantes para el estudio.
- El número de paquetes que se envía en cada
ping
, por cada tamaño de paquete, puede ser 50, 100 ó 150. - Cada
ping
se realizará tanto en modo normal como en modo ráfaga.
Por último, antes de pasar a analizar los resultados obtenidos y realizar las comparativas oportunas, comentar que se han realizado dos sesiones de pruebas por cada escenario, para que los resultados sean más estables y, por tanto, más fiables.
Escenarios
De los escenarios posibles que se han planteado, no se va a contemplar el caso en el que están los dos equipos terminales conectados a través de dos router GNU/Linux, debido principalmente a la falta de tiempo y a que no resulta tan relevante como los que a continuación se muestran.
CIT
Por ser el router de referencia y del primero que se van a empezar a comentar los resultados de la evaluación de rendimiento, vamos a realizar un análisis más minucioso de todos y cada uno de los detalles que haya que tener en cuenta. No obstante, para futuros escenarios no se va a aplicar un análisis tan exhaustivo (sólo se hará especial hincapié en aquellos aspectos que resulten relevantes y proporcionen información significativa), ya que muchas de las situaciones que nos vamos a encontrar van a ser idénticas a algunas de las aquí contempladas.
Modo Normal
En la gráfica anterior se observan las siguientes características:
- Existe un crecimiento gradual del ancho de banda hasta que se estabiliza y se mantiene, más o menos, constante, entorno a 60MB/s.
- La tasa de error tiene un comportamiento casi constante.
- Los picos de subida que aparecen en la tasa de error y que se traducen, como es obvio, en los correspondientes picos de bajada del ancho de banda, aparecen en todas las gráficas que vamos a analizar. El motivo casi seguro de este comportamiento, en principio anómalo, es debido a que los tamaños de paquete escogidos no se corresponden con cantidades enteras de MTU o potencias de 2 (de hecho si nos fijamos, hay un pico que se corresponde con el tamaño de paquete 3000 Bytes, que equivale a 2 veces el tamaño de MTU que hay por defecto).
- Al coincidir con el tamaño de MTU o potencia de 2, el paquete o los paquetes que enviamos se tienen que fragmentar en más partes, lo que supone que en realidad no estemos enviando X paquetes, sino X paquetes más los fragmentos adicionales.
En modo normal a diferencia de en modo ráfaga, como vamos a ver en el siguiente apartado, es mucho más complicado llegar a saturar la red ya que al enviar los paquetes con una cierta cadencia no colapsan los router y éstos pueden trabajar de un modo sostenible (con un rendimiento aceptable). Por ello, todo el estudio que hagamos de ahora en adelante va a estar más centrado en el modo ráfaga que en el modo normal, ya que es el que realmente nos va a permitir averiguar cuáles son los límites de prestaciones que puede alcanzar la red.
Modo Ráfaga
En las tres gráficas anteriores, se observan los siguientes rasgos comunes:
- Los primeros picos se producen con 1500 Bytes y 3000 Bytes de tamaño de paquete (1 MTU y 2 MTU).
- La gráfica del ancho de banda y la tasa de error son opuestas, como es lógico: Al aumentar el tamaño de los paquetes que se envían, si la tasa de error es pequeña, el ancho de banda aumenta; y si la tasa de error es alta, el ancho de banda disminuye.
Comparativa: Número de paquetes
Para ver de forma más clara la diferencia que existe entre las gráficas anteriores, se muestra una comparativa de las mismas en cuanto a la tasa de error y en cuanto al ancho de banda.
Características que se observan en la gráfica comparativa de la tasa de error:
- A mayor número de paquetes enviados por cada tamaño, crecimiento de la tasa de error menos progresivo y más brusco (próximo a un escalón).
- Coincidencia de pico de bajada en los 3 casos con tamaño de paquete 13150 Bytes.
- A mayor número de paquetes enviados por cada tamaño, menor es el tamaño de paquete con el cuál se alcanza la tasa de error del 100%.
La característica principal que se observa en la gráfica comparativa del ancho de banda, es que a mayor número de paquetes enviados por cada tamaño, mayor es el ancho de banda máximo alcanzado.
CIT vs CIT-CIT
Una vez que hemos analizado el primer escenario en el que aparece un solo router CIT, pasamos a comparar los resultados del mismo con los obtenidos al conectar dos router CIT entre sí.
Para este estudio comparativo sólo tomaremos como referencia cuando enviamos en modo ráfaga 50 paquetes y cuando enviamos 150, ya que para el caso de 100 paquetes en modo ráfaga el comportamiento es similar. Por otro lado, no se va analizar el escenario en el que se envían paquetes en modo normal, ya que los resultados, tal y como se ha podido comprobar ya, no son significativos.
50 paquetes
Vemos que tanto en la gráfica de la tasa de error como en la del ancho de banda, el comportamiento de un router CIT frente a dos router CIT conectados entre sí, es prácticamente el mismo, con ligeras diferencias que se producen en casos muy puntuales.
150 paquetes
Al igual que en el caso anterior, vemos que tanto para la tasa de error como para el ancho de banda el comportamiento cuando se envían 150 paquetes en modo ráfaga es casi idéntico, cuando hay un router CIT que cuando hay dos router CIT conectados entre sí.
CIT vs LINUX
Este apartado es, sin duda, el más relevante y el que más nos va a interesar a la hora de determinar si las prestaciones de un router GNU/Linux son similares a las de un router CIT.
Quizás sería interesante también realizar un estudio comparativo entre un escenario con dos router CIT y un escenario con dos router GNU/Linux. Sin embargo, puesto que en CIT y GNU/Linux el comportamiento de un router es prácticamente el mismo que el de dos router conectados entre sí, no tiene sentido realizar dicho estudio.
50 paquetes
Para el caso en el que se realizan envíos en modo ráfaga de 50 paquetes de un tamaño determinado, vemos que el comportamiento de las gráficas de la tasa de error y del ancho de banda son muy parecidas, apreciándose incluso en aquellos puntos en los que hay ligeras variaciones que el router GNU/Linux responde mejor.
100 paquetes
En este caso, que se envían 100 paquetes en modo ráfaga, se puede apreciar un cambio bastante significativo en el comportamiento del router GNU/Linux frente al router CIT y es que, mientras el router CIT alcanza el 100% de tasa de error con un tamaño de paquete de aproximadamente 15850 Bytes, el router GNU/Linux lo hace con un tamaño de paquete de 29350 Bytes, aproximadamente. Ésto conlleva que el
ancho de banda, como se puede apreciar, sea en promedio mucho más alto en el router GNU/Linux que en el router CIT.
Si se quiere corroborar que la situación anómala que se produce es válida, lo mejor es volver a realizar otra sesión de pruebas sobre este mismo escenario.
150 paquetes
En este caso, las gráficas tienen un comportamiento casi idéntico tal y como sucedía en el caso en el que se enviaban 50 paquetes de un tamaño determinado.
CIT-LINUX vs LINUX-CIT
Tal y como se muestra en las siguientes gráficas, se puede comprobar que, independientemente del orden en el que estén colocados los router CIT y GNU/Linux, el comportamiento sigue siendo prácticamente el mismo.
50 paquetes
100 paquetes
150 paquetes
CIT-CIT vs LINUX-CIT
Por último, para demostrar que el hecho de que se empleen uno o dos router del mismo tipo no influye significativamente en los resultados, vemos que en las siguientes gráficas el comportamiento de dos router CIT interconectados es muy similar al de un router GNU/Linux conectado a un router CIT, indistintamente del orden en el que se encuentren.