Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina 108537 - Laboratório de Redes de Telecomunicação Curso Engenharia de Redes de Comunicação Professor: Monitor: Valério Aymoré Martins (valerioaymoremartins@gmail.com) Jorge Guilherme Silva dos Santos Experimento 01_02 – Introdução e Primeiros Passos no NS-3 Data/Prazo Entrega do Relatório em 08/04/2016 através do site “campusvirtual. unb.br” 1. PASSOS INICIAIS A) INSTALANDO A MÁQUINA VIRTUAL DO NS-3 A máquina virtual será copiada pelo aluno para sua máquina local e integrada no modelo de virtualização do Oracle Virtual Box. B) LIMPANDO O DIRETÓRIO DE TRABALHO b.1) ENTRE NO TERMINAL: su root (senha: vmsdn) b.2) ESTANDO NO DIRETORIO A SEGUIR ... cd /var/www/html/ns-allinone-3.22 /ns-3.2.2 b.3) APAGUE A ÁREA DE TRABALHO ./scratch rm ./scratch/* C) MEUS PRIMEIROS CÓDIGOS: c.1) COPIAR: # copie os exemplos a seguir que estão disponibilizados no site do campus virtual (lab01a.cc, lab01b.cc e lab01c.cc) no diretório ./scratch c.2) ESTUDAR OS EXEMPLOS (muito importante sua leitura dos códigos): scratch/lab01a.cc, scratch/lab01b.cc e scratch/lab01c.cc c.3) COMPILAÇÃO: # build somente do que é novo (o que foi copiado) ./waf c.4) EXECUTAR UM EXEMPLO: ./waf --run scratch/lab01a Obs.: Não coloque a extensão .cc na execução c.5) COMO VISUALIZAR A ANIMAÇÃO: ./waf --run scratch/lab01a --vis 2. CONTEÚDO DO RELATÓRIO I. INTRODUÇÂO · Descreva o NS-3, contextualizando o mesmo como um “sistema de simulação baseado em eventos discretos”. · Identifique a forma como foi desenvolvido esse sistema, dando destaque aos seus módulos: dispositivos, rede, protocolos e utilitários. · Aponte seu conhecimento (no momento) dos tipos de saídas que podem ser geradas durante uma simulação (.pcap, .tr, etc). II. REFERENCIAL TEÓRICO · Explique seu entendimento do que se refere às transparências intituladas "Passos para geração de um script" da aula "NS3 - LAB_01 - NS3 - Introducao". Se possível associe com a imagem ("Exemplo Conceitual") que antecede essas ditas transparências. · Explique quais as atividades esperadas dos passos ilustrados na transparência "Modelagem", da aula: "NS3 - LAB_01 - NS3 - Introducao". III. DESENVOLVIMENTO E RESULTADOS a) Modifique o scratch/lab01a.cc, scratch/lab01b.cc e scratch/lab01c.cc · Adicione entrada de parâmetros (CmdLine) para Delay, MaxPackets e Interval. Obs: Se não souber ainda veja lab01b.cc Obs: https://www.nsnam.org/docs/release/3.8/tutorial/tutorial_22.html · Adicione Rastreamento ASCII Primeiro adicione um novo include para manipulação de arquivos textos: #include <fstream> (1º include) … e depois .... (antes de Simulator::Run ()) AsciiTraceHelper ascii; (01a) pointToPoint.EnableAsciiAll (ascii.CreateFileStream ("lab01a.tr")); (01b) pointToPoint.EnableAsciiAll (ascii.CreateFileStream ("lab01b.tr")); (01c) pointToPoint.EnableAsciiAll (ascii.CreateFileStream ("lab01c.tr")); • Adicione EnablePCAPAll (depois do rastreamento ASCII). (01a) pointToPoint.EnablePcapAll ("scratch/lab01a_001"); (01b) phy.EnablePcap ("scratch/lab01b_001", apDevices.Get (0)); (01c) csma.EnablePcap("scratch/lab01c_001",csmaDevices.Get (0), true); Arquivos gerados: prefixo + número do nó + número dispositivo + ”.pcap”. • Modifique o Delay nos valores de 1ms e 100ms nos três códigos. Para as execuções use um nome diferente de arquivo para o EnablePCAPAll e de Rastreamento ASCII (ex.: lab01b_001 e lab01b_100). Lembre-se que vai gerar arquivos .pcap e .tr para cada nó. a.1) Formate um dos arquivos de Rastr.ASCII e EXPLIQUE os simbolos +, -, r, d. Para melhor detalhar as linhas do arquivo de rastreamento, divida em seções com números de dois dígitos para referência (veja exemplos abaixo): a.2) Use o tcpdump em um dos arquivos para rastrear o arquivo PCAP (exemplo abaixo) e explique as colunas dos arquivos pcap. a.3) Gere gráficos de tráfego usando o Wireshark (nos nós aonde há ligação de algum enlace “P2P” de cada um dos três códigos) para cada caso em III.a (1ms e 100ms). Obs: serão então 4 gráficos (considere a escala) para cada código. b) Estude, explique e compare os elementos (presentes nos códigos identificados entre parênteses) em relação às arquiteturas propostas por cada código apontado a seguir (presente na apresentação “NS3 - LAB_02 - NS3 - Primeiros Passos”): b.1) pointToPoint (lab01a.cc) b.2) csmaNodes (lab01b.cc) b.3) wifiStaNodes (lab01c.cc) b.4) wifiApNode = p2pNodes.Get (0) (lab01c.cc) Obs.: https://www.nsnam.org/docs/tutorial/html/building-topologies.html c) Use o modo de visualização na execução do lab01b e reproduza a ilustração em seu relatório. Do código lab01b, explique: c.1) csmaNodes.Add (p2pNodes.Get(1)); c.2) UdpEchoClientHelper echoClient (csmaInterfaces.GetAddress (nCsma), 9); Obs: a saber, em (f.2), é para identificar qual o nó da rede CSMA é a origem do tráfego. d) Use o modo de visualização na execução do lab01b e reproduza a ilustração em seu relatório, se for modificado o código abaixo para um Delay de 100ms. d.1) pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms")); e) Use o modo de visualização na execução do lab01b e reproduza a ilustração em seu relatório. Ainda de lab01c.cc explique o que você entende que está sendo modelado pelo código abaixo: e.1) mobility.SetPositionAllocator ("ns3::GridPositionAllocator", "MinX", DoubleValue (0.0), "MinY", DoubleValue (0.0), "DeltaX", DoubleValue (5.0), "DeltaY", DoubleValue (10.0), "GridWidth", UintegerValue (3), "LayoutType", StringValue ("RowFirst")); Obs.: https://www.nsnam.org/docs/models/html/mobility.html e https://www.nsnam.org/wiki/MobilityHelper IV. CONCLUSÕES · Apresente conclusões de interesse na realização de todo o experimento e o seu conhecimento adquirido na execução do mesmo. · Convido aos alunos para, a partir das atividades realizadas em (a.3), tente utilizar seus conhecimentos na geração de gráficos a partir do uso da ferramenta Wireshark, para identificar fenômenos relevantes dos resultados do experimento.
Compartilhar