Sabine Cassol

Simuladores de Redes – Conceitos, Características e Modelos no Ambiente Acadêmico

Publicado por: sabinecassol em: 07/04/2009

1. Introdução

Atualmente, a simulação tem um papel decisivo no projeto, análise e implementação de sistemas de comunicação, principalmente quando estes sistemas são caros e complexos. A simulação de um sistema real pode ser definida como o processo de avaliação numérica de um modelo de simulação, que deve representar o mais fielmente possível o sistema real a ser simulado. As informações resultantes deste processo são utilizadas para estimar variáveis de interesse deste sistema.

A utilização de ambientes de simulação vem aumentando de forma significativa uma vez que estes permitem o estudo e a avaliação de sistemas a custos reduzidos. Os simuladores de rede desempenham um papel importante na tarefa de desenvolver, analisar e aperfeiçoar protocolos de comunicação. Destacam-se três importantes vantagens do uso de simulação: (Guedes, Conceição, Carvalho e Rodrigues, 2005).

1) Permitem testar o comportamento dos protocolos em diversas redes e ambientes, cuja preparação num laboratório ou em uma empresa poderia ser impraticável, isso por questão de custos, ou em tempo de instalação, ou mesmo do ponto de vista administrativo;

2) Facilitam a execução de testes em um ambiente controlado, onde é mais fácil fazer variar parâmetros de relevo mantendo os restantes parâmetros constantes;

3) Facilitam a execução dos protocolos em múltiplos cenários de execução.

Infelizmente, na maioria dos casos, o ambiente de execução oferecido pelo simulador é bem diferente do ambiente de execução real. Por ambiente de execução entendem-se aspectos como interfaces a serviços, interface com os protocolos adjacentes, reserva de memória para armazenamento de mensagens, lançamento de alarmes, entre outros.

Existem diversos simuladores de tráfego IP disponíveis, os que mais se destacam comercial e academicamente são o OPNET (OPNET, 2006), o GloMoSim (Rochol, Souza, Sewald, Fernandes, Fernandes), o NCTUns e o Network Simulator (NETWORK SIMULATOR, 2006) (NS).

O NS é utilizado principalmente por pesquisadores, por ter distribuição gratuita e código aberto. Tal fato o torna adequado a situações onde é necessário desenvolver novas funcionalidades, como em teses e projetos de pesquisa aplicada. No entanto, a sua interface não é amigável ao usuário. A execução de um experimento de simulação no NS requer a elaboração de scripts em Tcl e grande trabalho adicional para obter e visualizar os resultados. Também é comum o usuário necessitar programar em C++ para que possa ter todas as funções do NS funcionando. Além disso, os protocolos e tecnologias no NS em geral são desenvolvidos para uso isolado, para resolução de problemas específicos. Será falado mais detalhadamente sobre o Network Simulator na seção 2.

O GloMoSim é uma plataforma moderna e atual de alto desempenho, baseada em processamento paralelo, com um enfoque específico para redes wireless e móveis sendo bem científico e matemático. O uso da biblioteca GloMoSim apresenta um elevado desempenho, contudo, sua maior desvantagem é o fato de ainda não ser totalmente difundida e exigir conhecimentos específicos de redes e de configuração. Como vantagem é muito robusto e escalável permitindo cenários com 50 ou mais nodos móveis ao mesmo tempo.

A plataforma NCTUns possui uma concepção moderna e inovadora, o que a torna interessante não só pelo seu alto desempenho mas também pelo seu aspecto pedagógico ou didático. Simula um conjunto amplo de protocolos, tanto para redes móveis como para redes fixas. Assim, a interface gráfica com o usuário é a sua grande vantagem. Como desvantagens é possivel citar as dificuldades de implantação, bem como sua portabilidade para outros sistemas operacionais além do BSD. O usuário pode encontrar dificuldades no que tange a escalabilidade desta plataforma, ou seja, o cenário não pode crescer demais ficando limitado em poucas dezenas de estações na rede.

O OPNET é um simulador comercial largamente utilizado no âmbito corporativo, devido às suas funcionalidades e precisão nos resultados. Ele é mais utilizado em grandes empresas e operadoras de telecomunicações, mas restrito em outros ambientes, principalmente devido ao seu alto custo. Uma de suas grandes vantagens é a sua interface gráfica fornecida ao usuário para configurar cenários e visualizar os resultados, mas infelizmente ele é ferramenta paga por isso o fato de as instituições preferirem o NS.

