Network Simulator: Introdução a Simulação das Redes de Computadores. Quem sou eu...



Documentos relacionados
Aula de introdução ao NS-2

Arquitectura de Redes 2004/05

Curso de Introdução Prática ao Simulador de Redes NS-2

NS-2 Network Simulator

Network Simulator ns2

Network Simulator Visão Geral da Ferramenta de Simulação de Redes

Tutorial de NS-2. Lucas Coelho Gonçalves e Marcos Estevo de Oliveira Corrêa

Simulador de Redes NS (Network Simulator)

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2013

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2011

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2016

APÊNDICE A. O simulador NS-2. A.1 Características principais

NETWORK SIMULATOR Guia Básico para Iniciantes

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Passo 1: Abra seu navegador e digite Passo 2: Na tela que surgir, clique em Get Started.

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Redes de Computadores Aula 3

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Análise do Escalonamento de Redes Ad Hoc IEEE através de medidas de Vazão e Atraso usando o NS-2

Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace.

Prof. Samuel Henrique Bucke Brito

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo:

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Implementação de IntServ e DiffServ no NS-2

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Comunicando através da rede

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

Informática I. Aula Aula 22-03/07/06 1

Projeto Tor UFRJ Redes I Alunos: Jhonatas Alfradique, Hugo Klin, Guilherme Almeida

CAMADA DE TRANSPORTE

Revisão. Karine Peralta

Capítulo 7 CAMADA DE TRANSPORTE

Gerenciamento da rede ATM. Prof. José Marcos C. Brito

3 Ferramenta de Simulação

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

Projeto Liowsn Manual de utilização do sistema

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

Manual de Instalação ( Client / Server ) Versão 1.0

Arquitetura de Rede de Computadores

Controle de congestionamento em TCP

Cap 01 - Conceitos Básicos de Rede (Kurose)

Roteador Load-Balance / Mikrotik RB750

REDES DE COMPUTADORES

Redes de Computadores II INF-3A

MODELO CLIENTE SERVIDOR

Unidade 2.1 Modelos de Referência

Projeto de Redes Top-Down

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

TECNOLOGIA WEB INTERNET PROTOCOLOS

Redes de Computadores - Capitulo II prof. Ricardo de Macedo 1 ISO INTERNATIONAL ORGANIZATION FOR STANDARDZATION

Considerações no Projeto de Sistemas Cliente/Servidor

Rotina de Discovery e Inventário

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

PAULO ROBERTO DE ALMEIDA VALIDAÇÃO DE MODELO MATEMÁTICO PARA VERIFICAÇÃO DO COMPORTAMENTO DO PROTOCOLO TCP EM REDES ASSIMÉTRICAS

Redes WAN. Prof. Walter Cunha

A camada de rede. A camada de rede. A camada de rede. 4.1 Introdução. 4.2 O que há dentro de um roteador

Considerações a serem feitas antes da implantação.

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Integrando o Network Simulator 2.0 a um Ambiente Virtual de Aprendizagem

UNIVERSIDADE FEDERAL DO PIAUI UFPI Colégio Técnico de Teresina CTT. Professor: José Valdemir dos Reis Junior. Disciplina: Redes de Computadores II

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2018

Redes de Computadores e a Internet

EXPERIMENTO EM REDE LOCAL

Redes de computadores e a Internet. Capitulo 4. Capítulo. A camada de rede

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Gerência de Redes Padrões de Gerenciamento

Fundamentos de Redes de Computadores. Elementos de Redes Locais

Procedimentos para Configuração de Redirecionamento de Portas

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

Uc-Redes Técnico em Informática André Luiz Silva de Moraes

Roteamento e Comutação

Camadas da Arquitetura TCP/IP

Arquitetura de Rede de Computadores

Prof. Manuel A Rendón M

BC-0506: Comunicação e Redes Aula 04: Roteamento

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Tabela de roteamento

Redes de computadores. Redes para Internet

Administração de Redes Redes e Sub-redes

CST em Redes de Computadores

Ferramentas Livres para Monitoramento de Redes

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

Redes de Computadores

Sistemas Operacionais de Rede. Configuração de Rede

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Redes de Computadores II. Professor Airton Ribeiro de Sousa

Prof. Marcelo Cunha Parte 5

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Laboratório. Assunto: endereçamento IP e roteamento.

Transcrição:

Network Simulator: Introdução a Simulação das Redes de Computadores Mailson Couto mailson.ifba@gmail.com Quem sou eu Lattes: http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=k4428508j9 2 1

