Red de conocimiento informático - Aprendizaje de programación - Notas de uso del simulador de red Network-Emulator-Toolkit

Notas de uso del simulador de red Network-Emulator-Toolkit

La investigación y el desarrollo de aplicaciones es diferente a la investigación en el laboratorio. No existe un "entorno ideal".

Lo ideal es que los usuarios utilicen teléfonos móviles con excelentes prestaciones y estén conectados a redes WiFi sin obstáculos.

La realidad es que puede que estén utilizando modelos de los que nunca has oído hablar, desplazándose por metros, autobuses, trenes, campos, montañas... La señal es "inquietante y confusa"...

Débil Para diversos problemas como fallas, ARR y pérdida de paquetes causados ​​por la red, además de probar personalmente los lugares donde la red falló y rezar para que el problema reaparezca, también existen herramientas de prueba de simulación de red débiles que puede ayudar!

1. fiddler: simula el retraso de la red;

2. kit de herramientas de emulación de red para Windows: simula el escenario de pérdida de paquetes de red (red, pérdida de paquetes, retraso)

3. ATC;

4. Plataforma iOS, a través de la opción de desarrollador integrada "Network Link Conditioner"

5. charles

6 , 360wifi, Cheetah wifi;

A continuación se explicará el uso de la simulación de red Network-Emulator-Toolkit:

Método de instalación: instalación predeterminada

Plataforma de aplicación: Windows sistema operativo

Versión de software: x86/x64

Como se muestra en la imagen de arriba, un usuario de ADSL se conecta a la red a través de un módem y se comunica con un servidor a través de aplicaciones de red como IE y MSN. A continuación, simplificamos la figura anterior en las siguientes operaciones de acceso y conexión de un extremo a otro.

Como arriba, el cliente de simulación y el servidor de simulación están conectados a través de Ethernet y NEWT está instalado en el servidor. La comunicación entre el cliente y el servidor pasa a través de NEWT, donde NEWT actúa como ADSL en la Figura 1.

NEWT encapsula el comportamiento de la conexión de red de un extremo a otro a través de enlaces virtuales y simula el comportamiento de la red real manipulando el intercambio de paquetes de datos que fluyen a través de los enlaces virtuales.

A veces, esperamos afectar solo la interacción de datos entre un cliente y el servidor a través de operaciones de simulación, pero no afectar la interacción entre el servidor y otros clientes. Esto se puede lograr mediante filtros de paquetes y enlaces virtuales.

NEWT se puede instalar en el cliente o en el servidor, siempre que el cliente y el servidor estén conectados a través de un enlace físico y pasen a través de la instancia de NEWT.

La implementación específica es la siguiente:

Los paquetes de datos entrantes son procesados ​​por el primer canal. Si el paquete de datos cumple con las condiciones de filtrado establecidas por el filtro en la primera lista de filtros (Filtro), el paquete de datos fluye a través del enlace virtual (Enlace) proporcionado al primer canal; de lo contrario, fluye a través del siguiente canal, y así sucesivamente. Si al final no hay ninguna coincidencia, se pasará a la aplicación superior. De manera similar, si no se establece ningún filtro en el canal, todos los paquetes fluirán a través del canal.

Nota: El "paquete entrante" aquí se ve desde la perspectiva del controlador NEWT. Todos los paquetes recibidos y enviados que pasan por el controlador NEWT se tratan como paquetes entrantes mediante el mismo proceso.

Paquete de control

1. Pasos de uso

a. Crear un nuevo canal [opcional]

Después de abrir, se creará un nuevo canal. Se creará de forma predeterminada un canal llamado "VirtualChannel 1". Si es necesario, puede crear varios canales.

Entrada: Barra de menú ?Configuración -gt; ¿Nuevo filtro? o botón de acceso directo de la barra de herramientas

b.Nuevo filtro

Entrada: Barra de menú ?Configuración - gt; ¿Nuevo filtro? o el botón de acceso directo en la barra de herramientas

Descripción:

Como arriba, puede seleccionar TODAS las redes (TODA la red) o puede seleccionar IPV4, IPV6 (IP local). , o IP remota (IP remota) y máscara de subred (Máscara IP)),

Al seleccionar IPV4 o IPV6, también puede seleccionar el protocolo (Protocolo Para el protocolo TCP\UDP, también puede). seleccione Puede especificar el rango de tamaño del puerto local (Puerto local) o del puerto remoto (Puerto remoto)

