Software para simulacion de redes

Germán Poó Caamaño gpoo en ubiobio.cl
Jue Sep 8 02:12:53 CLT 2005


On mié, 2005-09-07 at 22:26 -0400, Alvaro Herrera wrote:
> Hola,
> 
> Ando en busqueda de un sistema que me permita hacer simulaciones de
> procesos que se comunican por red.  La idea es poder alterar "por
> debajo" los paquetes que se envian, para determinar que tan robusta es
> la comunicacion entre ellos.
> 
> Una referencia de mas o menos lo que busco es UMLsim, que permite correr
> un kernel UML y un programa dentro de el, y hacer alteraciones al
> kernel.  Sin embargo UMLsim parece ser un proyecto muerto :-(  (Algunos
> lo recordaran de la charla de Werner Almesberger en uno de los
> Encuentros de Linux anteriores)

A esta hora no se me ocurre nada coherente, más que pichicatear
un driver de red y añadirle ruido aleatoreamente bajo ciertas
condiciones (algún parámetro).

Otra alternativa podría ser aplicar algún mecanismo de traffic shaper,
donde el tráfico de dichos mensajes tengan la menor prioridad 
posible con el menor ancho de banda disponible, y en contraste,
otro con mayor prioridad y ancho de banda.  Luego, generas
tanto tráfico (iperf) para que comience a descartar paquetes de 
menor prioridad.

Quizás para ello, sea mejor usar algún programa simulador
de red, como dummynet (http://info.iet.unipi.it/~luigi/ip_dummynet/).
Claro que tiene sentido si puedes colocarlo al medio de 2 equipos.

También podrías intentar con Qemu (http://www.qemu.org/) e instalar
allí otra instancia de Linux.  Correr lo que sea necesario, y,
al menos allí puedes pichatear la emulación de la interfaz de
red (y dale con lo mismo ;-)

> El trasfondo del asunto es el siguiente: estoy estudiando el
> comportamiento del sistema de comunicacion de grupos (GCS) llamado
> Spread.  Con un alto grado de probabilidad, Spread sera una pieza
> importante en Slony-II, el sistema de replicacion multi-maestro de
> PostgreSQL.  En pruebas triviales, se puede ver que Spread transfiere
> correctamente los paquetes de un lado a otro; la pregunta es: que sucede
> en el caso de que le pegue una particula cuantica a un cable de red en
> el momento equivocado?  Si un mensaje llega distinto a como fue enviado,
> es Spread capaz de darse cuenta y corregir el problema?

Ese es un problema.  El otro es lo que podría suceder si llegan
fuera de orden.

Dependerá del tipo de servicio que definas para Spread.  El que
ofrece mayor confiabilidad es SAFE_MESS, el cual garantiza la 
integridad de los mensajes y el orden de éstos.  Aunque seguramente
eso ya lo has leído en la documentación de Spread y estas buscando
alguna forma de estar 100% que eso es así.

-- 
Germán Poó Caamaño
http://www.ubiobio.cl/~gpoo/
Concepción - Chile



Más información sobre la lista de distribución Linux