Sumário 1- Introdução 2- Linguagens 3- Componentes e Fases de criação 4- Exemplos 3 Network Simulator www.isi.edu/nsnam/ns/index.html Versão 2 (ns-2.35 released Nov 4 2011) Simulator baseado em eventos discretos direcionado para a pesquisa em redes Iniciou como parte do projeto VINT (netweb.usc.edu/vint) 4 2

Network Simulator www.isi.edu/nsnam/ns/index.html Atualmente seu desenvolvimento e distribuição são mantidos pelo ISI (Information Sciences Institute - www.isi.edu), financiado pela DARPA e NSF. A distribuição do ns é gratuita, inclusive o código fonte, que pode ser alterado para refletir a pesquisa que está sendo desenvolvida. 5 www.isi.edu/nsnam/ns/index.html Network Simulator (ns) (http://www.isi.edu/nsnam/ns/index.html) 6 3

Usando o ns Aprendendo o ns Aprendizado é difícil no início; Sem interface gráfica e manual de usuário apropriado. Manual do ns Manual de desenvolvimento, explicando código e estruturas de dados. 7 Usando o ns Plataformas onde roda: FreeBSD (desenvolvimento), Linux, Solaris e Windows (com restrições). Funcionalidades são oferecidas: Diretamente na distribuição básica do ns; Através de contribuições (patchs) que devem ser instaladas à parte. 8 4

Funcionalidades do ns Implementa grande parte da funcionalidade existente na Internet. IP, TCP, UDP, FTP, HTTP, protocolos de roteamento Protocolos de roteamento multicast. Implementa abordagens para QoS IntServ. DiffServ, MPLS, QoS Routing. 9 Funcionalidades do ns Vários tipos de filas (internas a roteadores) DropTail, CBQ, SFQ, WFQ, DRR, RED. Comunicação sem fio LAN sem fio; Comunicação por satélite. Outras 10 5

Network Animator (nam) Ferramenta de animação. Usa arquivos de trace Resultados de simulação; Dados de redes reais; Arquivo construído manualmente. Faz parte da distribuição básica do NS. O nam apenas mostra o resultado de simulação já realizada. 11 Network Animator (nam) 12 6

Linguagens de programação/script O ns usa uma combinação de C++ e Otcl (Object Tool Command Language, uma linguagem de script orientada a objetos). Praticamente todos os objetos existem nas duas linguagens (para cada objeto Otcl é criado um C ++ correspondente). 13 Linguagens de programação/script Geralmente quando objeto é criado no Otcl, é criado um objeto idêntico no C++. As duas linguagens tem interfaces entre si: Pode-se chamar funções do C++ no Otcl (mais comum). Pode-se chamar funções do Otcl no C++. 14 7

Linguagens de programação/script C++ Usada para implementar a maior parte do processamento pesado (backend). Funções que envolvem o processamento dos pacotes. Otcl Usado principalmente para criar os scripts de simulação (frontend). Muitas classes são implementados somente em Otcl. Gradualmente estão sendo passadas as funções de Otcl para C++ para obter melhor desempenho. 15 Componentes Básicos Nó (node) Host ou roteador. Máquina com implementação IP. Enlace (link) Interconectam dois nós. O ns só representa a camada IP. Enlaces são abstrações da interface física. Agente (agent) Entidade de transporte. Agentes TCP/UDP. Aplicação (application) Não precisa simular a aplicação. Necessário apenas gerar tráfego. 16 8

Fases de criação do script Criar instância do simulador Escalonador de eventos, que controla a simulação. Fazer configurações necessárias Configurar arquivo de trace do nam. Criar função de finalização. Criar nós e enlaces entre os nós. 17 Fases de criação do script Inserir agentes nos nós e geradores de tráfego (aplicações). Escalonar os eventos (geração de tráfego) Agente inicia transmissão de dados. Agente finaliza transmissão de dados. Executar a simulação. 18 9

Para usar o ns Usar em uma estação Linux NS instalado em uma máquina virtual. Quem não aprendeu a usar Unix/Linux? Usar em Linux/FreeBSD Instalar Linux/FreeBSD e ns Criar os scripts de simulação em tcl Executar os scripts Ex.: ns ex1.tcl Visualizar resultados no nam ou no xgraph 19 Resultados numéricos O simulador pode ser configurado para gerar arquivos contendo os dados desejados Opcionalmente o arquivo de trace pode ser processado para obter esses resultados. Vazão de uma conexão. Atraso e variação de atraso de pacotes. Perda de pacotes. Monitoramento das filas Usar monitor de filas. 20 10

NS by Example http://nile.wpi.edu/ns/ 21 Tutorial de Marc Greis http://www.isi.edu/nsnam/ns/tutorial/index.html Desenvolvido por Marc Greis e agora mantido pelo grupo VINT. Constrói alguns exemplos passo a passo. Exemplos: Configuração básica; Dois nós trocando dados; Dinâmica da rede; Novo protocolo para o ns; Geração de arquivos de saída e visualização de gráfico no xgraph; Simulação básica de rede sem fio; Algumas LANs sem fio conectadas através de uma rede fixa; Simulações maiores de rede sem fio. 22 11

Tutorial de Marc Greis http://www.isi.edu/nsnam/ns/tutorial/index.html 23 Tutorial de Mauro Margalho http://www.margalho.pro.br/index.html 24 12

Exemplo 1 - Configuração simples #Cria o objeto para simulação set ns [new Simulator] #Open the nam trace file set nf [open out.nam w] $ns namtrace-all $nf #Define a rotina de finalização proc finish {} { global ns nf $ns flush-trace #Close the trace file close $nf #Execute nam on the trace file exec nam out.nam & exit 0 } 25 Exemplo 1 - Configuração simples #Cria a topologia com dois nós set n0 [$ns node] set n1 [$ns node] #Cria um link duplex entre os nós $ns duplex-link $n0 $n1 1Mb 10ms DropTail #Chamada para a finalização após 5 segundos de simulação $ns at 5.0 "finish" #Rodar a simulação $ns run 26 13

Exemplo 2 - Tráfego CBR simples Extensão do exemplo 1. Componentes Agente UDP Agente NULL Aplicação CBR Inicia e finaliza as aplicações. 27 Exemplo 2 - Tráfego CBR simples set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packet_size_ 500 $cbr0 set rate_ 800Kb $cbr0 attach-agent $udp0 set null0 [new Agent/Null] $ns attach-agent $n1 $null0 $ns connect $udp0 $null0 $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" 28 14

Exemplo 3 - Filas Fila DropTail pode ser injusta. Utilização de fila SFD (Stochastic Fair Queuing). Utilização do campo fid_ (identificador de fluxo), para diferenciar fluxos através de cores. Monitoramento de uma fila. Direção dos enlaces no nam. 29 Exemplo 3 - Filas $ns color 1 Blue $ns color 2 Red $ns duplex-link $n3 $n2 1Mb 10ms DropTail #$ns duplex-link $n3 $n2 1Mb 10ms SFQ $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 queuepos 0.5 $udp0 set fid_ 1 $udp1 set fid_ 2 30 15

Exemplo 4 - Roteamento dinâmico Vetor de nós. Protocolos de Roteamento. Roteamento estático; DV - Vetor de distância ; Session - automático. Dinâmica da rede Enlaces caem (ficam fora do ar) e voltam a operar. 31 Exemplo 4 - Roteamento dinâmico $ns rtproto DV #$ns rtproto Session for {set i 0} {$i < 7} {incr i} { set n($i) [$ns node] } for {set i 0} {$i < 7} {incr i} { $ns duplex-link $n($i) $n([expr ($i+1)%7]) 1Mb 10ms DropTail } $ns rtmodel-at 1.0 down $n(1) $n(2) $ns rtmodel-at 2.0 up $n(1) $n(2) 32 16

Exemplo 5 - Medindo a vazão Usando uma função para criar agente/aplicação Usando uma função para medir a vazão Gerando dados de vazão em arquivos Visualizando a vazão com o xgraph 33 Exemplo 5 - Medindo a vazão proc record {} { global sink0 sink1 sink2 f0 f1 f2 set ns [Simulator instance] set time 0.5 set bw0 [$sink0 set bytes_] set now [$ns now] puts $f0 "$now [expr $bw0/$time*8/1000000] $sink0 set bytes_ 0 $ns at [expr $now+$time] "record" } 34 17

Exemplo 6 - Protocolo TCP Agentes TCP e TCPSink Tipos de TCP (Reno, NewReno, SACK, etc.) Alterando tamanho das filas dos roteadores Aplicação FTP Verificando o mecanismo de controle de congestionamento do TCP 35 Exemplo 6 - Protocolo TCP set queue2_3 [[$ns link $n2 $n3] queue] $queue2_3 set limit_ 5 set tcp0 [new Agent/TCP] #set tcp0 [new Agent/TCP/Newreno] $ns attach-agent $n0 $tcp0 $tcp0 set packet_size_ 1500 set sink0 [new Agent/TCPSink] $ns attach-agent $n3 $sink0 $ns connect $tcp0 $sink0 set ftp0 [$tcp0 attach-source FTP] 36 18

Exercícios Acessando pasta Exemplos NS 37 19