Conociendo OMNet++

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 54

Conociendo

OMNet++
PRI MEROS PASOS Y DI SEO DE RED
Universidad de Santiago de Chile
Facultad de Ingeniera
Departamento de Ingeniera Informtica
Ayudante: Aldo Navarrete Muoz
Contenidos
Qu es OMNet++?
Instalacin
Analizando el problema
Creando un Proyecto en OMNet ++
Diseando la Red
Qu es OMNet++?
OMNet++ es un ambiente de simulacin de eventos discretos.
Su principal funcin es la simulacin de redes de comunicacin, sin embargo, debido a su
arquitectura flexible y genrica, es usado en otras reas como la simulacin de complejos
sistemas IT o arquitecturas hardware.
Principalmente su desarrollo involucra componentes programados en C++ y el uso de
componentes y mdulos conocido como NED.
Instalacin

1. Ingresar a http://www.omnetpp.org/
2. En la seccin Download, descargar OMNet++, se recomienda la versin 4.1 para Windows

Instalacin

3. Copiar el archivo en el directorio donde desea instalar la aplicacin, es recomendable
guardarla en C:\OMNeT.
4. Extraer el contenido en caso que este comprimido, asegrese de que el nombre del
directorio es omnet-4.1 en caso de no ser as, cmbiele el nombre.
5. Dentro de la carpeta de la aplicacin encontrar el archivo mingwenv.cmd, ejectela
haciendo doble click.
6. Se abrir la consola o BASH de OMNet++.
7. En la consola deber ejecutar los siguientes comandos en orden:
a. $./configure
b. make

Instalacin
8. Para verificar la correcta instalacin de OMNet++ puede ejecutar alguno de los ejemplos que
se encuentran incluidos mediante los siguientes comandos:
a. cd samples/[Nombre de la carpeta que contiene el ejemplo]
b. ./[Nombre de la carpeta]

Por ejemplo, si deseamos ejecutar el ejemplo dyna contenido en la carpeta samples, solo basta ejecutar:
cd samples/dyna, seguido de ./dyna
Instalacin
El ejemplo se ejecutar presentando una interfaz para el ingreso de los datos de entrada del
ejemplo.
Instalacin
Finalmente se ejecutar la simulacin.
De esta misma manera usted puede ejecutar sus proyectos.
Analizando el Problema
Antes de dar inicio a un nuevo proyecto es necesario realizar una etapa previa recomendada, la
cual involucra el tipo de red que ser, el protocolo utilizado, el modelo y el comportamiento de
las capas, entre otras caractersticas. En otras palabras es recomendable generar un borrador de
la red.
Para comenzar con el pie derecho la simulacin de cualquier red esto es prudente realizar las
siguientes preguntas:
En qu modelo nos basaremos?
Cmo se comunicarn las estaciones?
Qu protocolo ser utilizado?
Cul ser el control de flujo?,
y POR QU?
Analizando el Problema
Supongamos que hemos decidido construir una red simple, donde nos preocuparemos de que
dos estaciones se comuniquen, que presenten 3 capas del modelo OSI y que entre ellas se
enven tramas con informacin.
Aqu nacen las siguientes preguntas:
oCules son las fases del modelo OSI?
oCules sern elegidas para nuestra red?
oCmo sern las tramas que sern enviadas?
oCmo se comportar la red?
Analizando el Problema
Cules son las fases del modelo OSI?
El modelo OSI posee 7 fases, las cuales poseen distintas caractersticas. Como nuestra red ser simple
consideraremos sus principales caractersticas:
1. Capa de aplicacin: Acceso a BD, lectura de archivos, informacin que ser enviada a la estacin
vecina.
2. Capa de presentacin: Define la estructura de los datos a enviar.
3. Capa de sesin: Control de comunicacin.
4. Capa de transporte: Control de Flujo.
5. Capa de red: Tratamiento de la informacin y enrutamiento.
6. Capa de enlace: Formacin de tramas y envo.
7. Capa fsica: Transmisin del flujo a travs del medio.
Analizando el Problema
Cules sern elegidas para nuestra red?
Como deseamos ocupar 3 capas del modelo OSI, definiremos las siguientes que sern suficientes
para implementar la red sin alejarnos de la teora.
1. Capa de aplicacin: Generacin de informacin y definicin de su estructura.
2. Capa de red: Enrutamiento de tramas.
3. Capa de enlace: Envo de tramas.