2. Network Simulator (NS)

O NS é um simulador de redes de computadores orientado a eventos mantido pelo projeto VINT (Virtual InterNetwork Testbed) constituído por pesquisadores de instituições como UC Berkeley, USC/ISI, LBL e Xerox PARC. Pelo fato de ser gratuito e possuir código aberto ele permite a adição de novos módulos ou a alteração dos existentes de acordo com as necessidades do usuário, essa é uma de suas principais vantagens (VASQUES, ESTEVES, ABELEM, 2004).

O NS dá suporte a simulação de diversas tecnologias de rede: redes baseadas nos protocolos TCP e UDP, redes locais, redes sem fio, satélite, multicast, etc. Atualmente é suportado pelo sistema operacional Unix e sistemas como Linux, SunOS, FreeBSD, Solaris. Também é possível rodá-lo no Windows, através de um emulador do shell do Linux, chamado Cygwin.

O NS tem facilidades de tracing, que é a coleta e registro de dados de cada evento da simulação para análise posterior. Possui um visualizador gráfico para animações da simulação (nam), timers e escalonadores, modelos para controle de erros e algumas ferramentas matemáticas como gerador de números aleatórios e integrais para cálculos estatísticos. Inclui também uma ferramenta de plotagem, o xgraph.

È possível visualizar na figura 1 um modelo de simulação com dois geradores de tráfego, um do tipo CBR (Constant Bit Rate) (Ferguson, 1998) e outro do tipo exponencial on-off. Todos os nós têm filas de saída tipo droptail, com exceção do nó 2, que recebe uma fila tipo Stochastic Fair Queueing (SFQ) (Ferguson, 1998). O nó 3 receberá o tráfego dos geradores. O gerador exponencial estará no nó 0 e enviará seus dados para o host 3, através do nó 2. O gerador CBR estará no nó 1 e enviará para o nó 3, também através do nó 2.

(INSERIR FIGURA)

A versão mais atual do NS é a 2.27, lançada no ano de 2004. O endereço oficial do simulador é http://www.isi.edu/nsnam/ns, onde é possível fazer o seu download.

3.Estrutura

O núcleo do simulador NS foi escrito em linguagem C++, por mostrar-se mais eficiente na manipulação de bytes, permitindo a construção de algoritmos que trabalham com grandes conjuntos de dados, e proporcionando uma velocidade maior na implementação detalhada de protocolos.

Por outro lado, é muito comum em uma simulação realizar-se mudanças nos parâmetros de um cenário, por exemplo, quedas e restabelecimentos de um enlace. Por isso, o NS faz uso da linguagem OTcl (Object-oriented Tool Command Language), desenvolvida pelo MIT, que é uma linguagem interpretada e interativa, uma vez que seus programas podem ser alterados de maneira rápida e ser facilmente re-executados. OTcl atua como interface para o usuário (as simulações são escritas em OTcl), permitindo a manipulação de parâmetros e configuração.

Além do mais, os objetos compilados são disponibilizados para o interpretador OTcl por linkagem, o que virtualmente cria um objeto OTcl para cada objeto C++, e que podem ser manipulados através das facilidades da OTcl. A Figura 2 mostra a construção geral do NS. Um usuário comum atua no perímetro “Tcl”, escrevendo scripts em OTcl e executando simulações. Os escalonadores de eventos e os componentes de rede são implementados em C++ e disponibilizados ao interpretador OTcl através de uma replicação feita pela camada tclcl, que recria os objetos C++ em objetos OTcl, e que podem finalmente ser manipulados por esta última (processo denominado linkage). Todo o conjunto constitui-se no NS, que é um interpretador de OTcl com bibliotecas de simulação para redes de computadores.

(INSERIR FIGURA)

Para cada classe do simulador construída em C++ existe uma correspondente em OTcl. O conjunto das classes do NS desenvolvido em C++ é chamado de hierarquia compilada e o correspondente em OTcl é denominado hierarquia interpretada. Quando o usuário cria objetos através do interpretador OTcl estes são associados a um objeto correspondente na hierarquia compilada.

Pode-se se concluir que, do ponto de vista do usuário, o NS nada mais é do que um interpretador OTcl específico para a simulação de redes de computadores.

