TÓPICOS AVANÇADOS
EM REDES 2
Simuladores de Rede
Roteiro
•
Introdução
•
Tipos de simuladores
•
Visão geral de alguns simuladores
•
Análise de desempenho
Introdução
•
Simuladores de rede são usados por diversas razões:
• Criar um test bed com vários computadores em rede, roteadores e
links é muito custoso
• Os simuladores podem poupar tempo e principalmente dinheiro
• Projetistas de rede podem testar protocolos usando os simuladores
• Seria desastroso testar um protocolo novo em uma rede real se ainda não há uma garantia de que o protocolo funcionará
Introdução
•
Conceitos básicos:
• Simulação de rede versus rede real:
• Os simuladores representam uma abstração da rede e não são perfeitos
• Há características das redes reais que podem estar ausentes no simulador
• É possível criar vários cenários a um baixo custo
• Se o simulador representa bem uma rede real é possível que se possa tirar conclusões úteis sobre o efeito de parâmetros sobre a operação da rede
• Simulação versus emulação
• Em um ambiente de simulação todos os componentes de uma rede são
“virtuais”
• São criadas topologias compostas por computadores, roteadores e enlaces e é possível avaliar o comportamento de vários cenários criados no software
• A emulação consiste em conectar dispositivos reais em uma rede “virtual”
Introdução
•
O conceito de
Simulador de Eventos Discretos
ou
Discrete Event-based Simulation
(
DEB
):
• A maior parte dos simuladores disponíveis usam esse princípio
• Os nós da rede disparam eventos diversos
• O envio de pacotes é o exemplo mais comum
• Estes eventos são modelados usando teoria das filas
• Uma simulação consiste na observação de uma quantidade enorme de ocorrência destes eventos
• A simulação de uma rede típica consiste na observação dos pacotes gerados na rede e do comportamento da rede neste cenário
• Os simuladores possuam a vantagem de já possuírem modelos de tráfegos implementados que tratam estes eventos
Introdução
•
Exemplo de estrutura:
Tipos de Simuladores
•
Os simuladores podem ser classificados de várias formas
• Comerciais ou gratuitos
• Alguns produtos possuem uma linha gratuita mais simples e uma comercial mais completa
• Os comerciais geralmente possuem versão de avaliação • Complexidade do simulador
• A quantidade de recursos disponíveis variam entre os simuladores
Tipos de Simuladores
Tipos de Simuladores
Comerciais
OPNET
QUALNET
Código aberto
NS2, NS3
OMNeT++
Tipos de Simuladores
•
Recursos encontrados nos simuladores:
• Recursos mínimos:
• Criar uma topologia (indicar os nós e as ligações das redes), definir cenários e o tráfego entre os nós
• Uso de interface com usuário baseada em texto (linha de comando ou arquivos de configuração)
• Recursos adicionais:
• Especificar tudo sobre os protocolos usados na rede • Interface gráfica com usuário com recursos sofisticados
• API disponível para uma ou várias linguagens de programação (permitir extensão do simulador)
Visão geral dos simuladores
•
NS-2:
• É a segunda versão do simulador NS (baseado no simulador REAL)
• É um simulador de eventos discretos amplamente usado
• Usa a linguagem de programação C++ e scripts oTCL
• O objetivo original era fazer a parte mais crítica em C++ devido ao desempenho e a parte de criação de dados/cenários usar oTCL • Atualmente é desenvolvido em colaboração entre institutos de
pesquisa
• SAMAN (financiado pela DARPA), CONSER (NSF)
Visão geral dos simuladores
•
NS-3:
• É um simulador da família do NS mas não é compatível com NS2
• Foi criado um simulador completamente novo!
• O núcleo foi reescrito e não é mais usado oTCL (mas permite Python)
• Protocolos são mais reais (mais próximos dos usados na prática)
• Estudos mostram que o desempenho do NS3 é superior ao do NS2 (tempo de execução e uso de memória)
Visão geral dos simuladores
•
OMNeT++:
• Também é um simulador de eventos discretos em C++
• O núcleo é geral, mas projetos específicos facilitam as simulações de tipos especiais de redes
• Oferece uma IDE baseada em Eclipse
• Tem atraído a atenção de pesquisadores de várias áreas além de redes de telecomunicações
Visão geral dos simuladores
•
SimPy:
• Simulador de eventos discretos em Python
• Não é tão usado quanto o NS e o OMNeT++ mas possui uma equipe permanente que mantém o simulador
• Possui exemplos no site sobre simulações em diversas áreas (não apenas em redes de computadores)
• Em testes de desempenho com redes grandes este simulador se sai pior do que os demais
Visão geral dos simuladores
•
Cisco Packet Tracer:
• Ferramenta de aprendizado que suporta uma vasta gama de simulações físicas e lógicas.
• Fornece ferramentas de visualização para ajudar a entender o funcionamento interno de uma rede
• Implementação em detalhes dos equipamentos da cisco
• A proposta original era ser usada como ferramenta educacional na Cisco Networking Academy (instrutores, alunos e ex-alunos)
Visão geral dos simuladores
•
CNET network simulator.
• Permite a exploração e experimentação de uma série de protocolos das camadas de enlace, rede e transporte
• Ambientes compostos pela combinação de redes com diferentes características (WANs, LANs e WLAN).
• Apenas para Linux e Mac (não possui versão para Windows)
Visão geral dos simuladores
•
GNS3 - Graphical Network Simulator
• Simulador gráfico de redes que permite a simulação de redes complexas.
• O projeto é desenvolvido em código aberto e é compatível com a maioria das plataformas.
Visão geral dos simuladores
•
EstiNet 8.1
• Simulador e emulador comercial criado com base no antigo NCTUns - NCTU Network Simulator
• NCTUns - NCTU Network Simulator era um simulador de redes gratuito, extensível e de alta fidelidade
• EstiNet possui um enfoque em SDN (Software-Defined Networks)
Visão geral dos simuladores
•
JiST (Java in Simulation Time):
• Simulador desenvolvido em Java
• É muito usado em conjunto com o SWANS (Scalable Wireless Ad hoc Network Simulator)
• Utiliza comunicação inteligente entre os elementos de rede que facilita a paralelização
• É um dos simuladores open source mais rápidos, mas o consumo de
memória é alto
• Infelizmente não há uma equipe engajada com a manutenção do simulador a última versão estável é antiga
Avaliação de desempenho
•
O desempenho de ferramentas de simulação pode ser
estudado basicamente analisando:
• O tempo gasto para simular uma rede
• O uso de memória
•
É importante dispor de um simulador realista mas que
possua bom desempenho
Avaliação de desempenho
•
Avaliação de desempenho de alguns dos simuladores
apresentados [2]:
Tempo de execução de cada simulador de acordo com o tamanho da rede
Atividade
•
Os alunos devem se organizar em duplas
•
Cada dupla receberá um tipo específico de rede:
• VANETs, redes P2P, redes de telefonia celular 4G, redes VLC
• O tema deverá ser escolhido ou sorteado
•
A dupla deverá pesquisar na Internet um simulador
compatível com o seu tipo de rede:
• O simulador deve permitir a simulação dos protocolos usados na rede sorteada
• O aluno deve elaborar um resumo contendo um roteiro sobre como a simulação pode ser feita
• Ainda não precisa fazer a simulação em si • O resumo deve ser enviado até o final da aula
Atividade
•
Exemplo:
• Se a rede sorteada fosse uma rede EPON seria possível usar o OMNet++
• Há um projeto específico para redes de acesso ópticas no OMNet++ • Endereço:
http://www.omnetpp.org/omnetpp/doc_details/2211-ethernet-passive-optical-network-epon
Atividade para o Lar
•
Instalar o simulador escolhido pela dupla no computador
pessoal de um dos integrantes
•
Executar uma simulação simples para testar a instalação
• Exemplo comunicação entre 2 dispositivos ligados em um ponto a ponto
Referências
•
Jianli Pan. A Survey of Network Simulation Tools: Current
Status and Future Development. Relatório de Pesquisa.
•
Elias Weingartner vom Lehn e Klaus Wehrle. A performance
comparison of recente network simulators. IEEE ICC 2009.
•
NS-3. Endereço eletrônico: http://www.nsnam.org/. Acessado
em 18/11/14
•
OMNeT++. Endereço eletrônico: http://www.omnetpp.org/.
Acessado em 18/11/14
•
JiST. Endereço eletrônico: http://jist.ece.cornell.edu/. Acessado
em 18/11/14
•