1 / 30

Tópicos Avançados em Redes de Computadores

Universidade Católica de Pernambuco CCT – Centro de Ciência e Tecnologia Curso de Ciência da Computação. Tópicos Avançados em Redes de Computadores. Recife, 13 de Novembro de 2009. NS2 Network Simulator 2. Objetivo do Trabalho.

Download Presentation

Tópicos Avançados em Redes de Computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidade Católica de PernambucoCCT – Centro de Ciência e TecnologiaCurso de Ciência da Computação Tópicos Avançados em Redes de Computadores Recife, 13 de Novembro de 2009

  2. NS2Network Simulator 2

  3. Objetivo do Trabalho • O objetivo deste trabalho é apresentar o resultado de uma pesquisa sobre a ferramenta de simulação de redes chamada NETWORK SIMULATOR 2 (NS2). A defesa deste trabalho terá um caráter demonstrativo/ilustrativo

  4. NS2 • É um simulador de redes dirigido a eventos discretos, direcionados para pesquisas em redes de computadores, que simula vários tipos de redes. • O NS simula vários tipos de redes utilizando diversos tipos de protocolos, tanto os protocolos orientados a conexão como o TCP, quanto os protocolos não orientados a conexão como o UDP, multicast e redes com ou sem fio. • O projeto NS tem como objetivo construir um simulador de rede que permita o estudo de protocolos de rede atuais e futuros.

  5. Simulação é a técnica de estudar o comportamento e reações de determinados sistemas através de modelos.

  6. Dificuldades e importância da Simulação de Redes Simular o comportamento global da Internet representa um enorme desafio devido à sua grande heterogeneidade e constante mudança Devido à complexidade inerente das redes e respectivos protocolos. Papeis da simulação: vital na tentativa de caracterizar tanto o comportamento atual da Internet, como os possíveis efeitos das modificações propostas no seu funcionamento. Vantagens: As simulações não necessitam de muito equipamento já que é necessária apenas uma máquina. Os simuladores permitem examinar um vasto conjunto de cenários num período de tempo relativamente pequeno. A simulação oferece também meios para testar os vários protocolos ao longo de redes. Os simuladores não estão presos à velocidade física de uma dada rede.

  7. Terminologia Básica Um sistema é um agrupamento de partes que operam juntas, visando um objetivo em comum. Um modelo pode ser definido como uma representação das relações dos componentes de um sistema, sendo considerada como uma abstração, no sentido em que tende a se aproximar do verdadeiro comportamento do sistema.

  8. Técnicas de Simulação Simulação não Computacional – Ex. Protótipo em túnel de vento – Simulação de Acontecimentos Simulação Computacional – Simulação de Sistemas Contínuos – Simulação de Eventos Discretos

  9. Simulação Computacional com NS2 NS2 Modelos de filas M/M/1 • A e B denotam-se principalmente como: • M para distribuições exponencial • D para valores determinísticos • G para caracterizar distribuições • em geral. A / B / c A representa o processo de chegadas. B representa o processo de atendimento c representa o número de servidores M/G/1 M/D/1

  10. NS-2 Simulador Discreto por Eventos • Discreto como na matemática discreta (sem continuidade, conjuntos contáveis); • Atividades físicas são transformadas em eventos. • Modela uma rede do mundo real com eventos numa linha de tempodiscreta; • Simulador mantêm uma lista encadeada com eventos; • Cada evento acontece num instante de tempo (virtual!); • Tempo de processamento não conta no tempo virtual.

  11. NS-2 Simulador Discreto por Eventos Os atributos dos estados só mudam no tempo discreto.

  12. NS-2 Simulador Discreto por Eventos Eventos Os eventos podem ser agendados para um determinado instante no tempo existindo uma lista dos próximos eventos a ocorrerem, ordenados por tempo de ocorrência. A ocorrência de um evento afeta o estado da simulação. Também são atualizados os contadores de estatísticas que permitem a geração dos relatórios da simulação. Estado do sistema Coleção de variáveis de estado necessárias para descrever o sistema em um determinado momento no tempo. O estado do sistema pode ser visto como resultante do estado de seus componentes.

  13. NS-2 Simulador Discreto por Eventos Mecanismo de temporização O avanço de tempo, nos simuladores de tempo simulado, pode ser definido por: intervalos fixos de tempo e após o incremento é verificado se existe um evento agendado para este momento. Próximo evento: o tempo é incrementado pela ocorrência de um evento. É mais eficiente que o anterior em termos de atualização de tempos.

  14. Tipos de Simulação Possíveis • Redes com ou sem fio (satélite, WiMAX, etc.); • Protocolos de roteamento (unicast, multicast, broadcast!); • Protocolos de transporte (e.g., TCP, UDP); • Protocolos de aplicação (e.g., FTP, TFTP, HTTP, DNS); • Geração aleatória ou programada de erros em nos e links; • Geração de traces para análise; • Você pode fazer sua propria implementação em qualquer camada!

  15. Geração de Cenários No NS, as configurações de entrada para a execução de uma simulação são feitas. Pela definição de cenários de simulação. Alguns dos componentes desses cenários são: A topologia de rede: inclui as interconexões físicas entre os nós e as Características Estatísticas de enlace e nós. Os modelos de geração de tráfego: definem os padrões de uso da rede e a localização dos geradores. A dinâmica da rede: inclui simulação de defeitos em enlaces. O NS fornece uma grande variedade de modelos de geração de tráfego que podem ser usados juntamente com protocolos de transporte.

  16. Quando Simular?

  17. Histórico do Network Simulator 2 • A partir de um projeto da Cornell University; • Já recebeu apoio de vários centros de pesquisas;

  18. Histórico do Network Simulator 2 • Uma lista de discussão é mantida pelos desenvolvedores; • Network Simulator 3 já está em fases de testes;

  19. Estrutura do Network Simulator 2 • Escrito em C++ com um interpretador Otcl (Objectoriented Tool Command Language) • Por que 2 Linguagens? - Para essas tarefas a velocidade (tempo de execução) é o mais importante. (C++) - Mudar ou re-executar o modelo (OTCL)

  20. Estrutura do Network Simulator 2

  21. Exemplo da nossa Simulação

  22. Anatomia de um script do ns 1. Criar instância do simulador 2. Fazer configurações iniciais a) Ajustar opções gerais do ns e do nam b) Configurar arquivo de trace do nam c) Criar função de finalização 3. Criar topologia a) Criar nós b) Criar e configurar enlaces

  23. Anatomia de um script do ns 4. Criar agentes e aplicações a) Criar agentes de transporte TCP e UDP b) Criar aplicações geradoras de tráfego c) Anexar agentes a nós e aplicações a agente d) Conectar agentes nos sistemas finais 5. Escalonar eventos a) Iniciar transmissão de dados das aplicações b) Finalizar transmissão de dados das aplicações 6. Executar simulação 7. Visualizar a animação com o nam 8. Analisar arquivos de trace

  24. Exemplo do TCL # Cria um Objeto Simulador set ns [new Simulator] # Define cores para os fluxos de dados $nscolor 1 Blue; $nscolor 2Red # Abrir o arquivo de rastreamento nam set nf [open out.nam w] $nsnamtrace-all $nf

  25. Exemplo do TCL # Define o Procedimento “finish” procfinish {} { global nsnf $nsflush-trace #feche o NAM close $nf #Execute o NAM execnamout.nam & exit 0 }

  26. Exemplo do TCL # Cria quatro nós set n0 [$nsnode]; set n1 [$nsnode]; set n2 [$nsnode]; set n3 [$nsnode]; # Cria links entre os Nós $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 1,7Mb 20ms DropTail

  27. Exemplo do TCL # Configuração de uma conexão CBR sobre os nós set cbr0 [new Application/Traffic/CBR] set cbr1 [new Application/Traffic/CBR] set udp0 [newAgent/UDP] set udp1 [newAgent/UDP] set null0 [newAgent/Null] set null1 [newAgent/Null]

  28. Exemplo do TCL # Escalona eventos para os agents CBR $nsat 0.1 "$cbr0 start“; $nsat 0.5 "$cbr1 start" $nsat 1.0 "$cbr1 stop" ; $nsat 1.5 "$cbr0 stop" $nsat 2.0 "finish" # Inicia a simulação $nsrun

  29. Modelo de Simulação no NAN

  30. Modelo de Simulação no NAN

More Related