Puede seleccionar el adaptador de la tarjeta de red (Adapatadores, aquí está la dirección mac)

Después de seleccionar las condiciones del filtro, haga clic en el botón AGREGAR para agregar condiciones de filtrado; seleccione el registro agregado y haga clic en el botón Eliminar para eliminar el registro agregado y vuelva a modificar las condiciones de filtrado y haga clic en el botón Modificar para modificar el registro.

c.Crear una nueva conexión

Entrada: ¿Barra de menú?Configuración -gt;¿Nuevo enlace o botón de acceso directo a la barra de herramientas?

Nota: Si no está configurado , tanto la línea izquierda como la derecha son grises

Descripción detallada (ejemplo de la línea superior)

Pérdida

Descripción:

No Pérdida: de forma predeterminada, la pérdida de paquetes no se simula.

Pérdida periódica: Simula la pérdida periódica de paquetes. Según el número de entradas (establecido en x), se descarta un paquete por cada número determinado de paquetes por cada x paquetes.

Pérdida aleatoria: simule la pérdida aleatoria de paquetes y pierda paquetes aleatoriamente de acuerdo con la probabilidad dada de pérdida de paquetes.

Pérdida por ráfaga: Simula la pérdida de paquetes en función de una probabilidad determinada. Cuando ocurre un evento de pérdida de paquetes, se pierden varios paquetes continuamente (el número de paquetes perdidos se controla entre el máximo (max) y el mínimo (min)).

Pérdida G-E: La simulación de pérdida de paquetes sigue el modelo de Gilbert-Elliot y consta de dos estados: un estado bueno y un estado malo. La tasa de pérdida de paquetes se puede especificar para estos dos estados respectivamente, y la probabilidad de transmisión de la red en estos dos estados se puede establecer al mismo tiempo

(y el tránsito de la red entre los dos estados se produce en una transición dada probabilidades)

Error

Descripción:

En el mundo real, cuando un paquete de datos se transmite a través de la red, uno o más bytes (bits) de datos en el paquete puede ser incorrecto.

Sin Error: No simula errores de transmisión.

Error aleatorio: Simula un error de transmisión aleatorio según un ratio determinado.

Error G-E: Un error de transmisión sigue el modelo de Gilbert-Elliot, que consta de dos estados: un estado bueno y un estado malo.

La tasa de pérdida de paquetes se puede especificar para estos dos estados respectivamente, y se puede establecer la probabilidad de transmisión de la red en estos dos estados (el tránsito de la red entre los dos estados según las probabilidades de transición dadas)

Unidad de probabilidad de error ( Unidad de tasa de error):

Error de bit: establezca la probabilidad de error en la probabilidad de error para cada byte.

Error de paquete: establece la probabilidad de error en la probabilidad de error de cada paquete.

La relación entre errores y pérdida de paquetes

En la mayoría de los casos, los errores de paquetes provocan la pérdida de paquetes. En casos especiales, los datos del paquete se codifican y la pila de protocolos se puede recuperar. El paquete dañado. Después de la corrección, el paquete es un paquete aceptable, es decir, el paquete no se pierde. Además, además de los errores de paquetes que causan la pérdida de paquetes, otros factores también pueden afectar la pérdida de paquetes, como fallas de enlace, desbordamiento del búfer, administración de colas y tiempo de espera de transmisión, etc.

Latencia

Descripción:

Retrasa el tiempo que tarda un paquete de datos enviado desde una aplicación en ser recibido por otra aplicación.

Retraso fijo: Según un valor dado, el retraso se fija durante un tiempo fijo (unidad: milisegundos) los paquetes se retrasan durante un tiempo fijo.

Retraso uniforme: Según para una distribución uniforme, el retraso es una determinada cantidad de tiempo (el tiempo se controla entre los valores máximo y mínimo)

Retraso normal: según la distribución normal Retraso de una cierta cantidad de tiempo (promedio: promedio, desviación: desviación)

Retraso lineal: Retraso durante un cierto período de tiempo (dentro de un período de tiempo determinado (Período), el tiempo de retraso aumenta linealmente desde el valor mínimo hasta el valor máximo, y cuando alcanza el valor máximo , comienza desde el valor mínimo nuevamente.

Retraso de ráfaga: de acuerdo con la probabilidad dada (Probabilidad), retrasa una cierta cantidad de tiempo (Latencia) y controla la cantidad de paquetes perdidos entre el máximo y el mínimo. valores

BWamp; Queue

Si no se especifica el ancho de banda (bandwith), no se modificará la velocidad de transmisión.

Si no se especifica la cola. configurada, no se realizará ninguna operación de cola en los paquetes recibidos

Cola

Cola normal: todos los paquetes recibidos se colocan en un orden de primero en entrar, primero en salir (primero en entrar, primero en salir). Salida) con un tamaño de cola específico.

