• Nenhum resultado encontrado

An´alise dos Simuladores de Redes

No documento 2010.2monografia danilo(versãofinal) (páginas 52-56)

2.4 Simulac¸˜ao Computacional

2.4.1 An´alise dos Simuladores de Redes

O Network Simulator, ou simplesmente NS, ´e um simulador de eventos discretos10, voltado para o desenvolvimento de pesquisas em redes de computadores. Este simulador est´a em desenvolvimento desde 1989, surgindo da variac¸˜ao do REAL Network Simulator que era um projeto da Cornell University, EUA. Atualmente, o desenvolvimento do NS ´e feito principalmente por dois projetos, o SAMAN (USC/ISI, 2010b) mantido pelo DARPA (Defense Advanced Research Projects Agency) e o CONSER (USC/ISI, 2010a) mantido pela NSF (National Science Foundation), e em colaborac¸˜ao com outros pesquisadores independentes de todo o mundo. Por se tratar de um software de c´odigo aberto fornecido gratuitamente, uma lista de discuss˜ao ´e mantida pelos desenvolvedores, onde os pesquisadores de diversas partes do mundo podem trocar id´eias e experiˆencias, e tamb´em propor correc¸˜oes para o c´odigo do simulador, que ap´os avaliadas podem ser incorporadas

O NS d´a suporte a pilha de protocolos TCP/IP, multicast, redes sem fio, roteamento e linksde sat´elite. Implementa filas de roteamento tipo droptail, Diffserv RED, FQ, stochastic fair queueing(SFQ), class-based queueing (CBQ), dentre outras (FERGUSON; HUSTON, 1998). Al´em disso o NS possui um m´odulo MPLS, chamado MNS (MPLS Network Simulator), e uma extens˜ao do MNS para RSVP e RSVP-TE.

O NS possui tamb´em um visualizador gr´afico para animac¸˜oes da simulac¸˜ao, o NAM (Network Animator), timers e escalonadores, modelos para controle de erros e algumas ferramentas matem´aticas como gerador de n´umeros aleat´orios e integrais para c´alculos estat´ısticos. Inclui tamb´em uma ferramenta de plotagem, o xgraph, e v´arios tipos de geradores de tr´afego.

O NS foi desenvolvido na linguagem orientada a objetos C++. A interface com o usu´ario, configurac¸˜ao, estabelecimento de parˆametros e manipulac¸˜ao de objetos e classes ´e feita em modo texto, atrav´es da linguagem interpretada OTcl. Desta forma, ´e poss´ıvel adicionar m´odulos ao NS atrav´es de arquivos OTcl (.tcl) desenvolvidos por outros usu´arios, por´em dificultando o uso do simulador por ter a dependˆencia do conhecimento da linguagem OTcl.

10Fila global onde s˜ao inseridos todos os eventos da rede e que s˜ao tratados sequencialmente ou por prioridade,

2.4.1.2 OPNET IT Guru Academic Edition

O OPNET IT Guru Academic Edition ´e uma ferramenta computacional orientada a eventos utilizada para especificac¸˜ao, simulac¸˜ao e modelagem de redes (ALECRIM, 2009). Com

