11.05.2013 Views

Evaluación de Algoritmos de Ruteamiento Multipunto en Redes de ...

Evaluación de Algoritmos de Ruteamiento Multipunto en Redes de ...

Evaluación de Algoritmos de Ruteamiento Multipunto en Redes de ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

En g<strong>en</strong>eral, un script <strong>de</strong> Ns comi<strong>en</strong>za con la creación <strong>de</strong> un objeto <strong>de</strong> clase simulador.<br />

Set ns [new Simulator]: g<strong>en</strong>era un objeto <strong>de</strong> Ns <strong>de</strong> clase simulador, y lo asigna a<br />

la variable ns. (<strong>en</strong> esta sección se usa letra itálica para variables y valores). A continuación se<br />

explica lo que esta línea hace:<br />

• Inicializa el formato <strong>de</strong> los paquetes<br />

• Crea un scheduler o planificador<br />

• Selecciona el formato <strong>de</strong> direcciones por <strong>de</strong>fecto<br />

El objeto “Simulator” ti<strong>en</strong>e una función miembro que hace lo sigui<strong>en</strong>te:<br />

• Crea objetos compuestos tal como nodos y <strong>en</strong>laces (<strong>de</strong>scritos más a<strong>de</strong>lante)<br />

• Conecta los objetos creados que son compon<strong>en</strong>tes <strong>de</strong> la red (con attach-ag<strong>en</strong>t)<br />

• Establece los parámetros <strong>de</strong> las compon<strong>en</strong>tes <strong>de</strong> la red (<strong>en</strong> su mayor parte para<br />

objetos compuestos)<br />

• Crea la conexiones <strong>en</strong>tre ag<strong>en</strong>tes (<strong>en</strong>tre un ag<strong>en</strong>te “tcp” y un ag<strong>en</strong>te “sink” por<br />

ejemplo)<br />

• Especifica las opciones <strong>de</strong> <strong>de</strong>spliegue <strong>de</strong> NAM<br />

• Etc.<br />

La mayoría <strong>de</strong> las funciones miembro son para configurar la simulación (vistas <strong>en</strong> la<br />

sección “Contexto” como plumbing functions) y hacer la planificación para los ev<strong>en</strong>tos, sin<br />

embargo algunas <strong>de</strong> estas funciones son para el visualizador NAM. Las implem<strong>en</strong>taciones <strong>de</strong><br />

las funciones miembros <strong>de</strong>l objeto “Simulator” están localizadas <strong>en</strong> el archivo ʺns‐2/tcl/lib/ns‐<br />

lib.tclʺ.<br />

$ns color fid color: especifica el color <strong>de</strong> los paquetes para un flujo <strong>de</strong> paquetes<br />

especificado por fid. Esta función miembro <strong>de</strong>l objeto “Simulator” es para el visualizador<br />

NAM, y no ti<strong>en</strong>e efecto sobre la simulación actual.<br />

$ns namtrace-all file-<strong>de</strong>scriptor: Esta función miembro dice al simulador que<br />

registre las rutas <strong>de</strong> simulación <strong>en</strong> el formato <strong>de</strong> <strong>en</strong>trada <strong>de</strong> NAM. También da el nombre al<br />

archivo <strong>de</strong> aquella ruta que será escrita <strong>de</strong>spués por el comando $ns flush-trace.<br />

Similarm<strong>en</strong>te, la función miembro trace-all es para registrar la ruta <strong>de</strong> simulación <strong>en</strong> el<br />

formato g<strong>en</strong>eral.<br />

proc finish {}: es llamada <strong>de</strong>spués <strong>de</strong> la simulación y <strong>de</strong>pués <strong>de</strong>l comando $ns at<br />

5.0. (Se llama al procedimi<strong>en</strong>to <strong>de</strong>spués <strong>de</strong> 5 segundos <strong>de</strong>l tiempo <strong>de</strong> simulación). En esta<br />

función son especificados los procesos <strong>de</strong> post‐simulación.<br />

set n0 [$ns no<strong>de</strong>]: La función miembro no<strong>de</strong> crea un nodo. Un nodo es un objeto<br />

compuesto <strong>en</strong> Ns, hecho <strong>de</strong> direcciones y clasificadores <strong>de</strong> puerto (se <strong>de</strong>scrib<strong>en</strong> <strong>en</strong> la sección<br />

posterior). Los usuarios pue<strong>de</strong>n crear un nodo creando por separado los objetos dirección y<br />

clasificador <strong>de</strong> puerto, y luego conectándolos. Sin embargo, esta función miembro <strong>de</strong>l objeto<br />

Simulator ahorra un poco <strong>de</strong> trabajo. Para conocer como se crea un nodo, se pue<strong>de</strong>n ver los<br />

archivos: ʺns‐2/tcl/libs/ns‐lib.tclʺ y ʺns‐2/tcl/libs/ns‐no<strong>de</strong>.tclʺ.<br />

93

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!