Tambin ser considerada una Capa fsica, pero no ser necesario programarla, esto ser
explicado en el desarrollo de nuestro proyecto.
Analizando el Problema
Cmo sern las tramas que sern enviadas?
En general la estructura de datos que manejan las redes son cadenas de bits (0 y 1)
denominados tramas, estas son encapsuladas con informacin extra, agregada en forma de bits
al inicio y final de la trama, para dar a conocer informacin relacionada sobre la direccin de la
trama, los bits de control de errores, la identificacin de la trama, tipo de trama, entre otras
caractersticas.

Esto depende del protocolo que usaremos, en este caso nos conformaremos que nuestras
tramas sean un cadena de bits de un largo determinado.
Analizando el Problema
Cmo se comportar la red?
Con las preguntas ya respondidas es posible darle un objetivo a la red definiendo su
comportamiento:
La red en su capa de aplicacin generar las tramas de bits de un largo determinado y las
enviar a la capa de red, cuando la capa de aplicacin reciba una trama se encargar de
eliminarla y generar una nueva trama para ser enviada.
Al existir una sola estacin vecina no es necesario realizar un enrutamiento de la trama, por lo
que la informacin recibida desde la capa de enlace ser traspasada a la capa de aplicacin, y
cuando proceda de la capa de aplicacin la trama pasar a la cada de enlace.
Finalmente la capa de enlace enviar a travs de la capa fsica las tramas a la otra estacin, y al
recibir una trama la entregar a la capa de red.
Analizando el Problema
Finalmente para encapsular toda la idea del futuro proyecto es recomendable realizar un boceto
con el comportamiento de cada capa en un lenguaje de alto nivel.
APP
RED
ENC
Generar Trama
Si llega trama:
Eliminar
Generar Trama
APP
RED
ENC
Si trama viene desde APP:
Enviar a ENC
Sino:
Enviar a APP
Si trama viene desde
FISICO:
Enviar a RED
Sino:
Enviar a FISICO
Creando un Proyecto en OMNet ++
Una vez que se defini la red a simular es tiempo de iniciar un proyecto en OMNet++. Para esto
lo primero es abrir la consola de OMNet++ (mingwenv.cmd) y ejecutar el comando $ omnetpp
Creando un Proyecto en OMNet ++
Lo primero que la aplicacin exigir es la ubicacin del espacio de trabajo, es decir, la carpeta
donde sern guardados los proyectos, por defecto la aplicacin determina a la carpeta samples,
se recomienda ocupar la misma.
Creando un Proyecto en OMNet ++
A continuacin la aplicacin se desplegar, dando a conocer en la barra Project Explorer, todos
los proyectos que se encuentra en el espacio de trabajo. Usted puede abrirlos e investigar lneas
de cdigo y distintas implementaciones.
Para crear un proyecto debe hacer click en el icono NEW
Creando un
Proyecto en
OMNet++
En la ventana New desplegamos la carpeta
OMNEt++, seleccionamos la opcin OMNet++
Project y damos Next.
Luego nombramos nuestro proyecto con las
casillas seleccionadas por defecto como
muestra la imagen.
Creando un Proyecto en OMNet ++
Enseguida seleccionamos la opcin Empty Project, una vez usted este ms familiarizado con el
modo de trabajo de la aplicacin puede elegir la alternativa que le sigue, pero a fines de este
proyecto ser elegida la opcin que muestra la imagen:
Creando un Proyecto en OMNet ++
A continuacin solo basta dar Next a la siguiente vista y Finish despus, procurando que las
opciones se mantengan como muestran las imgenes. Luego nuestro proyecto estar creado.
Diseando la Red
OMNet++ trabaja con 2 lenguajes, por lo que la construccin de una simulacin se divide en su
diseo y en su programacin finalmente.
Para esta primera parte ser utilizado el lenguaje NED, el cual se encargar de la apariencia y
definicin de variables de cada componente de la red.
Es necesario entender que los componentes NED que ms nos importan son:
Mdulos simples: Unidad bsica de la simulacin
Mdulos compuestos: Contiene mdulos simples, la comunicacin y los parmetros que sern
entregados a cada modulo simple.
Mdulo de Red: Contiene mdulos compuestos, la comunicacin entre ellos y recibe los
parmetros para cada modulo compuesto.
Diseando la Red
La forma de trabajar es disear primero aquellos mdulos simples que darn forma a los
compuestos y estos ltimos a la red general. Por lo tanto, se disea desde una perspectiva
especfica a una general, que funcionar en base a como se programen los mdulos simples.
En este punto usaremos el borrador que se realiz anteriormente para hacer una analoga y
determinar nuestros componentes
APP
RED
ENC
APP
RED
ENC
MDULO
SIMPLE
MDULO
SIMPLE
MDULO
SIMPLE
MDULO
SIMPLE
MDULO
SIMPLE
MDULO
SIMPLE
MDULO DE RED
MDULO
COMPUESTO
MDULO
COMPUESTO
Diseando la Red
Como ya analizamos, una capa del modelo OSI en OMNet++ es un mdulo simple, por lo tanto
comenzaremos por crear una capa a modo de ejemplo, en este caso la capa de red.