o simulador OPNET ´e poss´ıvel simular v´arias configurac¸˜oes e cen´arios, criar modelos fi´eis `a rede analisada, al´em de possibilitar a coleta de dados estat´ısticos sobre a rede simulada, a fim de proporcionar an´alises atrav´es dos gr´aficos exibidos.

No OPNET ´e poss´ıvel simular diversos ambientes como WLAN (Wireless Local Area Network), LAN’s, WAN’s, ATM, FDDI (Fiber Distibuted Data Interface), entre outras.

O OPNET trabalha com o uso de editores de projeto. ´E por meio destes editores que ´e poss´ıvel construir um modelo de rede e moldar as caracter´ısticas de cada um dos elementos do modelo, escolher quais estat´ısticas devem ser coletadas (as de um objeto ou da rede como um todo), realizar as simulac¸˜oes e visualizar os resultados (ALECRIM, 2009).

Os principais editores do OPNET, relacionados por Alecrim (2009) s˜ao:

• Editor de projeto: ´e a ´area de trabalho para elaborac¸˜ao dos modelos, onde s˜ao criados os cen´arios do modelo de rede a ser simulado;

• Editor de n´os: ´e onde se define o comportamento de cada componente da rede;

• Editor de modelos de processos: ´e onde s˜ao criados os modelos de processos que controlam a funcionalidade das camadas mais baixas dos modelos de n´o criados no editor de n´os. Os modelos de processos s˜ao um n´umero finito de m´aquinas de estado e linhas que representam as transic¸˜oes entre os estados;

• Editor de modelo de enlaces: ´e onde s˜ao criados os enlaces (links) utilizados para conectar os n´os da rede;

• Editor de Rota: ´e onde os componentes que definem uma rota (path) de tr´afego s˜ao criados, permitindo criar um componente de rota em v´arios modelos de protocolo e utilizar conex˜oes l´ogicas ou circuitos virtuais do tipo Ethernet, FDDI, Frame Relay, MPLS, ATM, entre outras;

• Editor de Formato de Pacotes: ´e onde se define a estrutura interna dos pacotes que circular˜ao na rede;

• ICI Editor: esse editor ´e utilizado para definir a estrutura interna dos ICIs (Interface Control Information), que formalizam interrupc¸˜oes nas comunicac¸˜oes entre processos;

• Editor de Curva de modulac¸˜ao: ´e onde s˜ao criadas as func¸˜oes de modulac¸˜ao que caracterizam a vulnerabilidade de um esquema de codificac¸˜ao de dados e modulac¸˜ao na presenc¸a de ru´ıdo;

• PDF Editor: ´e utilizado para definir a probabilidade sobre uma faixa de poss´ıveis resultados. Uma func¸˜ao PDF (Probability Density Function), em portuguˆes func¸˜ao de densidade de probabilidade, pode ser utilizada para modelar o tempo de chegada de pacotes ou a probabilidade de transmiss˜ao de erros;

• Editor de Estat´ısticas: por meio deste editor ´e poss´ıvel especificar as estat´ısticas a serem coletadas durante a simulac¸˜ao;

• Simulador de Sequˆencias: ´e onde se especifica parˆametros de simulac¸˜ao adicionais para a realizac¸˜ao de simulac¸˜oes simultˆaneas no editor de projeto;

• Editor de Filtros: possibilita a criac¸˜ao de novos filtros, a partir da combinac¸˜ao de outros modelos existentes. A vers˜ao acadˆemica do OPNET j´a possui um n´umero consider´avel de filtros.

Este simulador ´e de f´acil utilizac¸˜ao e possui uma gama extensa de possibilidades de configurac¸˜ao de cen´arios, incluindo qualidade de servic¸o. A utilizac¸˜ao dos editores requer pouco conhecimento de alguma linguagem de programac¸˜ao especifica, exceto no caso do editor de modelos de processos, onde os estados s˜ao descritos utilizando a linguagem C++. O OPNET possui uma vers˜ao acadˆemica e outra comercial. A vers˜ao acadˆemica ´e gratuita e pode ser baixada do site do simulador.

2.4.1.3 CNET

O CNET ´e um simulador de rede que permite a experimentac¸˜ao com v´arias camadas de link de dados, v´arias camadas de rede, v´arios protocolos de roteamento e v´arias camadas de transporte, compostas por qualquer combinac¸˜ao de WAN’s, LAN’s, ou WLAN’s (MCDONALD, 2006).

Desenvolvido principalmente para uso em cursos de graduac¸˜ao de redes de computadores, o CNET ´e um simulador orientado a eventos escrito em C. Ele faz uso das linguagens Tcl/Tk para implementar sua interface gr´afica, por interm´edio da qual o simulador mostra uma representac¸˜ao da topologia modelada e permite que alguns atributos sejam configurados. As topologias, por sua vez, s˜ao constru´ıdas atrav´es de arquivos especiais.

O objetivo do simulador, segundo McDonald (2006), ´e permitir a experimentac¸˜ao com protocolos de rede. Ele traz, nativamente, Ethernet e WAN, e tamb´em mecanismos para causar

corrupc¸˜ao ou perda de quadros de dados probabilisticamente.

A documentac¸˜ao do CNET informa que o simulador somente funciona sob plataformas Unix/Linux, n˜ao sendo compat´ıvel com sistemas Microsoft Windows ou Apple Macintosh e tamb´em n˜ao inclui os protocolos MPLS e RSVP-TE. Apesar de que o c´odigo-fonte da ferramenta ´e livre, n˜ao ´e extensivamente documentado. A gerac¸˜ao de estat´ısticas p´os-simulac¸˜ao ´e apenas b´asica. Como o foco do simulador ´e a construc¸˜ao e experimentac¸˜ao de protocolos, e n˜ao an´alise de desempenho e QoS, conjuntamente com suas limitac¸˜oes de plataforma e ausˆencia do MPLS e RSVP-TE, a an´alise do CNET foi negativa.

2.4.1.4 OMNeT++

O OMNeT++ ´e um ambiente de simulac¸˜ao discreta de eventos desenvolvido na linguagem de programac¸˜ao C++ por Andr´as Varga (VARGA, 2001). O simulador ´e gratuito, se usado por usu´arios acadˆemicos sem fins lucrativos. O simulador ´e baseado em componentes e existem muitos modelos de desenvolvimento para este simulador, que s˜ao montados atrav´es de sua linguagem interna chamada Network Description (NED). Este simulador foi criado para simulac¸˜oes de redes de computadores, mas seu autor informa que ele tamb´em pode ser usado para simular outros sistemas.

As simulac¸˜oes de rede de computadores no OMNeT++ s˜ao constru´ıdas a partir de um modelo que representa as caracter´ısticas, funcionalidades e ac¸˜oes de uma rede. Este modelo ´e chamado de INET Framework e se encontra dispon´ıvel para download no site do OMNeT++ (VARGA, 2001), assim como outros modelos para simular outros sistemas.

Atrav´es do INET Framework ´e poss´ıvel incluir os protocolos MPLS, LDP (Label Distribution Protocol) e RSVP-TE. Contudo a documentac¸˜ao n˜ao deixa claro se o componente RSVP-TE inclui recuperac¸˜ao a falhas. O modelo MPLS no OMNeT++ foi desenvolvido originalmente por Thang Nguyen Xuan da Universidade de Tecnologia de Sydney. Agora, o modelo ´e mantido por Andr´as Varga. O modelo inclui componentes para encaminhamento MPLS, LDP, CR-LDP (Constraint-based Routing Label Distribution Protocol) e RSVP-TE.

O uso do OMNET++ n˜ao ´e simples. Ele possui v´arias janelas e menus, resultando numa interface carregada e “polu´ıda”, requerendo consultas `a extensa documentac¸˜ao colocada na internet, a tutoriais e demonstrac¸˜oes antes que se possa comec¸ar a construir topologias de simulac¸˜ao.

