Buscar

NS3_01&02 Introdução e Primeiro Passos no NS 3

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.

Outros materiais