Sobre la carpeta de nuestro proyecto
presionamos click derecho, elegimos
NEW y finalmente seleccionamos
Network Description File (NED)
Diseando la Red
Diseando la Red
Diseando la Red
Diseando la Red
APP
RED
ENC
Diseando la Red
APP
RED
ENC
Diseando la Red
Es necesario recordar que parameters son aquellas variables que el usuario ingresar y que son
necesarias para que la capa en particular cumpla su funcionamiento.

Por ejemplo, si diseamos una red que le solicite al usuario ingresar 10 parmetros distintos. Lo ms
probable es que solamente una porcin de estas entradas sean necesarias para una o ms capas, y es
lgico, ya que la capa de enlace no necesita de un dato que este relacionado con la direccin de la
trama, pero si es necesario para la capa de red que se encarga del enrutamiento.

Por otra parte gates son las compuertas donde la capa o el modulo simple recibe y enva datos, es
recomendable que su denominacin sea clara, puesto que al momento de programar es importante
conocer hacia donde apunta cada compuerta.
Diseando la Red
Una vez diseadas las capas de las estaciones, es tiempo de crear la estacin, la cual contiene estos 3
mdulos simples y por lo tanto, la estacin ser un mdulo compuesto.
Diseando la Red
Al crear un modulo compuesto la aplicacin muestra un contenedor donde arrastremos las capas o
mdulos simples que contendr ubicados en el sector izquierdo de la interfaz.
Diseando la Red
Una vez colocados los mdulos simples en el mdulo compuesto, es necesario establecer la
comunicacin entre ellos en base a las gates declaras anteriormente, para esto se utiliza la herramienta
Connection
Diseando la Red
Para ocupar la herramienta Connection basta con seleccionarla, hacer click en una capa y luego
nuevamente en la capa con la que queremos establecer una conexin, y enseguida seleccionamos la
comunicacin entre las gates declaradas anteriormente.
Diseando la Red
Como es posible ver, la capa de enlace necesita apuntar al exterior, sus compuertas necesitan
comunicarse al exterior, es decir, a la estacin vecina, para esto es necesario declarar las gates de la
capa fsica que no es un modulo simple, ya que tericamente hablando, esta no posee mayor lgica que
facilitar el envo de las tramas. La capa fsica, sus gates, son declaradas en el mdulo compuesto, en la
estacin.

Al ingresar al cdigo fuente de la estacin, es posible ver que la aplicacin ha generado el cdigo
correspondiente al diseo realizado en la interfaz.
APP
RED
ENC
APP
RED
ENC
Diseando la Red
Una vez declaradas las gates de la estacin, podemos realizar la comunicacin final, como se hizo
anteriormente.
Diseando la Red
Las variables declaradas en los parameters de la estacin son todos los datos con los que trabajarn los
mdulos simples o capas, puesto que la estacin recibir los datos y los entregar a cada sub-mdulo
simple segn corresponda y que hayan sido declarados en las capas.

Finalmente queda disear toda la red que contendr a las estaciones (mdulos compuestos) y a su vez a
las capas (mdulos simples).

La red ser un mdulo compuesto que ser diseada de igual forma que los casos anteriores y se
agregar un canal y un componente Network, el cual finalmente solicitar al usuario los datos de
entrada.
Diseando la Red
Una vez terminado el diseo de nuestra red es necesario crear el archivo de inicializacin de la
red el cual ser ejecutado al momento de iniciar la simulacin.
Diseando la Red
De esta forma termina el diseo de nuestra red, hasta el momento se han declarado los parmetros y
compuertas que permitirn la comunicacin dentro de la red.

Solamente queda la programacin de los mdulos simples, y solamente de estos, ya que el
comportamiento de las estaciones y por lo tanto de la red, dependen de cmo determinemos la
funcionalidad de las capas.

La lgica de las capas ser mediante el lenguaje C++.
FI
N

También podría gustarte