Software para simulacion de redes

Alvaro Herrera alvherre en alvh.no-ip.org
Jue Sep 8 12:14:11 CLT 2005


On Thu, Sep 08, 2005 at 11:39:52AM -0400, Marcos Ramirez A. wrote:
> On Wed, 2005-09-07 at 22:26 -0400, Alvaro Herrera wrote:
> > 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?
> 
> Y si usas un programa que simule uno de los extremos?

Podria hacer eso, pero primero tendria que decodificar el protocolo de
Spread y implementarlo practicamente todo de nuevo :-(

En realidad uno de los puntos importantes del problema es que el codigo
de Spread es espantosamente horrible, pero el concepto es muy bueno.
Lo que queremos saber es si la implementacion tiene bugs que sean
detectables a traves de "testing" o no.  Si la implementacion tiene
muchos bugs, es mejor escribir un GCS totalmente de cero, y de paso
hacemos buen codigo.  Si no los tiene, entonces podemos hacer una
"limpieza" y embellecer el codigo un poco.

Por otro lado esta el tema de la licencia de Spread, que es una
motivacion fuerte para reescribirlo todo de cero.  (Tiene licencia BSD
de cuatro clausulas, lo cual es molesto para proyectos que usan BSD de
tres clausulas como Postgres y Slony-II).


German Poo escribio (en un mensaje que no recibi pero que saque del
archivo web):

> 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í.

Si, efectivamente se por la documentacion que SAFE_MESS se supone que es
confiable y se recibe en orden; el punto efectivamente es demostrar que
esto es cierto.

Gracias por el puntero a dummynet!  Algo asi es precisamente lo que
busco.  He visto otros frameworks para simulacion de redes, como el
OMNET++ que sugirio alguien aca, pero en realidad eso requiere que
escriba el codigo que voy a simular en su propio lenguaje o biblioteca.
Esto no es exactamente lo que busco.

-- 
Alvaro Herrera -- Valdivia, Chile         Architect, www.EnterpriseDB.com
"El sabio habla porque tiene algo que decir;
el tonto, porque tiene que decir algo" (Platon).


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