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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

muestra <strong>en</strong> la<br />

Figura 1, cuando una simulación finaliza, y si se ha especificado <strong>en</strong> el script <strong>de</strong> <strong>en</strong>trada Tcl<br />

(o más específicam<strong>en</strong>te OTcl), Ns produce uno o más archivos <strong>de</strong> salida <strong>en</strong> formato <strong>de</strong> texto<br />

que conti<strong>en</strong><strong>en</strong> los datos <strong>de</strong> simulación <strong>de</strong>tallados. Los datos pue<strong>de</strong>n ser utilizados para<br />

análisis <strong>de</strong> simulación (<strong>en</strong> secciones posteriores se muestran dos ejemplos <strong>de</strong> análisis <strong>de</strong><br />

simulación) o como <strong>en</strong>trada para la visualización gráfica <strong>de</strong> la simulación <strong>en</strong> la herrami<strong>en</strong>ta<br />

llamada Network Animator (NAM) que fue <strong>de</strong>sarrollada como parte <strong>de</strong>l proyecto VINT,<br />

como una interfase amigable similar a un CD player (con play, rewind, fase fordward, pausa,<br />

etc.), y también con un controlador <strong>de</strong> la velocidad. A<strong>de</strong>más, esta herrami<strong>en</strong>ta también<br />

pue<strong>de</strong> pres<strong>en</strong>tar información gráficam<strong>en</strong>te, tal como throughput y el número <strong>de</strong> paquetes<br />

que pasan por cada <strong>en</strong>lace, aunque ésta no pueda ser utilizada para análisis exactos.<br />

3 Conceptos Básicos<br />

3.1 OTcl, el leguaje <strong>de</strong> usuario<br />

Como ya se m<strong>en</strong>ciono anteriorm<strong>en</strong>te, el Ns es básicam<strong>en</strong>te un intérprete <strong>de</strong> OTcl con<br />

librerías <strong>de</strong> objetos que permit<strong>en</strong> simular la red. Es muy útil saber programar <strong>en</strong> OTcl para<br />

utilizar el Ns. Esta sección muestra un ejemplo <strong>en</strong> l<strong>en</strong>guaje Tcl y OTcl, que permite <strong>en</strong>t<strong>en</strong><strong>de</strong>r<br />

la i<strong>de</strong>a básica <strong>de</strong> la programación <strong>en</strong> OTcl. Se supone que el usuario ya ha instalado (ver<br />

Anexo 1) Ns y maneja los conceptos <strong>de</strong> C y C++.<br />

El ejemplo 1 es un script g<strong>en</strong>eral <strong>en</strong> Tcl que muestra cómo crear y llamar un<br />

procedimi<strong>en</strong>to, cómo asignar valores a las variables, y cómo hacer un loop. Sabi<strong>en</strong>do que<br />

OTcl es una ext<strong>en</strong>sión ori<strong>en</strong>tada a objeto <strong>de</strong> Tcl, es obvio que todos los comandos <strong>de</strong> Tcl<br />

también trabajan <strong>en</strong> OTcl. La relación <strong>en</strong>tre Tcl y Otcl es tal como la <strong>de</strong> C y C++. Para correr el<br />

script se <strong>de</strong>be <strong>de</strong>scargar el archivo ex‐tcl.tcl, y escribir ʺns ex‐tcl.tclʺ <strong>en</strong> la línea <strong>de</strong> comandos.<br />

La s<strong>en</strong>t<strong>en</strong>cia “ns” inicia el Ns (que es un intérprete <strong>de</strong> OTcl). Se obti<strong>en</strong><strong>en</strong> los mismos<br />

resultados si se escribe ʺtcl ex‐tcl.tclʺ, siempre y cuando el tcl8.0 está instalado <strong>en</strong> la máquina.<br />

Figura 4: Ejemplo <strong>de</strong> script Tcl<br />

En Tcl, el comando proc se utiliza para <strong>de</strong>finir un procedimi<strong>en</strong>to, esta <strong>de</strong>be ir seguida<br />

por un nombre y <strong>en</strong>tre llaves escribir los argum<strong>en</strong>tos <strong>de</strong>l procedimi<strong>en</strong>to. El comando set se<br />

utiliza para asignar un valor a una variable. La s<strong>en</strong>t<strong>en</strong>cia [expr ...] es para hacer que el<br />

88

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

Saved successfully!

Ooh no, something went wrong!