Transcript
Page 1: Introducao à simulacao de redes com ns 2

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Marllus de Melo Lustosa

Introdução à Simulação de Redes de Computadores com o NS-2 (Network Simulator)

Teoria e Prática

Ministrante: Marllus de Melo Lustosa

Page 2: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

1. Redes de computadores 1.1. Histórico 1.2. Classificação

2. Modelo OSI 2.1. Histórico 2.2. Camadas

3. Modelo TCP/IP 3.1. Histórico 3.2. Pilha de protocolos TCP/IP 3.3. Comparação com modelo OSI

4. Métodos de análise de desempenho de sistemas 5. Simulação computacional 5.1. Vantagens da Simulação Computacional

6. Simulação de eventos 6.1. Contínuos 6.2. Discretos

Sumário

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 3: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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

Sumário

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 4: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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

Sumário

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 5: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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

Sumário

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 6: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

1. Redes de computadores

Page 7: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

1.1. Histórico

Page 8: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

1.2. Classificação

Page 9: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 10: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

2.2. Camadas

Aplicações do usuário --->

Conversão dos dados --->

Estab. dos enlaces --->

Transf. confiável dados? --->

Roteam. dos dados --->

Dados em frames --->

Dados no hadware ---> USB

SSH

TCP

WIFI

IP

Protocolos | | | v

Page 11: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 12: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

3.2. Pilha de protocolos TCP/IP

Page 13: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

3.3. Comparação com modelo OSI

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 14: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 15: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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)

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 16: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 17: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

6. Simulação de eventos 6.1. Contínuos -  Alteração no estado de suas variáveis

continuamente ao longo do tempo.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Simulação contínua do estudo da temperatura do chá ao longo do tempo Fonte: Chwif e Medina (2007)

Page 18: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

6. Simulação de eventos 6.2. Discretos -  Alteração nos atributos dos estados em pontos

discretos no tempo (descontínuos).

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 19: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 20: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 21: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 22: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 23: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

8. Network Simulator – NS-2 8.1. Características Gerais

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 24: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 25: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

8.3. TclCL – Interface OTcl/C++

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 26: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

8.3. TclCL – Interface OTcl/C++

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 27: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 28: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

8.4. Animador gráfico – NAM (Network AniMator)

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 29: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

8.5. Plotagem de gráficos – Xgraph -  Plota gráficos a partir de arquivos de entrada específicos *.tr (gerados manualmente ou pelo NS)

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 30: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

8.6. Operação do NS-2 -  Fluxo normal de operação do NS-2

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 31: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 32: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 33: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

8.7. Componentes de uma topologia

-  Agente (agent):

-  Implementa os protocolos da camada de transporte (TCP, UDP, etc.).

-  São conectados aos nós.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 34: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 35: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

8.7. Componentes de uma topologia

Objetos criados, mas, ainda desconectados.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Conexão de nós e agentes.

Page 36: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.8. Cenário de redes cabeadas (wired)

Page 37: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.9. Cenário de redes cabeadas (low level)

Page 38: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.10. Cenário de redes sem fio (wireless)

Page 39: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11. Cenário de redes sem fio (low level)

Page 40: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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).

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.1. Classificadores

Page 41: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.2. Módulo de roteamento

Page 42: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.3. Camada de enlace (Link layer)

Page 43: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.4. Módulo ARP

Page 44: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.5. Módulo de interface de fila (Interface Queue - IFQ)

Page 45: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  802.11 e 802.11e -  Implementados em ~ns/mac-802_11.{h,cc}.

-  TDMA -  Protocolo de canalização de dados

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.6. Camada MAC

Page 46: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.7. Interface de rede (PHY)

Page 47: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

-  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}.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

8.11.8. Modelo de rádio propagação/antena

Page 48: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – 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.

Page 49: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

9. Utilização da ferramenta NS-2 9.1. Instalação original

http://nsnam.isi.edu/nsnam/index.php/Downloading_and_installing_ns-2

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 50: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 51: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

9. Utilização da ferramenta NS-2 9.1. Projeto Liowsn

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  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)

Page 52: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

9. Utilização da ferramenta NS-2 9.1. Projeto Liowsn

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  Site do projeto e download do sistema operacinoal: -  http://sourceforge.net/projects/liowsn/

Page 53: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 54: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

10.1. Modelo da simulação

n0 n1

Agente Agente

Fonte tráfego

Fonte tráfego

1 Mb/s, duplex-link, 10ms, DropTail

UDP

CBR

NULL

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 55: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 56: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 57: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 58: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 59: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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

-  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

set null0 [new Agent/Null] $ns attach-agent $n1 $null0

$ns connect $udp0 $null0

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 60: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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

-  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

$cbr0 attach-agent $udp0

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 61: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 62: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 63: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

10.10. Iniciando a simulação

$ ns nome_do_script.tcl

-  Comando (no shell) para executar a simulação.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 64: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

10.11. Análise dos arquivos out.tr e out.nam

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 65: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

11. Análise dos scripts (pasta ./scripts_TCL) 11.1. Wired

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  example1.tcl (Competição de tráfego CBR e FTP em enlace).

-  example2.tcl (Competição de tráfego CBR em enlace). -  example3.tcl (Roteamento dinâmico – link failure). -  example4.tcl (Criando saídas para o Xgraph).

Page 66: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

11. Análise dos scripts (pasta ./scripts_TCL) 11.2. Wireless

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  wireless1.tcl (Conexão entre dois nós).

Page 67: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

12. Análise de arquivo trace wireless.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

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

Page 68: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

12. Análise de arquivo trace wireless.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

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

Page 69: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

12. Análise de arquivo trace wireless.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

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

Page 70: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

12. Análise de arquivo trace wireless.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

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).

Page 71: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

13. Funções avançadas 13.1. Geração de movimentação dos nós (setdest)

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  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>

Page 72: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

13. Funções avançadas 13.2. Geração de tráfego (cbrgen)

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  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]

Page 73: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

13. Funções avançadas 13.3. Chamada dos arquivos no script tcl

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  puts "Loading traffic..." -  source trafego.tcl

-  puts "Loading movimenting..." -  source moviment.tcl

Page 74: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

14. Métricas básicas para análise de desempenho de redes de computadores

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  Análise de vazão (troughput). -  Índice de perdas de pacotes. -  Atraso na entrega de pacotes. -  Variação no atraso (jitter).

Page 75: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

14. Métricas básicas para análise de desempenho de redes de computadores

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  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.

Page 76: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

14. Métricas básicas para análise de desempenho de redes de computadores

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  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)

Page 77: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

14. Métricas básicas para análise de desempenho de redes de computadores

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

-  Fórmula do intervalo de confiança

Page 78: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

14. Métricas básicas para análise de desempenho de redes de computadores

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 79: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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/modelo-osi-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.

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 80: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

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-sobre-protocolo-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

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí

Page 81: Introducao à simulacao de redes com ns 2

Marllus de Melo Lustosa

Obrigado!!

E-mail para contato: [email protected]

CEUT – Centro de Ensino Unificado de TeresinaERECOMPI – Encontro Regional de Computação do Piauí