1. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
Introdução à Simulação de Redes de
Computadores com o NS-2 (Network Simulator)
Teoria e Prática
Ministrante: Marllus de Melo Lustosa
Marllus de Melo Lustosa
2. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
Sumário
1. Redes de computadores
2.
3.
4.
5.
6.
1.1. Histórico
1.2. Classificação
Modelo OSI
2.1. Histórico
2.2. Camadas
Modelo TCP/IP
3.1. Histórico
3.2. Pilha de protocolos TCP/IP
3.3. Comparação com modelo OSI
Métodos de análise de desempenho de sistemas
Simulação computacional
5.1. Vantagens da Simulação Computacional
Simulação de eventos
6.1. Contínuos
6.2. Discretos
Marllus de Melo Lustosa
3. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
Sumário
7. Simuladores de Rede
7.1. J-Sim
7.2. Sinalgo
7.3. OMNet++
8. Network Simulator - NS-2
8.1. Características gerais
8.2. Linguagem de programação OTcl e C++
8.3. TclCL – Interface OTcl/C++
8.4. Animador gráfico – NAM (Network Animator)
8.5. Plotagem de gráficos – Xgraph
8.6. Operação do NS-2
8.7. Componentes de uma topologia
8.8. Cenários de redes cabeadas (wired)
8.9. Cenários de redes cabeadas (low level)
8.10. Cenários de redes sem fio (wireless)
8.11. Cenários de redes sem fio (low level)
8.11.1. Classificadores
8.11.2. Módulo de roteamento
Marllus de Melo Lustosa
4. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
Sumário
8.11.3. Camada de enlace (Link layer)
8.11.4. Módulo ARP
8.11.5. Módulo de interface de fila (Interface Queue - IFQ)
8.11.6. Camada MAC
8.11.7. Interface de rede (PHY)
8.11.8. Modelo de rádio propagação/antena
8.12. Cenários de redes híbridas (wired-cum-wireless)
9. Utilização da ferramenta NS-2
9.1. Instalação original
9.2. Projeto Liowsn
10. Etapas no desenvolvimento da simulação
10.1. Modelo da simulação
10.2. Criação do objeto simulador (escalonador de eventos)
10.4. Abertura de arquivos para análise posterior (*.nam)
10.5. Abertura de arquivos para análise posterior (*.tr)
10.6. Criação da topologia da rede (nós e enlaces)
10.7. Criação dos agentes da camada de transporte e conexão com os nós
10.8. Criação dos geradores de tráfego e conexão com os agentes da camada de
transporte
Marllus de Melo Lustosa
5. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
Sumário
10.9. Programação dos eventos da simulação
10.10. Fechamento da simulação, animação (NAM) e geração de
estatísticas
10.11. Iniciando a simulação
10.12. Análise dos arquivos out.tr e out.nam
11. Análise dos scripts (pasta ./scripts_TCL)
11.1. Wired
11.2. Wireless
12. Análise de arquivo trace wireless
13. Funções avançadas
13.1. Geração de movimentação dos nós (setdest)
13.2. Geração de tráfego (setdest)
13.3. Chamada dos arquivos no script tcl
14. Métricas básicas para análise de desempenho de redes de
computadores
Referências
Marllus de Melo Lustosa
6. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
1. Redes de computadores
- Dois ou mais hosts interligados entre si.
- Ligação pode ser: Linha telefônica, cabo, satélite ou
wireless.
- Objetivo de compartilhamento de recursos físicos/
lógicos.
Marllus de Melo Lustosa
7. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
1.1. Histórico
- 1940: George Stibitz usa máquina de teletipo para
transmissão de dados para computador.
- 1962: J. C. R. Licklider (MIT) desenvolve grupo de
trabalho na ARPA, chamado de “Rede Intergaláctica”.
- 1969: Universidade da Califórnia em Los Angeles e
Santa Bárbara, Stanford e Utah foram conectadas pela
ARPANET a uma taxa de 50 kbps.
Marllus de Melo Lustosa
8. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
1.2. Classificação
- Segundo a arquitetura:
- Arcnet
- Ethernet
- Token ring
- Frame Relay
- Segundo a extensão geográfica:
- LAN (Local Area Network)
- MAN (Metropolitan Area Network)
- WAN (Wide Area Network)
- Segundo a topologia:
- Anel
- Barramento
- Estrela
- Ponto-a-ponto (Ad-hoc)
- Segundo o meio de transmissão:
- Cabo
- Wireless
Marllus de Melo Lustosa
9. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
2. Modelo OSI
2.1. Histórico
- Aprovado em 1980 pela ISO (Internacional Standards
Organization).
- Também chamado de modelo de referência OSI.
- Modelo de arquitetura para sistemas abertos.
- Objetivo de facilitar a padronização da conectividade entre
máquinas de diferentes fabricantes.
- Fornecendo uma base que permita o desenvolvimento
coordenado de padrões para interconexão de sistemas em
rede.
- Decompõe as comunicações de rede em partes menores e mais
simples. (dividir para conquistar)
- Evita que as modificações em uma camada afetem as outras,
possibilitando maior rapidez no seu desenvolvimento.
Marllus de Melo Lustosa
10. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
2.2. Camadas
Protocolos
|
|
|
v
SSH
Aplicações do usuário
--->
Conversão dos dados
--->
Estab. dos enlaces
--->
TCP
Transf. confiável dados? --->
Roteam. dos dados
--->
Dados em frames
IP
--->
WIFI
USB
Dados no hadware
--->
Marllus de Melo Lustosa
11. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
3. Modelo TCP/IP
3.1. Histórico
- União de vários protocolos de comunicação que tratam da
conexão entre computadores ligados em rede.
- TCP/IP emerge no final de 1978, em forma quase definitiva.
Fruto de estudos da DARPA.
- DARPA financia implementação do TCP/IP para vários S.O.’s,
além de migrar as especificações de todas as suas redes de
pacotes para TCP/IP.
- Em 1983, o TCP/IP se torna o único protocolo aprovado
pela ARPANET, em substituição ao protocolo NCP.
- Também é chamado de pilha de protocolos TCP/IP.
Marllus de Melo Lustosa
12. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
3.2. Pilha de protocolos TCP/IP
Marllus de Melo Lustosa
13. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
3.3. Comparação com modelo OSI
Marllus de Melo Lustosa
14. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
4. Métodos de análise de desempenho em
sistemas
1 - Modelagem analítica
- Uso de modelos matemáticos que correspondam
ao sistema real.
- É uma técnica aproximada.
- Algumas vezes muito limitada.
2 – Medição real
- Realização de medidas utilizando um sistema real
ou protótipo.
- Normalmente é difícil comparar alternativas.
3 – Simulação computacional
Marllus de Melo Lustosa
15. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
5. Simulação Computacional
“A simulação é um processo de projetar um modelo
computacional de um sistema real e conduzir
experimentos com este modelo com o propósito de
entender
seu
comportamento
e/ou
avaliar
estratégias para sua operação”
Pegden (1990)
Marllus de Melo Lustosa
16. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
5.1. Vantagens da Simulação Computacional
- Possibilita a modelagem de diferentes fontes de
tráfego.
- Facilita a implementação do projeto, além de poder
comparar modelos de protocolos a serem utilizados.
- Possibilita a análise de desempenho com diferentes
parâmetros e tempos de observação.
- Economiza tempo e recursos financeiros, trazendo
ganhos de produtividade e qualidade.
- Permite obter respostas a eventos que não ocorrem
naturalmente e com frequência no sistema real.
Marllus de Melo Lustosa
17. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
6. Simulação de eventos
6.1. Contínuos
- Alteração
no
estado
de
suas
continuamente ao longo do tempo.
variáveis
Simulação contínua do estudo da temperatura do chá ao longo do tempo
Fonte: Chwif e Medina (2007)
Marllus de Melo Lustosa
18. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
6. Simulação de eventos
6.2. Discretos
- Alteração nos atributos dos estados em pontos
discretos no tempo (descontínuos).
Marllus de Melo Lustosa
19. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
7. Simuladores de rede
7.1. J-Sim
- É, em geral, o mais lento. No entanto, resolve
alguns tipos de simulações complexas em menos
tempo e pequenas simulações com baixo consumo
de memória.
Marllus de Melo Lustosa
20. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
7. Simuladores de rede
7.2. Sinalgo
- Framework para testes e validações de algoritmos
de rede.
- Foca nos algoritmos de rede e abstrai as camadas
mais baixas.
- Projetado para WSN (Wireless Sensor Network), mas,
não limitado a estas.
Marllus de Melo Lustosa
21. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
7. Simuladores de rede
7.3. OMNeT++
-
-
-
-
-
-
É um simulador extensível e modular, feito em C++.
Gratuito.
Amplamente utilizado pela comunidade acadêmica.
Oferece uma IDE baseada em eclipse.
Fornece suporte a banco de dados nas simulações.
Fornece suporte a vários tipos de redes.
Marllus de Melo Lustosa
22. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8. Network Simulator – NS-2
- Simulador baseado em eventos discretos, 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 a diferentes tipos
de
protocolos,
topologias,
algoritmos
de
roteamento, etc.
Marllus de Melo Lustosa
23. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8. Network Simulator – NS-2
8.1. Características Gerais
-
-
-
-
-
-
-
-
Originado a partir do projeto Virtual Internet work Testbed - VINT.
Constituído por pesquisadores de instituições como UC Berkeley, USC/ISI,
LBL e Xerox PARC.
Código aberto.
Interações em ambientes multi-protocolos.
Facilidade de Trancing.
Possui uma ferramenta de plotagem e uma de animação gráfica.
O simulador roda em sistemas Unix, Linux, BSD, Solaris e Windows
(Cygwin).
Open Source.
Orientado a objetos.
Modela uma rede do mundo real com eventos numa linha de tempo
discreta;
Roda em C++ e Otcl.
Estrutura Modular. (componentes)
Suporte à simulações de redes cabeadas e sem fio.
Marllus de Melo Lustosa
24. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.2. Linguagem de programação OTcl e C++
- C++
- É usada para processamentos do pacotes e compõe
o núcleo do NS-2.
- Linguagem rápida para execução dos pacotes
(desempenho e uso de memória).
- Otcl (Object-oriented Tool Command Language)
- Linguagem interpretada e interativa.
- Orientada a objetos.
- Atua como interface para o usuário (as simulações
são escritas em OTcl).
- Programas podem ser alterados de maneira rápida
e facilmente re-executados.
Marllus de Melo Lustosa
25. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.3. TclCL – Interface OTcl/C++
Marllus de Melo Lustosa
26. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.3. TclCL – Interface OTcl/C++
Marllus de Melo Lustosa
27. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.4. Animador gráfico – NAM (Network AniMator)
- Criado juntamente com o NS, no projeto VINT.
- Recebe como entrada um arquivo de trace especial
gerado pelo NS.
Marllus de Melo Lustosa
28. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.4. Animador gráfico – NAM (Network AniMator)
Marllus de Melo Lustosa
29. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.5. Plotagem de gráficos – Xgraph
- Plota gráficos a partir de arquivos de entrada
específicos *.tr (gerados manualmente ou pelo NS)
Marllus de Melo Lustosa
30. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.6. Operação do NS-2
- Fluxo normal de operação do NS-2
Marllus de Melo Lustosa
31. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.7. Componentes de uma topologia
- Nó (node):
- São elementos que implementam a lógica
associada a hosts e roteadores em uma
topologia. (algoritmos/tabelas de roteamento,
etc.)
- Implementa o protocolo IP, abstrai as camadas
mais baixas.
- Não implementa filas.
Marllus de Melo Lustosa
32. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.7. Componentes de uma topologia
- Enlace (link):
- Interconecta 2 dois nós.
- Implementa as políticas de fila.
- DropTail: Disciplina FIFO.
- SFQ: Tratamento balanceado entre pacotes.
- WFQ: Define pesoas para tratamento dos pacotes
(também balanceado).
- RED: Descarte prévio dos pacotes (tendência a
estourar fila)
- Métricas de perda e atraso, por exemplo, devem ser
monitoradas no elemento enlace.
Marllus de Melo Lustosa
33. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.7. Componentes de uma topologia
- Agente (agent):
- Implementa os protocolos da camada de
transporte (TCP, UDP, etc.).
- São conectados aos nós.
Marllus de Melo Lustosa
34. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.7. Componentes de uma topologia
- Aplicação (application):
- Gera o tráfego de dados para o simulador.
- NS-2 define modelos de tráfego para simular as aplicações.
- CBR: tráfego constante de voz.
- Exponencial: Tráfego com taxa de dados exponencial.
- ON-OFF: Tráfego em rajada e voz comprimida.
- FTP: Tráfego de aplicações de transferência de arquivos.
- VBR: Tráfego com taxa de dados variável.
Marllus de Melo Lustosa
35. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.7. Componentes de uma topologia
Objetos criados, mas, ainda desconectados.
Marllus de Melo Lustosa
Conexão de nós e agentes.
36. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.8. Cenário de redes cabeadas (wired)
-
-
-
-
-
-
Roteamento baseado em vetor de distância (rtproto DV) e
estado do enlace (rtproto LS).
O roteamento estático é o mecanismo de definição de rotas
padrão do NS, que utiliza o algoritmo SPF (Shortest Path First)
de Dijkstra. (rtproto Static)
Camada de Transporte: TCP e UDP.
- Permite implementar tempo de vida do pacote (ttl).
Fontes de tráfego (Camada de aplicação): ftp, telnet, cbr,
Expoo.
Disciplinas de fila: DropTail, CBQ, RED, FQ, SFQ, DRR, WFQ.
Mecanismos de QoS: InServ e Diffserv.
Marllus de Melo Lustosa
37. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.9. Cenário de redes cabeadas (low level)
Marllus de Melo Lustosa
38. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.10. Cenário de redes sem fio (wireless)
- Protocolos de roteamento ad hoc (AODV, DSDV, DSR,
ABR, OLSR, CBRP, ZRP, AOMDV)
- Mecanismos de QoS para redes adhoc: INSIGNIA,
SWAN
- Suporte às camadas MAC 802.11
- Protocolo TDMA, etc.
- Tracing, vizualização
Marllus de Melo Lustosa
39. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11. Cenário de redes sem fio (low level)
Marllus de Melo Lustosa
40. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.1. Classificadores
-
Tem a função de examinar os campos dos pacotes.
-
Tipos de classificadores:
- Classificador de endereço (Address Classifier).
- Suporte para envio de pacotes unicast.
- Classificador multicast (Multicast Classifier).
- Suporte para envio de pacotes multicast.
- Classificador hash (Hash Classifier).
- Usado para classificar um pacote como membro de um fluxo
particular.
- Replicador (Replicator)
- Não é usado para função de classificação. Simplesmente
utiliza classificador como uma tabela de n slots (multicast).
Marllus de Melo Lustosa
41. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.2. Módulo de roteamento
- Agente de Roteamento (Routing agent)
- Entidade que reúne os parâmetros (ex. Topologia de rede)
necessários para computar as regras de roteamento. (ex. AODV)
- Rota Lógica (Route Logic)
- É um componente que executa o protocolo de roteamento.
- Classificadores (Classifiers)
- Localizados dentro do nó. São usados para cálculo da tabela de
roteamento para o envio de pacotes.
Marllus de Melo Lustosa
42. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.3. Camada de enlace (Link layer)
- Simular os protocolos de link de dados (Fragmentação e
Defragmentação dos pacotes).
- Setar o endereço de destino MAC no cabeçalho MAC do
pacote com o auxílio do módulo ARP.
- Implementada em ~ns/ll.{cc,h} e ~ns/tcl/lan/ns-ll.tcl.
Marllus de Melo Lustosa
43. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.4. Módulo ARP
- Tradução de endereço da camada IP em endereço MAC
correspondente.
- Implementado na classe ARPTable em ~ns/arp.{h,cc} e
~ns/tcl/lib/ns-mobilenode.tcl.
Marllus de Melo Lustosa
44. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.5. Módulo de interface de
fila (Interface Queue - IFQ)
- Usa módulos de gerenciamento de filas (DropTail, SFQ,
RED, etc.)
- Provê prioridades aos pacotes de roteamento
- Classe PriQueue
- Possui função de filtro de pacotes
Marllus de Melo Lustosa
45. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.6. Camada MAC
- 802.11 e 802.11e
- Implementados em ~ns/mac-802_11.{h,cc}.
- TDMA
- Protocolo de canalização de dados
Marllus de Melo Lustosa
46. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.7. Interface de rede (PHY)
- Usado pelo mobilenode no acesso ao canal.
- Implementada através da classe Phy/WirelessPhy.
- Tratam dos parâmetros relacionados com a integridade
do sinal, colisões e erros de transmissão.
Marllus de Melo Lustosa
47. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.11.8. Modelo de rádio
propagação/antena
- Modelo FreeSpace.
- Implementado em ~ns/propagation.{cc,h}.
- Modelo TwoRayGround.
- Implementado em ~ns/tworayground.{cc,h}.
- Modelo Shadowing.
- Implementado em ~ns/shadowing.{cc,h}.
- Antena.
- Antena Omni-direcional.
- Implementada em ~ns/antenna.{cc, h}.
Marllus de Melo Lustosa
48. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
8.9. Cenário de redes híbridas (wired-cum-wireless)
- Possibilidade de implementação dos dois tipos de
topologia ao mesmo tempo.
Marllus de Melo Lustosa
49. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
9. Utilização da ferramenta NS-2
9.1. Instalação original
http://nsnam.isi.edu/nsnam/index.php/
Downloading_and_installing_ns-2
Marllus de Melo Lustosa
50. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
9. Utilização da ferramenta NS-2
9.1. Projeto Liowsn
- Sistema operacinoal para trabalhos com simulações
de Redes de Sensores Sem Fio, além de Redes de
Computadores em geral.
Marllus de Melo Lustosa
51. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
9. Utilização da ferramenta NS-2
9.1. Projeto Liowsn
- Ferramentas:
- Network Simulator (NS-2.34).
- NAM (Network Animator).
- Xgraph (Analisador de arquivos trace).
- Tracegraph (Analisador de arquivos trace).
- OMNeT++ (Framework para simulação de redes).
- Castalia (Simulador para trabalhos com RSSF, roda
sobre OMNeT++).
- Módulos:
- Mannasim (Módulo para trabalhos com RSSF, roda
sobre NS-2)
Marllus de Melo Lustosa
52. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
9. Utilização da ferramenta NS-2
9.1. Projeto Liowsn
- Site do projeto e download do sistema operacinoal:
- http://sourceforge.net/projects/liowsn/
Marllus de Melo Lustosa
53. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10. Etapas no desenvolvimento da simulação
-
-
-
-
-
-
Criação do modelo da simulação.
Criação do objeto simulador (escalonador de eventos).
Abertura de arquivos para análise posterior (*.nam).
Abertura de arquivos para análise posterior (*.tr).
Criação da topologia da rede (nós e enlaces).
Criação dos agentes da camada de transporte e
conexão com os nós.
- Criação dos geradores de tráfego e conexão com os
agentes da camada de transporte.
- Programação dos eventos da simulação.
- Fechamento da simulação, animação (NAM) e geração
de estatísticas.
Marllus de Melo Lustosa
54. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.1. Modelo da simulação
Fonte
tráfego
Agente
Fonte
tráfego
CBR
UDP
NULL
Agente
n1
n0
1 Mb/s, duplex-link, 10ms, DropTail
Marllus de Melo Lustosa
55. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.2. Criação do objeto simulador
set ns [new Simulator]
- Inicializa o formato dos pacotes.
- Cria um escalonador de eventos.
- Seleciona o formato padrão de endereçamento.
Marllus de Melo Lustosa
56. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.3. Abertura de arquivos para análise
posterior (*.nam)
set nf [open out.nam w]
$ns namtrace-all $nf
- Cria uma arquivo com extensão .nam.
- Grava os passos da simulação no formato de
entrada do NAM.
Marllus de Melo Lustosa
57. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.4. Abertura de arquivos para análise
posterior (*.tr)
set tf [open out.tr w]
$ns trace-all $tf
- Cria uma arquivo com extensão .tr.
- Grava os passos da simulação com informações
em formato geral.
Marllus de Melo Lustosa
58. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.5. Criação da topologia da rede (nós e enlaces)
set n0 [$ns node]
set n1 [$ns node]
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
- As duas primeiras linhas definem a criação de 2
nós.
- Logo abaixo é definido um enlace full-duplex
entre eles.
Marllus de Melo Lustosa
59. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.6. Criação dos agentes da camada de transporte
e conexão com os nós
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0
$ns connect $udp0 $null0
-
-
-
Cria um agente UDP, anexando-o ao nó n0 (emissor).
Cria um agente receptor (Null), cuja função é apenas
receber os pacotes enviados a ele.
Estabelece o canal de comunicação entre o emissor e o
receptor, a nível de transporte
Marllus de Melo Lustosa
60. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.7. Criação dos geradores de tráfego e conexão com
os agentes da camada de transporte
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0
- Cria um tráfego CBR (Constant Bit Rate).
- Parâmetros são necessários, como o tamanho do
pacote (em bytes) e intervalo de transmissão (em
segundos).
- Anexa a aplicação criada a um agente da camada
de transporte
Marllus de Melo Lustosa
61. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.8. Programação dos eventos da simulação
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
$ns at 5.0 "finish"
- A aplicação CBR é iniciada no tempo 0.5s e
finalizada em 4.5s.
- Após 5.0s, é chamado o procedimento ‘finish’,
que encerra a simulação.
Marllus de Melo Lustosa
62. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.9. Fechamento da simulação, animação (NAM)
e geração de estatísticas
-
-
proc finish {} {
global ns nf
$ns flush-trace
close $nf
exec nam out.nam &
exit 0
}
$ns run
Fecha e limpa os arquivos de traces já existentes com o
mesmo nome, abre o NAM e encerra a simulação.
A última linha ($ns run) executa a simulação e inicia o
escalonador de eventos do NS.
Marllus de Melo Lustosa
63. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.10. Iniciando a simulação
$ ns nome_do_script.tcl
- Comando (no shell) para executar a simulação.
Marllus de Melo Lustosa
64. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
10.11. Análise dos arquivos out.tr e out.nam
Marllus de Melo Lustosa
65. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
11. Análise dos scripts (pasta ./scripts_TCL)
11.1. Wired
- example1.tcl
enlace).
- example2.tcl
- example3.tcl
- example4.tcl
(Competição de tráfego CBR e FTP em
(Competição de tráfego CBR em enlace).
(Roteamento dinâmico – link failure).
(Criando saídas para o Xgraph).
Marllus de Melo Lustosa
66. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
11. Análise dos scripts (pasta ./scripts_TCL)
11.2. Wireless
- wireless1.tcl (Conexão entre dois nós).
Marllus de Melo Lustosa
67. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
12. Análise de arquivo trace wireless.
s 0.029365548 _1_ MAC --- 0 message 90 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0]
-
-
-
-
-
s: envio de pacote
r: recepção de pacote
D: descarte de pacote da fila
f: reecaminhamento de pacote (forward)
c: colisão na camada MAC
Marllus de Melo Lustosa
68. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
12. Análise de arquivo trace wireless.
s 0.029365548 _1_ MAC --- 0 message 90 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0]
- 0.029365548: instante de tempo em que ocorreu a
operação.
- _1_: nó onde foi executado a operação
- MAC/RTR/AGT: indica a camada que gerou a
operação.
- ---: flags
- 0: identicador do pacote.
- message/tcp: nome do pacote
- 90 (bytes): tamanho do pacote
Marllus de Melo Lustosa
69. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
12. Análise de arquivo trace wireless.
s 0.029365548 _1_ MAC --- 0 message 90 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0]
- 0: tempo de duração do pacote contido no cabeçalho
MAC.
- ffffffff: endereço de MAC de destino.
- 1: endereço MAC de quem enviou o pacote.
- 800: tipo de cabeçalho MAC do pacote (800 = ARP).
- -------: flags
Marllus de Melo Lustosa
70. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
12. Análise de arquivo trace wireless.
s 0.029365548 _1_ MAC --- 0 message 90 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0]
-
-
-
-
-
-
-
[1:255 – 1:255 32 0]: cabeçalho IP.
1: endereço IP de quem originou o pacote.
255: porta de origem.
-1: endereço IP do nó destino.
255: porta do nó destino.
32: campo TTL (time to live)
0: indica o endereço do próximo salto (hop).
Marllus de Melo Lustosa
71. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
13. Funções avançadas
13.1. Geração de movimentação dos nós (setdest)
-
-
-
Geração para movimentação aleatória dos nós.
Localizada no caminho ~ns/ns−2.34/indep-utils/cmu
−scen−gen/setdest.
./setdest -v <2> -n <nodes> -p <pause time> -M <max
speed> -t <simulation time> -x <max X> -y <max Y>
Marllus de Melo Lustosa
72. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
13. Funções avançadas
13.2. Geração de tráfego (cbrgen)
-
-
-
Geração aleatória de tráfego entre os nós.
Localizada no caminho ~ns/ns−2.34/indep-utils/cmu
−scen−gen/cbrgen.
$ ns cbrgen.tcl [-type cbr|tcp] [-nn nodes] [-seed seed] [mc connections] [-rate rate]
Marllus de Melo Lustosa
73. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
13. Funções avançadas
13.3. Chamada dos arquivos no script tcl
-
-
puts "Loading traffic..."
source trafego.tcl
-
-
puts "Loading movimenting..."
source moviment.tcl
Marllus de Melo Lustosa
74. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
14. Métricas básicas para análise de
desempenho de redes de computadores
-
-
-
-
Análise de vazão (troughput).
Índice de perdas de pacotes.
Atraso na entrega de pacotes.
Variação no atraso (jitter).
Marllus de Melo Lustosa
75. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
14. Métricas básicas para análise de
desempenho de redes de computadores
-
Conceito importante: Intervalo de confiança
- Conjunto de valores dentro do qual a média se situa.
- Deve ser somado e subtraído da média.
- Qual
resultado
fora
do
intervalo
deve
ser
desconsiderado para análise.
Marllus de Melo Lustosa
76. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
14. Métricas básicas para análise de
desempenho de redes de computadores
- Cálculo da média
- =MÉDIA(CélulaInicial:CélulaFinal)
- Cálculo do desvio padrão
- =DESVPAD(CélulaInicial:CélulaFinal)
- Nível de significância (taxa de erro)
- Geralmente 0,05 (5%)
- Cálculo do intervalo de confiança
- =INT.CONFIANÇA(nívelsignif.;Desvio Padrão;Nº de Itens)
Marllus de Melo Lustosa
77. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
14. Métricas básicas para análise de
desempenho de redes de computadores
- Fórmula do intervalo de confiança
Marllus de Melo Lustosa
78. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
14. Métricas básicas para análise de
desempenho de redes de computadores
Marllus de Melo Lustosa
79. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
Referências
Altman, E., , and Jimenez, T. Ns simulator for beginners. Tech. rep.,
Univ. de Los Andes, Merida, Venezuela e ESSI.
Fall, K., and Varadhan, K. The NS Manual. The VINT Project, July
2007.
http://www.marvinlemos.net/?p=108
http://www2.ufp.pt/~lmbg/textos/norma_osi.html#modeloosi
http://www.tcpipguide.com/free/
t_OSIReferenceModelLayerSummary.htm
http://waltercunha.com/blog/index.php/2009/04/22/modeloosi-x-tcpip/
http://pt.wikipedia.org/wiki/TCP/IP
Joseph G. Davies and Thomas F. Lee. Microsoft Windows Server
2003 TCP/IP Protocols and Services. ISBN 0-7356-1291-9.
Marllus de Melo Lustosa
80. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
Referências
Craig Hunt. TCP/IP Network Administration. O'Reilly (1998) ISBN
1-56592-322-7
W. Richard Stevens. The Protocols (TCP/IP Illustrated, Volume 1).
Addison-Wesley Professional; 1st edition (December 31, 1993).
ISBN 0-201-63346-9.
http://pt.wikipedia.org/wiki/Modelo_OSI
http://www.artigonal.com/internet-artigos/conheca-tudo-sobreprotocolo-tcpip-1807789.html
http://www.ime.usp.br/~reverbel/mac212-04/eps/ep2/
node2.html
http://www.xgraph.org/
http://www.isi.edu/nsnam/ns/doc/node216.html#tex2html42
Marllus de Melo Lustosa
81. CEUT – Centro de Ensino Unificado de Teresina
ERECOMPI – Encontro Regional de Computação do Piauí
E-mail para contato: marlluslustosa@gmail.com
Obrigado!!
Marllus de Melo Lustosa