Um componente importante existente na arquitetura NS é o escalonador de eventos, que é responsável por disparar os eventos existentes na fila de eventos no tempo de simulação especificado e acionar o objeto que realizará o tratamento do evento. O processo de simulação pode ser assim resumido (Figura 3):

- confecção do script (arquivo texto comum);

- execução do script com o comando ns nomedoscript.tcl;

- arquivos de tracing serão gerados com registro de cada evento simulado.

Após conclusão da simulação:

- imprimir estatísticas calculadas no script;

- visualizar os eventos com o nam;

- analisar resultados através dos arquivos de tracing com apoio de ferramentas apropriadas (awk).

(INSERIR FIGURA)

Algo a ser observado é que o NS não fornece estatísticas de simulação de modo automático; estas devem ser obtidas através do script ou pela manipulação de objetos especiais chamados monitores. Pode-se, ainda, usar ferramentas para análise dos arquivos de tracing gerados durante a simulação, que são os verdadeiros resultados da simulação, estes arquivos com formatação específica registram cada evento gerado pelos escalonadores.

4. Conclusões

O NS está ganhando força na comunidade de Redes de Computadores, pois permite o estudo de diversas tecnologias e protocolos de rede existentes atualmente de forma relativamente simples e barata. O NS pode ser utilizado como plataforma de apoio em pesquisas da área, além de se mostrar uma ferramenta útil para professores que podem usá-la para melhorar seus cursos e para alunos que desejam consolidar os conceitos estudados em sala.

Várias universidades já o estão usando, algumas delas são a Universidade Federal de Lavras, no estado de Minas Gerais, a Universidade de Campinas, no estado de São Paulo, e na Universidade Federal do Rio Grande Sul ele foi um dos simuladores usado para uma comparação sobre os simuladores mais usados no meio acadêmico.

Podemos dizer ainda que ele é uma ferramenta que executa em software livre e isso é muito importante para a comunidade acadêmica. Com base nesta tecnologia livre é possível aprimorar e desenvolver novas ferramentas também livres e abertas. Assim sendo, facilita-se o intercâmbio entre os países e universidades de todo o mundo.

O Network Simulator tem como vantagem o seu pioneirismo e o fato de ser uma ferramenta muito divulgada entre os grupos de redes e de tolerância à falhas. O Network Simulator possui uma rica documentação e é o mais consolidado e antigo. Dispõe de um acervo considerável, para os mais diversos cenários de simulação. Tem como principal desvantagem o fato de não possuir uma interface gráfica para descrição das arquiteturas usando scripts programados em TCL.

Vários aperfeiçoamentos vêm sendo feitos ao NS desde a sua criação. Uma comunidade de pesquisadores está sempre desenvolvendo novos módulos e corrigindo defeitos existentes no simulador.

Referências

GUEDES, S., CONCEIÇÃO, V., NUNO, C., RODRIGUES, L. Plataforma de Desenvolvimento e Simulação de Protocolos, 2005.

OPNET, “OPNET Web Site”, http://www.opnet.com, acessado em 14.06.2006. Network Simulator, “Network Simulator Web Site”, http://www.isi.edu/nsnam/ns, acessado em 14.06.2006.

VASQUES, A.T., ESTEVES, R.P., ABELEM, A.J.G. . Simulação de Redes de Computadores utilizando o Network Simulator, 2004.

RAVAGNANI, G. S. Simulação do Ip Móvel Via Network Simulator (Ns2): Uma Proposta de Rede Wireless.

HUSTON, G. “Quality of service”. 1ª. Edição. John Wiley & Sons, 1998.

ROCHOL, Dr. Juergen, SOUZA, Lara D.; SEWALD, Leonardo; FERNANDES, Ricardo Hernandes; MORI, Oscar Núñez – Instituto de Informática – UFRGS. Plataformas de Simulação de Software Livre para Redes Fixas e Móveis: Características, Suporte, Instalação e Validação.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

 

abril 2009
S T Q Q S S D
« jan   mai »
 12345
6789101112
13141516171819
20212223242526
27282930  

Comentários

Patrick Cassol em Sobre mim
sabinecassol em Sobre mim
Roberto du Vale em Sobre mim
joao em A Formiguinha desmotivada

Categorias

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.