El rendimiento de una red se puede medir utilizando varias herramientas disponibles en diferentes plataformas. Esta página explica la teoría detrás de lo que estas herramientas se propusieron medir y los problemas relacionados con estas mediciones.
Razones para medir el rendimiento en redes. A las personas a menudo les preocupa medir el rendimiento máximo de datos en bits por segundo de un enlace de comunicaciones o acceso a la red. Un método típico de realizar una medición es transferir un archivo 'grande' de un sistema a otro y medir el tiempo requerido para completar la transferencia o copia del archivo. Luego, el rendimiento se calcula dividiendo el tamaño del archivo por el tiempo para obtener el rendimiento en megabits , kilobits o bits por segundo.
Desafortunadamente, los resultados de un ejercicio de este tipo a menudo darán como resultado un buen rendimiento que es menor que el rendimiento máximo de datos teórico, lo que hace que las personas crean que su enlace de comunicaciones no funciona correctamente. De hecho, hay muchos gastos generales contabilizados en el rendimiento además de los gastos generales de transmisión, incluida la latencia , el tamaño de la ventana de recepción de TCP y las limitaciones del sistema, lo que significa que el buen rendimiento calculado no refleja el rendimiento máximo alcanzable. [1]
Teoría: breve resumen
El ancho de banda máximo se puede calcular de la siguiente manera:
donde RWIN es la ventana de recepción de TCP y RTT es el tiempo de ida y vuelta de la ruta. El tamaño máximo de la ventana TCP en ausencia de la opción de escala de la ventana TCP es 65 535 bytes . Ejemplo: Ancho de banda máximo = 65,535 bytes / 0.220 s = 297886.36 B / s * 8 = 2.383 Mbit / s. A través de una sola conexión TCP entre esos puntos finales, el ancho de banda probado se restringirá a 2.376 Mbit / s incluso si el ancho de banda contratado es mayor. [2]
Software de prueba de ancho de banda
El software de prueba de ancho de banda se utiliza para determinar el ancho de banda máximo de una red o conexión a Internet . Por lo general, se realiza al intentar descargar o cargar la cantidad máxima de datos en un cierto período de tiempo, o una cierta cantidad de datos en el mínimo de tiempo. Por esta razón, las pruebas de ancho de banda pueden retrasar las transmisiones de Internet a través de la conexión a Internet a medida que se realizan y pueden causar cargos por datos inflados.
Un método más preciso es utilizar software dedicado como Netcps, JDSU QT600, Spirent Test Center, IxChariot , Xena Networks Valkyrie & Vulcan, Iperf , Ttcp , netperf o bwping para medir el rendimiento máximo de un acceso a la red, [3] o utilice VisuGATOR como herramienta de visualización para el análisis del protocolo de red. [4]
Nomenclatura
Tasas de bits | |||
---|---|---|---|
Nombre | Símbolo | Múltiple | |
bit por segundo | bit / s | 1 | 1 |
Prefijos decimales ( SI ) | |||
kilobit por segundo | kbit / s | 10 3 | 1000 1 |
megabit por segundo | Mbit / s | 10 6 | 1000 2 |
gigabit por segundo | Gbit / s | 10 9 | 1000 3 |
terabit por segundo | Tbit / s | 10 12 | 1000 4 |
Prefijos binarios ( IEC 80000-13 ) | |||
kibibit por segundo | Kibit / s | 2 10 | 1024 1 |
mebibit por segundo | Mibit / s | 2 20 | 1024 2 |
gibibit por segundo | Gibit / s | 2 30 | 1024 3 |
tebibit por segundo | Tibit / s | 2 40 | 1024 4 |
El rendimiento de los enlaces de comunicaciones se mide en bits por segundo (bit / s), kilobits por segundo (kbit / s), megabits por segundo (Mbit / s) y gigabits por segundo (Gbit / s). En esta aplicación, kilo, mega y giga son los prefijos estándar del SI que indican la multiplicación por 1.000 ( kilo ), 1.000.000 ( mega ) y 1.000.000.000 ( giga ).
Los tamaños de archivo se miden en bytes - kilobytes , megabytes y gigabytes siendo habitual, donde un byte es ocho bits. En los libros de texto modernos, un kilobyte se define como 1,000 bytes, un megabyte como 1,000,000 bytes, etc., de acuerdo con el estándar de la Comisión Electrotécnica Internacional (IEC) de 1998 . Sin embargo, la convención adoptada por los sistemas Windows es definir 1 kilobyte como 1.024 (o 2 10 ) bytes, que es igual a 1 kibibyte . De manera similar, un tamaño de archivo de "1 megabyte" es 1.024 × 1.024 bytes, igual a 1 mebibyte ) y "1 gigabyte" 1.024 × 1.024 × 1.024 bytes = 1 gibibyte ). [5]
Uso confuso e inconsistente de sufijos
Es habitual que la gente abrevíe expresiones de uso común. Para los tamaños de archivo, es habitual que alguien diga que tiene un archivo '64 k '(es decir, 64 kilobytes) o un archivo' 100 meg '(es decir, 100 megabytes). Cuando se habla de velocidades de bits de circuitos , la gente usará indistintamente los términos rendimiento , ancho de banda y velocidad, y se referirá a un circuito como un circuito '64 k 'o un circuito' 2 meg ', es decir, 64 kbit / so 2 Mbit / s (consulte también la Lista de anchos de banda de conexión ). Sin embargo, un circuito '64 k 'no transmitirá un archivo '64 k' en un segundo. Esto puede no ser obvio para quienes no están familiarizados con las telecomunicaciones y la informática, por lo que a veces surgen malentendidos. En realidad, un archivo de 64 kilobytes tiene un tamaño de 64 × 1,024 × 8 bits y el circuito de 64 k transmitirá bits a una velocidad de 64 × 1000 bit / s, por lo que la cantidad de tiempo que se tarda en transmitir un archivo de 64 kilobytes a través de 64 El circuito k será de al menos (64 × 1,024 × 8) / (64 × 1,000) segundos, lo que equivale a 8.192 segundos. [6]
Compresión
Algunos equipos pueden mejorar las cosas comprimiendo los datos a medida que se envían. Ésta es una característica de la mayoría de los módems analógicos y de varios sistemas operativos populares . Si el archivo de 64 k puede reducirse mediante compresión , se puede reducir el tiempo necesario para transmitir. Esto se puede hacer de manera invisible para el usuario, por lo que un archivo altamente comprimible puede transmitirse considerablemente más rápido de lo esperado. Como esta compresión "invisible" no se puede desactivar fácilmente, se deduce que cuando se mide el rendimiento utilizando archivos y cronometrando el tiempo de transmisión, se deben utilizar archivos que no se puedan comprimir. Por lo general, esto se hace utilizando un archivo de datos aleatorios, que se vuelve más difícil de comprimir cuanto más se acerca a lo verdaderamente aleatorio.
Suponiendo que sus datos no se pueden comprimir, los 8.192 segundos para transmitir un archivo de 64 kilobytes a través de un enlace de comunicaciones de 64 kilobit / s es un tiempo mínimo teórico que no se logrará en la práctica. Esto se debe al efecto de los gastos generales que se utilizan para formatear los datos de una manera acordada para que ambos extremos de una conexión tengan una vista coherente de los datos.
Hay al menos dos problemas que no son inmediatamente obvios para la transmisión de archivos comprimidos:
- El rendimiento de la red en sí no mejora con la compresión. Desde la perspectiva de un extremo a otro (servidor a cliente), la compresión mejora el rendimiento. Esto se debe a que el contenido de información para la misma cantidad de transmisión aumenta mediante la compresión de archivos.
- La compresión de archivos en el servidor y el cliente requiere más recursos del procesador en ambos extremos. El servidor tiene que usar su procesador para comprimir los archivos, si aún no lo han hecho. El cliente tiene que descomprimir los archivos al recibirlos. Esto puede considerarse un gasto (para el servidor y el cliente) en beneficio de un mayor rendimiento de extremo a extremo (aunque el rendimiento no ha cambiado para la red en sí) [7].
Gastos generales y formatos de datos
[8]
Un enlace de comunicaciones común utilizado por muchas personas es el enlace en serie asincrónico start-stop o simplemente "asincrónico". Si tiene un módem externo conectado a la computadora de su hogar u oficina, lo más probable es que la conexión sea a través de una conexión en serie asíncrona. Su ventaja es que es simple: se puede implementar usando solo tres cables: envío, recepción y tierra de señal (o señal común). En una interfaz RS232 , una conexión inactiva tiene un voltaje negativo continuo aplicado. Un bit "cero" se representa como una diferencia de voltaje positivo con respecto a la señal de tierra y un bit "uno" es un voltaje negativo con respecto a la señal de tierra, por lo que no se puede distinguir del estado inactivo. Esto significa que necesita saber cuándo un bit 'uno' comienza a distinguirlo de inactivo. Esto se hace acordando de antemano qué tan rápido se transmitirán los datos a través de un enlace, luego usando un bit de inicio para señalar el inicio de un byte; este bit de inicio será un bit "cero". Los bits de parada son bits "uno", es decir, voltaje negativo.
En realidad, se habrán acordado más cosas de antemano: la velocidad de transmisión de bits, el número de bits por carácter, la paridad y el número de bits de parada (que significa el final de un carácter). Entonces, una designación de 9600-8-E-2 sería 9,600 bits por segundo, con ocho bits por carácter, paridad uniforme y dos bits de parada.
Una configuración común de una conexión en serie asíncrona sería 9600-8-N-1 (9600 bit / s, 8 bits por carácter, sin paridad y 1 bit de parada): un total de 10 bits transmitidos para enviar un carácter de 8 bits (un bit de inicio, los 8 bits que componen el byte transmitido y un bit de parada). Esto es una sobrecarga del 20%, por lo que un enlace en serie asíncrono de 9,600 bit / s no transmitirá datos a 9600/8 bytes por segundo (1200 bytes / s) pero en realidad, en este caso 9600/10 bytes por segundo (960 bytes / s), que es considerablemente más lento de lo esperado.
Puede empeorar. Si se especifica la paridad y usamos 2 bits de parada, la sobrecarga para transportar un carácter de 8 bits es de 4 bits (un bit de inicio, un bit de paridad y dos bits de parada) - ¡o 50%! En este caso, una conexión de 9600 bit / s transportará 9600/12 bytes / s (800 bytes / s). Las interfaces seriales asíncronas suelen admitir velocidades de transmisión de bits de hasta 230,4 kbit / s. Si está configurado para no tener paridad y un bit de parada, esto significa que la velocidad de transmisión de bytes es 23.04 kbyte / s.
La ventaja de la conexión en serie asíncrona es su simplicidad. Una desventaja es su baja eficiencia para transportar datos. Esto puede superarse mediante el uso de una interfaz síncrona . En este tipo de interfaz, se agrega una señal de reloj en un cable separado y los bits se transmiten en sincronía con el reloj; la interfaz ya no tiene que buscar los bits de inicio y parada de cada carácter individual; sin embargo, es necesario tener un mecanismo para garantizar que los relojes de envío y recepción se mantengan sincronizados, de modo que los datos se dividan en tramas de varios caracteres separados por delimitadores conocidos. Hay tres esquemas de codificación comunes para las comunicaciones enmarcadas: HDLC , PPP y Ethernet
HDLC
Cuando se utiliza HDLC , en lugar de que cada byte tenga un inicio, paridad opcional y uno o dos bits de parada, los bytes se agrupan en una trama . El inicio y el final de la trama se señalan mediante la "bandera", y la detección de errores se lleva a cabo mediante la secuencia de verificación de la trama. Si la trama tiene una dirección de tamaño máximo de 32 bits, una parte de control de tamaño máximo de 16 bits y una secuencia de verificación de trama de tamaño máximo de 16 bits, la sobrecarga por trama podría ser tan alta como 64 bits. Si cada trama transportara un solo byte, la eficiencia del rendimiento de los datos sería extremadamente baja. Sin embargo, los bytes normalmente se agrupan, de modo que incluso con una sobrecarga máxima de 64 bits, las tramas que transportan más de 24 bytes son más eficientes que las conexiones en serie asíncronas. Como las tramas pueden variar en tamaño porque pueden tener diferentes números de bytes transportados como datos, esto significa que la sobrecarga de una conexión HDLC no es fija. [9]
PPP
El " protocolo punto a punto " (PPP) se define en los documentos de solicitud de comentarios de Internet RFC 1570, RFC 1661 y RFC 1662. Con respecto al entramado de paquetes, PPP es bastante similar a HDLC, pero admite ambos bits métodos orientados y orientados a bytes ("rellenos de octetos") para delimitar tramas mientras se mantiene la transparencia de los datos. [10]
Ethernet
Ethernet es una tecnología de " red de área local " (LAN), que también está enmarcada. La forma en que la trama se define eléctricamente en una conexión entre dos sistemas es diferente de la tecnología de red de área amplia que usa HDLC o PPP implementada, pero estos detalles no son importantes para los cálculos de rendimiento. Ethernet es un medio compartido, por lo que no se garantiza que solo los dos sistemas que están transfiriendo un archivo entre sí tengan acceso exclusivo a la conexión. Si varios sistemas intentan comunicarse simultáneamente, el rendimiento entre cualquier par puede ser sustancialmente menor que el ancho de banda nominal disponible. [11]
Otros protocolos de bajo nivel
Los enlaces punto a punto dedicados no son la única opción para muchas conexiones entre sistemas. También se pueden utilizar servicios basados en Frame Relay , ATM y MPLS . Al calcular o estimar el rendimiento de los datos, es necesario comprender los detalles del formato de trama / celda / paquete y la implementación detallada de la tecnología. [12]
Retardo de fotograma
Frame Relay utiliza un formato HDLC modificado para definir el formato de trama que transporta datos. [13]
Cajero automático
El " modo de transferencia asincrónica " (ATM) utiliza un método radicalmente diferente para transportar datos. En lugar de utilizar paquetes o tramas de longitud variable, los datos se transportan en celdas de tamaño fijo. Cada celda tiene 53 bytes de longitud, con los primeros 5 bytes definidos como encabezado y los siguientes 48 bytes como carga útil. Las redes de datos comúnmente requieren paquetes de datos de más de 48 bytes, por lo que existe un proceso de adaptación definido que especifica cómo los paquetes de datos más grandes deben dividirse de manera estándar para ser transportados por las celdas más pequeñas. Este proceso varía según los datos transportados, por lo que en la nomenclatura ATM existen diferentes Capas de Adaptación ATM . El proceso definido para la mayoría de los datos se denomina Capa de adaptación ATM N. ° 5 o AAL5 .
Comprender el rendimiento de los enlaces ATM requiere saber qué capa de adaptación ATM se ha utilizado para los datos que se transportan. [14]
MPLS
La conmutación de etiquetas multiprotocolo (MPLS) agrega una etiqueta o encabezado estándar conocido como "etiqueta" a los paquetes de datos existentes. En determinadas situaciones, es posible utilizar MPLS de forma "apilada", de modo que las etiquetas se agreguen a los paquetes que ya se han etiquetado. Las conexiones entre sistemas MPLS también pueden ser 'nativas', sin protocolo de transporte subyacente, o los paquetes etiquetados MPLS pueden transportarse dentro de Frame Relay o paquetes HDLC como cargas útiles. Los cálculos de rendimiento correctos deben tener en cuenta tales configuraciones. Por ejemplo, un paquete de datos podría tener dos etiquetas MPLS unidas mediante "apilamiento de etiquetas", y luego colocarse como carga útil dentro de una trama HDLC. Esto genera más sobrecarga que debe tenerse en cuenta que una sola etiqueta MPLS adjunta a un paquete que luego se envía "de forma nativa", sin un protocolo subyacente a un sistema receptor. [15]
Protocolos de nivel superior
Pocos sistemas transfieren archivos y datos simplemente copiando el contenido del archivo en el campo 'Datos' de los marcos HDLC o PPP; se usa otra capa de protocolo para formatear los datos dentro del campo 'Datos' del marco HDLC o PPP. El protocolo de este tipo más comúnmente utilizado es el Protocolo de Internet (IP), definido por RFC 791. Esto impone sus propios gastos generales.
Nuevamente, pocos sistemas simplemente copian el contenido de los archivos en paquetes IP, pero usan otro protocolo que administra la conexión entre dos sistemas: TCP ( Protocolo de control de transmisión ), definido por RFC 1812. Esto agrega su propia sobrecarga.
Finalmente, una capa de protocolo final gestiona el proceso de transferencia de datos real. Un protocolo comúnmente utilizado para esto es el " protocolo de transferencia de archivos [16]
Herramientas disponibles para medir el rendimiento
Esta sección no puede ser exhaustiva porque hay muchas herramientas disponibles, algunas de las cuales son propietarias y específicas de las aplicaciones de los proveedores.
Algunas de estas herramientas se pueden utilizar con fines nefastos. Es posible que el uso de estas herramientas tenga consecuencias perjudiciales incluso si el evaluador solo tiene buenas intenciones. Por lo tanto, el uso de estos debe hacerse, como mínimo, con precaución y una buena comprensión de las herramientas.
- HTTPing
- HTTPing para Android: no está disponible en Play Store.
- SpeedOf.Me, prueba de velocidad HTML5
- www.bandwidthspeedtest.co.uk, prueba de velocidad
- Herramienta de medición de ancho de banda Iperf
- Herramienta de estimación de ancho de banda Pingb
- Puntos finales IxChariot e IxChariot Pro
- ByteBlower [17]
- Xena Networks, https://xenanetworks.com/
Ver también
- Ancho de banda asintótico
- Medición del tráfico de la red
- Modelo de generación de paquetes
- SpeedOf.Me - Prueba de ancho de banda HTML5
Referencias
- ^ Comer, DE (2008). Redes informáticas e Internet 5.a edición
- ^ Nelson, M. (2006). "El premio Hutter".
- ^ http://www.ookla.com/docs/
- ^ Yu-Ju Lin; Sunguk Lee; Haniph A. Latchman (1 de febrero de 2007). "VisuGATOR - una herramienta de visualización para el análisis de protocolos de red" . La 9ª Conferencia Internacional sobre Tecnología de Comunicación Avanzada . págs. 128-133. doi : 10.1109 / ICACT.2007.358321 . ISBN 978-89-5519-131-8. ISSN 1738-9445 . S2CID 8574878 .
- ^ Nelson, M. (2006). "El premio Hutter".
- ^ Nelson, M. (2006). "El premio Hutter"
- ^ Comer, DE (2008). Redes informáticas e Internet 5.a edición
- ^ Comer, DE (2008). Redes informáticas e Internet 5.a edición
- ^ Cisco System, Inc. (2001-2006). Guía de configuración de IP de Cisco IOS
- ^ Lydia Parziale, DT (2006). TUTORIAL Y DESCRIPCIÓN TÉCNICA DE TCP / IP
- ^ Lammle, T. (2002). Cisco Certified Network Associate. Londres
- ^ Lydia Parziale, DT (2006). TUTORIAL Y DESCRIPCIÓN TÉCNICA DE TCP / IP
- ^ Comer, DE (2008). Redes informáticas e Internet 5.a edición
- ^ Comer, DE (2008). Redes informáticas e Internet 5.a edición
- ^ Smith, S. (2003). Introducciones a MPLS. CISCO
- ^ Lydia Parziale, DT (2006). TUTORIAL Y DESCRIPCIÓN TÉCNICA DE TCP / IP
- ^ http://dst.lbl.gov/publications/ Herramientas para medir el tamaño máximo de ráfaga, el ancho de banda disponible y el rendimiento alcanzable
enlaces externos
- Pruebas de ancho de banda en Curlie
- Documento del Laboratorio Nacional Lawrence Berkeley sobre la medición del ancho de banda disponible