testing - tipos - La mejor forma de simular una red WAN
redes lan y wan (6)
Alguien realmente empaquetó la configuración y lo que no es necesario para la solución de FreeBSD a este problema y lo llaman DUMMYNET .
Simula / impone limitaciones de cola y ancho de banda, retrasos, pérdidas de paquetes y efectos multitrayecto. También implementa una variante de Weighted Fair Queuing llamada WF2Q +. Se puede usar en estaciones de trabajo de usuarios o en máquinas FreeBSD que actúen como enrutadores o puentes.
Puede simular exactamente lo que quiere, y es gratis y se iniciará en el hardware básico. Incluso tienen una instalación en lata que es lo suficientemente pequeña como para colocarla en un disquete (!) Que puede descargar en ese enlace.
Simplificado, tengo una aplicación donde los datos están destinados a fluir a través de Internet entre dos servidores. Idealmente, me gustaría probar en qué punto el software deja de funcionar. En qué límite de límite inferior (ancho de banda, latencia, paquetes descartados) las cosas dejan de funcionar para probar la fiabilidad del software.
Lo que pensé que haría era lo siguiente:
- Configurar hasta 3 máquinas (instancias de VMware)
- Instala las 2 aplicaciones en dos de los servidores.
- Configure el tercer servidor para sentarse entre las dos máquinas haciendo algún tipo de magia con Enrutamiento y acceso remoto en Windows 2003
- Instale Traffic Shaper XP o NetLimiter para limitar el ancho de banda
- Ejecute algo como TMnetSim Network Simulator para simular una mala conexión.
¿Suena como una buena idea o hay formas más fáciles / mejores de hacer esto? No estoy tan cómodo con Linux y mis compañeros de equipo lo son aún menos.
FreeBSDs ipfw tiene disposiciones para simular enlaces con un ancho de banda, latencia o tasa de error dados. Puede usar esa máquina FreeBSD como su máquina "en el medio" en su configuración anterior.
Probablemente también pueda ejecutar al menos uno de los puntos finales en la misma máquina si desea reducir la cantidad de servidores involucrados.
Teníamos un requisito similar hace unos diez años; veré si puedo recordar cómo lo logramos.
Si mal no recuerdo, escribimos un programa de socket proxy que fue controlado por inetd en una caja UNIX. Este socket acepta conexiones de un cliente y abre sesiones equivalentes hasta el servidor. A continuación, se reproducirá, pasando mensajes en ambas direcciones.
La forma en que logramos las características WAN fue introducir retrasos aleatorios (con límites superior e inferior) tanto en el establecimiento de la conexión como en el paso de los datos una vez que el enlace estaba activo.
También tenía la función de soltar el enlace ocasionalmente ya que los enlaces WAN eran menos confiables para nosotros que el tráfico local.
Recuerdo que tuvimos que enhebrarlo para evitar que las demoras afectaran el tráfico inverso en el enlace.
WANem hace exactamente esto. Lo hemos usado tanto en una máquina virtual en el escritorio como en una vieja PC dedicada y funcionó de maravilla. Puede simular todo tipo de conectividad rota.
Tal vez es hora de aprender un poco sobre Linux porque agregar un retraso de 50 ms en cada paquete saliente se puede hacer escribiendo una sola línea:
tc qdisc add dev eth0 root netem delay 50ms
Para más información, vea el COMO de control de tráfico de Linux
Existe una muy buena (y gratuita) solución de Microsoft para eso, la usamos por bastante tiempo y funciona muy bien, puede simular todo fácilmente (pérdida de paquetes, bajo ancho de banda, desconexión, latencia ...) Esto es la mejor solución que encontré para un entorno de Windows
Puede encontrar más información y un enlace de descarga aquí: publicación de blog MARCO
este producto ha evolucionado un poco y ahora está integrado en Visual Studio como parte de las pruebas de automatización, pero el uso de la versión independiente (que es bastante difícil de encontrar, así que guarde una copia local) me pareció mucho mejor. tenga en cuenta que necesita al menos dos computadoras (o máquinas virtuales), ya que necesita pasar a través de un adaptador de red para que la aplicación funcione su magia.