O documento descreve como realizar simulações de rede usando o simulador Network Simulator (NS). Ele apresenta as características e arquitetura do NS, como visualizar e analisar resultados e como criar scripts para definir topologias de rede, gerar tráfego e realizar simulações.
1. Realizando simulações de rede com o Network Simulator
Realizando simulações de rede com o Network
Simulator
Felipe Buarque de Queiroz
felipe.buarque@gmail.com
Universidade Federal de Alagoas
Novembro de 2007
1 / 19
2. Realizando simulações de rede com o Network Simulator
Introdução
Conteúdo I
1 Introdução
2 Network Simulator
Características
Arquitetura
Visualização, análise e estatísticas
3 Realizando simulações
4 Conclusões
2 / 19
3. Realizando simulações de rede com o Network Simulator
Introdução
Introdução
Rápido crescimento na demanda de tráfego de informações
Expansão caótica e desordenada da rede
Carência de recursos laboratoriais para execução de testes
3 / 19
4. Realizando simulações de rede com o Network Simulator
Introdução
Introdução
Rápido crescimento na demanda de tráfego de informações
Expansão caótica e desordenada da rede
Carência de recursos laboratoriais para execução de testes
3 / 19
5. Realizando simulações de rede com o Network Simulator
Introdução
Introdução
Rápido crescimento na demanda de tráfego de informações
Expansão caótica e desordenada da rede
Carência de recursos laboratoriais para execução de testes
3 / 19
6. Realizando simulações de rede com o Network Simulator
Introdução
Introdução
Ambientes de simulação:
Análise de viabilidade de projetos
Avaliação do desempenho de redes
Definição de diferentes topologias
4 / 19
7. Realizando simulações de rede com o Network Simulator
Introdução
Introdução
Ambientes de simulação:
Análise de viabilidade de projetos
Avaliação do desempenho de redes
Definição de diferentes topologias
4 / 19
8. Realizando simulações de rede com o Network Simulator
Introdução
Introdução
Ambientes de simulação:
Análise de viabilidade de projetos
Avaliação do desempenho de redes
Definição de diferentes topologias
4 / 19
9. Realizando simulações de rede com o Network Simulator
Introdução
Simuladores de redes
Network Simulator (NS)
OMNet++
GlomoSim
QualNet
CNet
OPNet
NetSim
Porquê utilizar o NS?
5 / 19
10. Realizando simulações de rede com o Network Simulator
Network Simulator
Conteúdo I
1 Introdução
2 Network Simulator
Características
Arquitetura
Visualização, análise e estatísticas
3 Realizando simulações
4 Conclusões
6 / 19
11. Realizando simulações de rede com o Network Simulator
Network Simulator
O que é o NS?
Simulador baseado em eventos voltado para pesquisa na área de
Redes de Computadores, com o intuito de prover um ambiente em
que seja possével realizar simulaçães dos mais diversos cenários de
redes existentes, fornecendo suporte aos mais diversos tipos de
protocolos, topologias, algoritmos de roteamento, etc (1)
7 / 19
12. Realizando simulações de rede com o Network Simulator
Network Simulator
Características
Características
Software Open Source
Simulador orientado a objetos
Implementado em duas linguagens: C++ e Tcl
Estrutura modular
Suporte a protocolos de comunicação, como TCP e UDP;
modelos de tráfego, como CBR e VBR; algoritmos de
roteamento, como DSR e AODV; alguns protocolos da
camada MAC, etc.
Suporte a simulaçães de redes cabeadas ou sem fio
Suporte a integração de novos módulos
8 / 19
13. Realizando simulações de rede com o Network Simulator
Network Simulator
Características
Características
Software Open Source
Simulador orientado a objetos
Implementado em duas linguagens: C++ e Tcl
Estrutura modular
Suporte a protocolos de comunicação, como TCP e UDP;
modelos de tráfego, como CBR e VBR; algoritmos de
roteamento, como DSR e AODV; alguns protocolos da
camada MAC, etc.
Suporte a simulaçães de redes cabeadas ou sem fio
Suporte a integração de novos módulos
8 / 19
14. Realizando simulações de rede com o Network Simulator
Network Simulator
Características
Características
Software Open Source
Simulador orientado a objetos
Implementado em duas linguagens: C++ e Tcl
Estrutura modular
Suporte a protocolos de comunicação, como TCP e UDP;
modelos de tráfego, como CBR e VBR; algoritmos de
roteamento, como DSR e AODV; alguns protocolos da
camada MAC, etc.
Suporte a simulaçães de redes cabeadas ou sem fio
Suporte a integração de novos módulos
8 / 19
15. Realizando simulações de rede com o Network Simulator
Network Simulator
Características
Características
Software Open Source
Simulador orientado a objetos
Implementado em duas linguagens: C++ e Tcl
Estrutura modular
Suporte a protocolos de comunicação, como TCP e UDP;
modelos de tráfego, como CBR e VBR; algoritmos de
roteamento, como DSR e AODV; alguns protocolos da
camada MAC, etc.
Suporte a simulaçães de redes cabeadas ou sem fio
Suporte a integração de novos módulos
8 / 19
16. Realizando simulações de rede com o Network Simulator
Network Simulator
Características
Características
Software Open Source
Simulador orientado a objetos
Implementado em duas linguagens: C++ e Tcl
Estrutura modular
Suporte a protocolos de comunicação, como TCP e UDP;
modelos de tráfego, como CBR e VBR; algoritmos de
roteamento, como DSR e AODV; alguns protocolos da
camada MAC, etc.
Suporte a simulaçães de redes cabeadas ou sem fio
Suporte a integração de novos módulos
8 / 19
17. Realizando simulações de rede com o Network Simulator
Network Simulator
Características
Características
Software Open Source
Simulador orientado a objetos
Implementado em duas linguagens: C++ e Tcl
Estrutura modular
Suporte a protocolos de comunicação, como TCP e UDP;
modelos de tráfego, como CBR e VBR; algoritmos de
roteamento, como DSR e AODV; alguns protocolos da
camada MAC, etc.
Suporte a simulaçães de redes cabeadas ou sem fio
Suporte a integração de novos módulos
8 / 19
18. Realizando simulações de rede com o Network Simulator
Network Simulator
Características
Características
Software Open Source
Simulador orientado a objetos
Implementado em duas linguagens: C++ e Tcl
Estrutura modular
Suporte a protocolos de comunicação, como TCP e UDP;
modelos de tráfego, como CBR e VBR; algoritmos de
roteamento, como DSR e AODV; alguns protocolos da
camada MAC, etc.
Suporte a simulaçães de redes cabeadas ou sem fio
Suporte a integração de novos módulos
8 / 19
19. Realizando simulações de rede com o Network Simulator
Network Simulator
Arquitetura
Arquitetura do NS
Estrutura de classes C++: velocidade de execução
Estrutura de classes Tcl: facilidade para construção dos
scripts (2)
Figura: Arquitetura do NS
9 / 19
20. Realizando simulações de rede com o Network Simulator
Network Simulator
Arquitetura
Estrutura de diretírios
Figura: Estrutura de diretírios do NS
10 / 19
21. Realizando simulações de rede com o Network Simulator
Network Simulator
Arquitetura
Visão geral
Figura: Visão simplificada do usuário do NS
11 / 19
22. Realizando simulações de rede com o Network Simulator
Network Simulator
Visualização, análise e estatísticas
Visualização, análise e estatísticas
Geração de arquivos em formatos específicos para visualização
NAM - Network Animator
Geração de arquivos com os dados da simulação (trace files)
Possibilidade de utilização de ferramentas para geração de
gráficos estatísticos (XGraph, GNUplot)
Figura: Gráficos gerados pela ferramenta XGraph
12 / 19
23. Realizando simulações de rede com o Network Simulator
Network Simulator
Visualização, análise e estatísticas
Visualização, análise e estatísticas
Geração de arquivos em formatos específicos para visualização
NAM - Network Animator
Geração de arquivos com os dados da simulação (trace files)
Possibilidade de utilização de ferramentas para geração de
gráficos estatísticos (XGraph, GNUplot)
Figura: Gráficos gerados pela ferramenta XGraph
12 / 19
24. Realizando simulações de rede com o Network Simulator
Network Simulator
Visualização, análise e estatísticas
Visualização, análise e estatísticas
Geração de arquivos em formatos específicos para visualização
NAM - Network Animator
Geração de arquivos com os dados da simulação (trace files)
Possibilidade de utilização de ferramentas para geração de
gráficos estatísticos (XGraph, GNUplot)
Figura: Gráficos gerados pela ferramenta XGraph
12 / 19
25. Realizando simulações de rede com o Network Simulator
Network Simulator
Visualização, análise e estatísticas
Visualização, análise e estatísticas
Geração de arquivos em formatos específicos para visualização
NAM - Network Animator
Geração de arquivos com os dados da simulação (trace files)
Possibilidade de utilização de ferramentas para geração de
gráficos estatísticos (XGraph, GNUplot)
Figura: Gráficos gerados pela ferramenta XGraph
12 / 19
26. Realizando simulações de rede com o Network Simulator
Network Simulator
Visualização, análise e estatísticas
Tracing
Figura: Estrutura de um trace file
Event - tipo de evento ocorrido (r, +, -, d)
Time - instante de tempo em que o evento ocorreu
Pkt type - tipo de pacote enviado (CBR, FTP)
Pkt size - tamanho do pacote
Fid - identificador do fluxo
Src addr - endereço do nó fonte na forma "nó.porta"
Seq num - número de sequência do pacote
Pkt id - identificador único do pacote
13 / 19
27. Realizando simulações de rede com o Network Simulator
Realizando simulações
Conteúdo I
1 Introdução
2 Network Simulator
Características
Arquitetura
Visualização, análise e estatísticas
3 Realizando simulações
4 Conclusões
14 / 19
28. Realizando simulações de rede com o Network Simulator
Realizando simulações
Criação do script OTcl
Para montar uma simulação no NS, devem ser definidos alguns
parâmetros básicos no script:
Criação do objeto da classe Simulator
Abertura dos arquivos para tracing e visualização
Definir a topologia da rede
Criação dos nós da rede
Conexão entre os nós
Criação das filas de saída
Definir os agentes de comunicação
Definir os geradores de tráfego
Programação dos schedulers e temporização
Encerramento da simulação, animação e estatísticas
15 / 19
29. Realizando simulações de rede com o Network Simulator
Realizando simulações
Criação do script OTcl
Para montar uma simulação no NS, devem ser definidos alguns
parâmetros básicos no script:
Criação do objeto da classe Simulator
Abertura dos arquivos para tracing e visualização
Definir a topologia da rede
Criação dos nós da rede
Conexão entre os nós
Criação das filas de saída
Definir os agentes de comunicação
Definir os geradores de tráfego
Programação dos schedulers e temporização
Encerramento da simulação, animação e estatísticas
15 / 19
30. Realizando simulações de rede com o Network Simulator
Realizando simulações
Criação do script OTcl
Para montar uma simulação no NS, devem ser definidos alguns
parâmetros básicos no script:
Criação do objeto da classe Simulator
Abertura dos arquivos para tracing e visualização
Definir a topologia da rede
Criação dos nós da rede
Conexão entre os nós
Criação das filas de saída
Definir os agentes de comunicação
Definir os geradores de tráfego
Programação dos schedulers e temporização
Encerramento da simulação, animação e estatísticas
15 / 19
31. Realizando simulações de rede com o Network Simulator
Realizando simulações
Criação do script OTcl
Para montar uma simulação no NS, devem ser definidos alguns
parâmetros básicos no script:
Criação do objeto da classe Simulator
Abertura dos arquivos para tracing e visualização
Definir a topologia da rede
Criação dos nós da rede
Conexão entre os nós
Criação das filas de saída
Definir os agentes de comunicação
Definir os geradores de tráfego
Programação dos schedulers e temporização
Encerramento da simulação, animação e estatísticas
15 / 19
32. Realizando simulações de rede com o Network Simulator
Realizando simulações
Criação do script OTcl
Para montar uma simulação no NS, devem ser definidos alguns
parâmetros básicos no script:
Criação do objeto da classe Simulator
Abertura dos arquivos para tracing e visualização
Definir a topologia da rede
Criação dos nós da rede
Conexão entre os nós
Criação das filas de saída
Definir os agentes de comunicação
Definir os geradores de tráfego
Programação dos schedulers e temporização
Encerramento da simulação, animação e estatísticas
15 / 19
33. Realizando simulações de rede com o Network Simulator
Realizando simulações
Criação do script OTcl
Para montar uma simulação no NS, devem ser definidos alguns
parâmetros básicos no script:
Criação do objeto da classe Simulator
Abertura dos arquivos para tracing e visualização
Definir a topologia da rede
Criação dos nós da rede
Conexão entre os nós
Criação das filas de saída
Definir os agentes de comunicação
Definir os geradores de tráfego
Programação dos schedulers e temporização
Encerramento da simulação, animação e estatísticas
15 / 19
34. Realizando simulações de rede com o Network Simulator
Realizando simulações
Criação do script OTcl
Para montar uma simulação no NS, devem ser definidos alguns
parâmetros básicos no script:
Criação do objeto da classe Simulator
Abertura dos arquivos para tracing e visualização
Definir a topologia da rede
Criação dos nós da rede
Conexão entre os nós
Criação das filas de saída
Definir os agentes de comunicação
Definir os geradores de tráfego
Programação dos schedulers e temporização
Encerramento da simulação, animação e estatísticas
15 / 19
35. Realizando simulações de rede com o Network Simulator
Realizando simulações
Redes sem fio
Em simulaçães de redes sem fio, deve-se dar atenção a:
Configuração dos nós da rede
Movimentação dos nós na rede (se for o caso)
Parâmetros de visualização
16 / 19
36. Realizando simulações de rede com o Network Simulator
Realizando simulações
Redes sem fio
Em simulaçães de redes sem fio, deve-se dar atenção a:
Configuração dos nós da rede
Movimentação dos nós na rede (se for o caso)
Parâmetros de visualização
16 / 19
37. Realizando simulações de rede com o Network Simulator
Realizando simulações
Redes sem fio
Em simulaçães de redes sem fio, deve-se dar atenção a:
Configuração dos nós da rede
Movimentação dos nós na rede (se for o caso)
Parâmetros de visualização
16 / 19
38. Realizando simulações de rede com o Network Simulator
Conclusões
Conteúdo I
1 Introdução
2 Network Simulator
Características
Arquitetura
Visualização, análise e estatísticas
3 Realizando simulações
4 Conclusões
17 / 19
39. Realizando simulações de rede com o Network Simulator
Conclusões
Conclusões
Vantagens:
Ferramenta de auxílio em pesquisa e aulas de graduação
Simulaçães de um grande número de protocolos de rede
Possibilidade de desenvolvimento e integração de novos
módulos
Desvantagens:
Carência de um framework para configuração da simulação
Carência de uma ferramenta de análise dos dados da
simulação
18 / 19
40. Realizando simulações de rede com o Network Simulator
Conclusões
Conclusões
Vantagens:
Ferramenta de auxílio em pesquisa e aulas de graduação
Simulaçães de um grande número de protocolos de rede
Possibilidade de desenvolvimento e integração de novos
módulos
Desvantagens:
Carência de um framework para configuração da simulação
Carência de uma ferramenta de análise dos dados da
simulação
18 / 19
41. Realizando simulações de rede com o Network Simulator
Conclusões
Conclusões
Vantagens:
Ferramenta de auxílio em pesquisa e aulas de graduação
Simulaçães de um grande número de protocolos de rede
Possibilidade de desenvolvimento e integração de novos
módulos
Desvantagens:
Carência de um framework para configuração da simulação
Carência de uma ferramenta de análise dos dados da
simulação
18 / 19
42. Realizando simulações de rede com o Network Simulator
Conclusões
Conclusões
Vantagens:
Ferramenta de auxílio em pesquisa e aulas de graduação
Simulaçães de um grande número de protocolos de rede
Possibilidade de desenvolvimento e integração de novos
módulos
Desvantagens:
Carência de um framework para configuração da simulação
Carência de uma ferramenta de análise dos dados da
simulação
18 / 19
43. Realizando simulações de rede com o Network Simulator
Conclusões
Conclusões
Vantagens:
Ferramenta de auxílio em pesquisa e aulas de graduação
Simulaçães de um grande número de protocolos de rede
Possibilidade de desenvolvimento e integração de novos
módulos
Desvantagens:
Carência de um framework para configuração da simulação
Carência de uma ferramenta de análise dos dados da
simulação
18 / 19
44. Realizando simulações de rede com o Network Simulator
Conclusões
Referências I
[1] Altman, E., , and Jimenez, T. Ns simulator for beginners.
Tech. rep., Univ. de Los Andes, Merida, Venezuela e ESSI.
[2] Fall, K., and Varadhan, K. The NS Manual. The VINT
Project, July 2007.
19 / 19