IMPLEMENTACIN DE ALGUNAS VARIANTES DEL ALGORITMO DE INUNDACIN
===============================================================
   Este programa visualiza un sistema en red y permite simular el
funcionamiento de un algoritmo de inundacion (flooding) en relacin
con el movimiento y repeticin de paquetes entre el host origen y
el destino.


*UTILIZACIN DEL PROGRAMA
-------------------------
   El programa utiliza la siguiente sintaxis:

                        INUNDA <nombre_fichero>

donde <nombre_fichero> es el nombre del fichero que contiene los datos de
la red en la que se va a probar el algoritmo. A modo de ejemplo se pueden
utilizar los fichero 'ejem1.nod' y 'ejem2.nod' incluidos.

   Los ficheros de datos deben estar compuestos de la siguiente manera:
- Por cuestin de simplicidad el nmero de nodos est limitado a 20.
- El nodo 0 es el nodo sup. izquierdo y el nodo 20 el inf. derecho.
- Se indica el nmero del nodo, a continuacin el nmero de enlaces
        que posee, y los nmeros de sus nodos vecinos.

  [EJEMPLO]
                        0,2,1,2, 1,1,0, 2,2,0,3, 3,1,2
       Indica que el nodo 0 tiene 2 enlaces: con el nodo 1 y el nodo 2.
       El nodo 1 slo tiene un enlace con el nodo 0. El nodo 2 tiene 2
       enlaces: con el nodo 0 y el nodo 3. Por ltimo el nodo 3 tiene
       un nico enlace con el nodo 2.
  [FIN_EJEMPLO]

   
   Una vez cargado el programa, podemos elegir la opcin que deseemos y
debemos indicar cul va a ser el nodo origen y el nodo destino del
mensaje a transmitir. Para ello debemos recordar que el nodo superior
izquierdo se numera como el nodo 0 y el nodo inferior derecho
corresponde al nodo 20.

   Al terminar la ejecucin del programa, se nos muestra el nmero de
paquetes que se han enviado a partir de un nico mensaje.

  Podemos ver como el nmero de paquetes que se transmite por la red
va disminuyendo a medida que utilizamos algoritmos mejoramos de
inundacin, eliminando la explosin de paquetes.
   


*NOTA SOBRE LA IMPLEMENTACIN
-------------------------------
   -En la Inundacin simple cada paquete que llega se transmite por todas
   las lneas de salida, exceptuando aqulla por la que llega. Para evitar
   que el nmero que paquetes en la red crezca sin control, utilizamos un
   contador, de forma que limite la "vida" de un paquete a un determinado
   nmero de saltos. Este nmero debe ser lo suficientemente grande para
   permitir que el paquete llegue desde el origen a su destino. En el peor
   caso, su valor es el dimetro completo de la subred. En la implementacin
   este valor es 7.(Valor suficiente para llegar a cualquier parte de la red).

   -La Inundacin Mejorada, consiste en hacer que el IMP de origen aada
   un nmero de secuencia en cada paquete que recibe de su host. De esta
   forma cada vez que nos llega un paquete incrementamos un contador k,
   de forma que es muy fcil saber si un paquete que nos llega es un
   duplicado.

   -En la Inundacin Selectiva los IMP no transmiten cada paquete que llega
   por todas las lneas de salida, sino por aquellas lneas que van
   aproximadamente en la direccin correcta.

   -Por ltimo, el la Inundacin Aleatoria el IMP se encarga simplemente
   de seleccionar una lnea aleatoriamente y reexpedir el paquete a travs
   de ella. Tambin se intenta encaminar el paquete hacia la direccin
   correcta.
  

Trabajo dirigido  por ENRIQUE ALBA TORRES (Dpto. Lenguajes y CC. CC.)
        realizado por Francisco Jos Infantes Gonzlez
                      Ingeniero Tcnico en Informtica de Sistemas
                      3 B
                                                MLAGA, Junio 1997


