• Nenhum resultado encontrado

2 ENGENHARIA REVERSA FUNCIONAL DO EPOCHS UTILIZANDO A LINGUAGEM DE MODELAGEM

2.2 Estrutura do Network Simulator (NS-2)

O Network Simulator é um software de simulação de redes de computadores, surgido no ano de 1989, com a sua primeira versão. Este software é advindo do REAL

Network Simulator, e a partir de 1995 esse projeto de simulação de redes passou a ter o

apoio do DARPA (Defense Advanced Reseach Projects Agency) por meio do projeto denominado VINT (Virtual InterNetwork Testbed), tendo como colaboradores os centros de pesquisa da UC Berkeley (University of Califórnia Berckeley), LBL (Lawrence Berkeley National Laboratory), USC/ISI (University os Southern Califórnia

/ Information Sciences Institute) e Xerox PARC (Palo Alto Research Center).

O NS-2 nos últimos anos passou a ser desenvolvido pela Universidade de

Berkeley em C++ e OTcl (Object TCL) linguagem de script TCL com extensão

Figura 01 - Estrutura do EPOCHS em forma de dependência do UML

13

orientada a objeto desenvolvido no MIT (Massachusetts Intitute of Tecnology). A aplicação do NS é eficaz para a simulação de protocolos como o TCP (Transmission

Control Protocol), protocolos de multicast em redes com ou sem fio e a simulação do

roteamento de pacotes, etc. O NS possui resultados excelentes como simulador de redes locais (LANs) e mundiais (WANs).

O NS-2 é um simulador de redes que trabalha por meio de eventos que pode realizar a simulação de vários tipos de redes IP (Internet Protocol). O NS pode também trabalhar simulando vários protocolos de rede como, por exemplo: TCP,UDP (User

datagram Protocol), FTP (File Transfer Protocol), Telnet, Web, CBR,VBR, Drop Tail

(técnicas de gerenciamento de filas de roteadores), RED, CBQ e algoritmos de roteamento.

O NS-2 implementa multicasting e alguns dos protocolos da camada MAC para simulação de LAN. O projeto VINT, no qual o NS-2 está inserido, atualmente desenvolve ferramentas para a visualização de resultados de simulações, análises e conversores que possam converter topologias de redes geradas por outros software para o formato NS-2. A Figura 02 mostra a realização de tarefas por meio do NS.

Tendo como referência a figura 02, um exemplo prático e ilustrativo, seria um “Usuário” realizar um determinado planejamento e executar simulações em TCL [17], utilizando os objetos das bibliotecas OTcl. Essa agenda de eventos (seqüência de ações) e grande parte dos componentes de rede são desenvolvidos em C++ e disponíveis em OTcl pela ligação Tclcl. Em outras palavras este “Usuário” poderá trabalhar com “os componentes da rede” e com a “agenda de eventos”.

Quando ocorre uma simulação por meio do NS-2, é produzido um arquivo contendo os resultados obtidos em formato de texto que podem conter dados da simulação de forma detalhada. Essas informações podem ser utilizadas para análise das simulações.

A ferramenta que produz uma saída gráfica é o NAM (Network Animator) que faz parte do projeto VINT, em que o NS-2 está inserido. O NAM possui uma interface gráfica intuitiva e amigável. Entre os seus principais recursos está um controlador de velocidade para a simulação.

Conforme a visualização simplificada do NS-2, por meio da Figura 03 desenvolvida em UML [18], pode-se observar que o NS-2 é na verdade um interpretador de script Tcl (OTcl) orientado a objeto, adicionado a uma biblioteca.Esta biblioteca contém objetos por meio da “agenda de eventos”. Tais objetos são “componentes da rede”, módulos de ajuda e especialmente de configuração de rede. Desta maneira, para utilizar o NS-2, a programação é feita em OTcl.

15

Por exemplo, para a realização da configuração e simulação de uma rede, o usuário precisará:

escrever um script Otcl (“agenda de evento”);

• construir um novo objeto de rede de simulação (construir ou usar da biblioteca) e

• ligar o caminho de dados ao objeto. Passo a passo a seqüência seria:

• O usuário realiza um script em OTCL;

• O script em OTCL gerencia essas informações e os envia para o NS;

• O NS realiza a “agenda de eventos”, verifica quais os componentes da rede e módulos de ajuda serão necessários;

• O “resultado dessa simulação” com estes módulos podem ser utilizados pelo simulador NAM;

• Sendo que para ocorrer esse evento no NS é necessário um identificador (ID), tendo o tempo de escalonamento e ponteiro para o objeto de gerenciamento do evento.

No NS-2, uma “agenda de eventos”, sabendo o tempo de escalonamento do objeto, coloca esse objeto na fila, fazendo a chamada aos “componentes da rede” necessários no tempo pré-definido.

A comunicação dos “componentes da rede” se realiza por passagem de pacotes, contudo isto não interfere no tempo de simulação real. Com isto os “componentes da rede” que necessitarem gastar mais tempo de simulação, vão utilizar a “agenda de eventos”.

Por razões de eficiência, o NS-2 faz uma separação das implementações do caminho de dados, do caminho de controle. Isto é realizado para redução de pacotes e do tempo de processamento do evento.

Estes objetos compilados são disponibilizados para o interpretador de OTcl, que realiza uma correspondência do objeto OTcl para cada um dos objetos C++.

O objeto em C++ que não for controlado na simulação por um outro objeto, não precisa ser ligado ao OTcl.A Figura 04 mostra uma visão geral da estrutura da OTCL em UML.

17

Figura 04 - Visão da OTCL em UML

Uma visão estruturada de como funciona o NS-2, pode ser vista na Figura 05. Nesta pode ser observado o pacote de instalação Ns-allinone-2 e seus respectivos pacotes hierárquicos.

As ações básicas ocorrem no pacote NS-2, sendo posteriormente criado um código similar em Otcl, tendo exemplos e testes para que a simulação possa ser validada.

Cada um dos pacotes adicionais permite fazer novas configurações, destacando que pacotes adicionais são normalmente disponibilizados via web, permitindo ao usuário, fazer novas experimentações em simulação de redes.

Figura 05 - Visão dos Pacotes do NS

A seguir será apresentado o segundo simulador do EPOCHS, denominado PSCAD/EMTDC, destinado às simulações do SEP. Este software é um dos mais sofisticados softwares na simulação de SEP.