2.4.1.5 J-Sim

J-Sim, anteriormente conhecido como JavaSim, ´e um simulador de rede baseado em componentes, escrito inteiramente em Java, desenvolvido inicialmente por Hung-Ying Tyan e

algumas outras pessoas na universidade do estado de Ohio, e atualmente mantido pelo projeto Physiome da Universidade de Washington (NSR, 2010). J-Sim ´e um projeto de c´odigo aberto e o simulador e alguns m´odulos est˜ao dispon´ıveis para download na Internet.

O grande objetivo de um simulador feito em Java, como o J-Sim, ´e a grande extensibilidade. Al´em disso o J-Sim ´e um importante ambiente de simulac¸˜ao dada a natureza fracamente acoplada dos seus componentes que permite o r´apido desenvolvimento e prototipagem r´apida de aplicac¸˜oes.

Este simulador possui uma extens˜ao para incluir a possibilidade de simular MPLS, mas n˜ao o protocolo RSVP-TE. A instalac¸˜ao do simulador ´e similar a de todos aplicativos em Java, requerendo a configurac¸˜ao de vari´aveis de ambiente, uso da maquina virtual Java, e a compilac¸˜ao de c´odigos fonte com aux´ılio de alguma interface de desenvolvimento para efetuar as correc¸˜oes e adicionar as extens˜oes ao J-Sim.

O J-Sim ´e um simular de duas linguagens, similar ao NS. O usu´ario manipula classes escritas em Java usando scripts escritos em Tcl. Esta caracter´ıstica resulta no mesmo problema verificado no NS-2: a necessidade de se conhecer e manipular duas linguagens para usar o simulador e implementar funcionalidades n˜ao existentes.

No documento 2010.2monografia danilo(versãofinal) (páginas 52-56)