Cola de detección temprana aleatoria (RED): todos los paquetes entrantes se colocan en una cola RED si el tamaño de la cola es menor que el umbral mínimo dado (umbral mínimo). ), la cola se evalúa como vacía y no se hace nada; si el tamaño de la cola es mayor que el umbral máximo dado (umbral máximo), la cola se evalúa como congestionada y algunos paquetes se descartan de acuerdo con el regla de pérdida de paquetes.

Regla de pérdida de paquetes:

Descartar al frente: cuando sea necesario, descartar el paquete al principio de la cola.

Descartar la cola: si es necesario. , descarte el paquete al final de la cola

Descartar aleatoriamente: si es necesario, descarte un paquete al azar de acuerdo con la distribución uniforme.

Modo de cola: establece la unidad de tamaño de la cola, en modo paquete o modo byte.

BgTraffic

Algunos datos de red La conmutación de paquetes no tiene nada que ver con los dos. termina la simulación y se denomina tráfico de fondo. Estas transmisiones de fondo crean un efecto de lapso de tiempo.

Tráfico de velocidad de bits constante (CBR): genera flujo de fondo de acuerdo con una proporción fija determinada (cada XX kbps, paquete de datos de mbps, flujo de fondo de xx bytes)

Tráfico exponencial: genera Flujo de fondo basado en distribución exponencial de tiempo de encendido/apagado. Mi comprensión personal es que Burst genera el tiempo de flujo de fondo y Idle no genera el tiempo de flujo de fondo (unidad de tiempo: segundos

Tráfico de Pareto:? Igual que el anterior, pero es una distribución de Pareto (Pareto)

Grabador

Simula que los paquetes recibidos no están ordenados en el orden en que fueron enviados

Sin Grabador: Sin simulación

Otros: Detalles por determinar

Desconexión

Simula el comportamiento de desconexión periódica

Tiempo de conexión: Tiempo que el enlace permanece conectado dentro de un periodo de tiempo.

Tiempo de desconexión:?El tiempo que el enlace permanece desconectado durante un periodo de tiempo determinado

Tasas de desconexión: la tasa de desconexión del enlace

Ejemplo: Establecer. el tiempo de conexión es de 10 segundos, la desconexión es de 5 segundos, luego el período es de 15 segundos. Si la velocidad se establece en 0,4, en promedio cada 10 segundos, 4 segundos es el tiempo en que se desconecta el enlace (si el tiempo de conexión es). 10 segundos, el tiempo es de 5 segundos, el período será de 15 segundos. Si la tasa es 0,4, entonces, en promedio, en 4 de cada 10 períodos se produce la desconexión.)

Haga clic en el botón de seguimiento del activador [opcional] <. /p>

Haga clic en el botón "Amarillo" "Little Foot", asegúrese de que el botón esté en el estado de "clic".

Nota: RT Traffic Monitor, RT Packet Monitor, Connection Analyzer, Information Watch.

Encienda el control

Haga clic en el botón de inicio

Detenga el control

Haga clic en el botón de detener

Guardar el archivo [opcional]

Guarde el archivo de configuración como xml, conveniente Importación posterior, reutilización

Método de conexión:

Dialup56k: conexión a través de un módem con una transmisión velocidad de 56kbps

ADSL (128/512): A través de enlace ascendente de 128kbps, conexión ADSL con enlace descendente de 512kbps.

GPRS: Es un servicio de datos móviles disponible para los usuarios de telefonía móvil GSM. La velocidad de transmisión es de 115 kbit/s y la velocidad de transmisión real es de 53,6 Kbps.

CDMA2000: Estándar de comunicación móvil 3G.

WCDMA: Acceso Múltiple por División de Código de Banda Ancha (en inglés: Wideband Code Division Multiple Access, a menudo abreviado como W-CDMA), es una red celular 3G que utiliza algunos protocolos consistentes con el estándar 2G GSM.

IEEE802.11b: a través de LAN inalámbrica, el ancho de banda puede alcanzar hasta 11 Mbps, la velocidad de trabajo real es de aproximadamente 5 Mb/s, 300 metros en exteriores, la más larga es de 100 metros en un entorno de oficina.

Caso: