Você está na página 1de 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Introduo ao Network Simulator 2 ca


Sidney Doria
Universidade Federal de Campina Grande Programa de Ps-Graduao em Cincia da Computao o ca e ca

24 de Maro de 2009 c

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

1 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Roteiro
1

Introduo ca Simuladores de Rede e o NS-2 Arquitetura do NS-2 Instalando o NS-2 Plataformas e Kits de Instalao ca Passos para a Instalao ca Passos para uma Simulao ca Simulando Redes com o NS-2 Exemplo I Exemplo II Ferramentas de Apoio

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

2 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Simuladores de Rede e o NS-2 Arquitetura do NS-2

Modelagem para Simulao ca

Modelar elementos do mundo real requer recursos computacionais; Mais detalhes implicam em mais recursos; Memria, processamento, etc.; o Simulaes SEMPRE EXIGEM um certo grau de abstrao. co ca

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

3 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Simuladores de Rede e o NS-2 Arquitetura do NS-2

NS-2 - Simulador Discreto por Eventos

Discreto como na matemtica discreta (sem continuidade, conjuntos a contveis); a Modela uma rede do mundo real com eventos numa linha de tempo discreta; Simulador mantm uma lista encadeada com eventos; e Cada evento acontece num instante de tempo (virtual!); Tempo de processamento no conta no tempo virtual. a

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

4 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Simuladores de Rede e o NS-2 Arquitetura do NS-2

Tipos de Simulao Poss ca veis

Redes com o ou sem o (satlite, WiMAX, subaqutico, etc.); e a Protocolos de roteamento (unicast, multicast, broadcast!); Protocolos de transporte (e.g., TCP, UDP); Protocolos de aplicao (e.g., FTP, TFTP, HTTP, DNS); ca Gerao aleatria ou programada de erros em ns e links; ca o o Gerao de traces para anlise; ca a Voc pode fazer sua prpria implementao em qualquer camada! e o ca

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

5 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Simuladores de Rede e o NS-2 Arquitetura do NS-2

Arquitetura do NS-2
Duas Linguagens de Programao ca OTcl: Linguagem de script interpretada e orientada a objetos, indicada para descrever os cenrios e modic-los facilmente; a a C++: Linguagem de programao compilada e orientada a objetos, ca indicada para codicar os mdulos; o Componentes NS-2 - Simulador; NAM - Network AniMator. Produz demonstraoes visuais ` partir c a dos traces; XGraph - Plota grcos ` partir dos traces. a a

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

6 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Simuladores de Rede e o NS-2 Arquitetura do NS-2

Estrutura de Pastas do NS-2

Figura: Estrutura de Pastas do NS-2

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

7 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Simuladores de Rede e o NS-2 Arquitetura do NS-2

Comunicao Entre os Ns ca o

Figura: Comunicao Entre os Ns ca o


Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 8 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Plataformas e Kits de Instalao ca Passos para a Instalao ca Passos para uma Simulao ca

Plataformas de Instalao ca

Unix (e.g., HP-UX, Solaris); Unix-like (e.g., Linux, FreeBSD); Windows (requer Cygwin).

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

9 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Plataformas e Kits de Instalao ca Passos para a Instalao ca Passos para uma Simulao ca

Kit de Instalao ca
OPCAO 1 - VOCE USA WINDOWS: Baixe o Kit Windows em www.dsc.ufcg.edu.br/ maspohn/adhoc-grad/tutorial/kit-windows.zip; Contedo: CD do Ubuntu, Virtualbox, Instalador do NS-2, Livro, u Artigo, Modelo IEEE; Instale o Virtualbox e crie uma mquina virtual com 4GB de disco e a 512MB de memria RAM; o Ligue a mquina virtual montando a imagem de CD do Ubuntu para a a instalao; ca Depois de instalado o Ubuntu, copie o instalador do NS-2 para a mquina virtual (use Shared Folders); a Instale os pacotes build-essential autoconf automake libxmu-dev.
Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 10 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Plataformas e Kits de Instalao ca Passos para a Instalao ca Passos para uma Simulao ca

Kit de Instalao ca

OPCAO 2 - VOCE USA LINUX: Baixe o Kit Linux em www.dsc.ufcg.edu.br/ maspohn/adhoc-grad/tutorial/kit-linux.tar.gz; Contedo: Instalador do NS-2, Livro, Artigo, Modelo IEEE; u Instale os pacotes build-essential autoconf automake libxmu-dev.

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

11 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Plataformas e Kits de Instalao ca Passos para a Instalao ca Passos para uma Simulao ca

Passos para a Instalao do NS-2 ca

Na sua pasta HOME: $ tar xzvf ns-allinone-2.33.tar.gz; $ cd ns-allinone-2.33/; $ ./install; Siga as instrues do instalador e altere o arquivo .bashrc para co adicionar as variveis solicitadas; a Em um novo terminal, $ cd ns-allinone-2.33/ns-2.33/; $ ./validate; O NS-2 est pronto para uso. a

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

12 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Plataformas e Kits de Instalao ca Passos para a Instalao ca Passos para uma Simulao ca

Passos para uma Simulao no NS-2 ca

Criar o escalonador de eventos; Congurar as opes de Trace; co Criar a topologia da rede (i.e., plano XY, numero de ns, disposio o ca dos ns, etc.); o Criar links (rede cabeada) e ns com comportamento (e.g., protocolo o de roteamento, transporte); Iniciar a simulao. ca

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

13 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma Rede Local M nima

01 02 03 04 05 06 07 08

#Cria o Escalonador de Eventos set ns [new Simulator] #Configura os Arquivos de Trace set tracefile [open out.tr w] $ns trace-all $tracefile set nf [open out.nam w] $ns namtrace-all $nf

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

14 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma Rede Local M nima


09 10 11 12 13 14 15 16 17 18 19 20 21 22 # Cria a rotina de finalizacao proc finaliza {} { global ns tracefile nf $ns flush-trace close $nf close $tracefile exec nam out.nam & exit 0 } # Cria a topologia set n0 [$ns node] set n1 [$ns node] $ns simplex-link $n0 $n1 1Mb 10ms DropTail
Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 15 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma Rede Local M nima

23 24 25 26 27 28 29 30

# Cria agentes: transporte e aplicacao set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp0 set null0 [new Agent/Null] $ns attach-agent $n1 $null0 $ns connect $udp0 $null0

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

16 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma Rede Local M nima

31 32 33 34 35 36

# Programa os eventos $ns at 1.0 "$cbr start" $ns at 3.0 "finaliza" # Inicia a simulacao $ns run

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

17 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma MANET M nima


01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 # Parametros principais set val(chan) Channel/WirelessChannel set val(prop) Propagation/TwoRayGround set val(ant) Antenna/OmniAntenna set val(ll) LL #set val(ifq) CMUPriQueue # somente para DSR! set val(ifq) Queue/DropTail/PriQueue set val(ifqlen) 50 set val(netif) Phy/WirelessPhy set val(mac) Mac/802_11 set val(rp) AODV set val(nn) 2 #Cria o Escalonador de Eventos set ns_ [new Simulator]
Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 18 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma MANET M nima


16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #Configura os Arquivos de Trace set tracefile [open out.tr w] $ns trace-all $tracefile set nf [open out.nam w] $ns namtrace-all $nf # Cria a rotina de finalizacao proc finaliza {} { for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at 150.0 "$node_($i) reset"; } global ns tracefile nf $ns flush-trace close $nf close $tracefile Sidney Doria (UFCG) out.nam & Network Simulator 2 24 de Maro de 2009 c exec nam

19 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma MANET M nima

34 35 36 37

# Cria a topologia set topo [new Topography] $topo load_flatgrid 500 500 create-god $val(nn)

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

20 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma MANET M nima


38 # Configure nodes 39 $ns_ node-config -adhocRouting $val(rp) \ 40 -llType $val(ll) \ 41 -macType $val(mac) \ 42 -ifqType $val(ifq) \ 43 -ifqLen $val(ifqlen) \ 44 -antType $val(ant) \ 45 -propType $val(prop) \ 46 -phyType $val(netif) \ 47 -topoInstance $topo \ 48 -channelType $val(chan) \ 49 -agentTrace ON \ 50 -routerTrace ON \ 51 -macTrace OFF \ 52 -movementTrace OFF
Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 21 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma MANET M nima


53 54 55 56 57 58 59 60 61 62 63 64 65 66 # Configure nodes for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node ] $node_($i) random-motion 0 } # Posiciona os nos $node_(0) set X_ 5.0 $node_(0) set Y_ 2.0 $node_(0) set Z_ 0.0 $node_(1) set X_ 390.0 $node_(1) set Y_ 385.0 $node_(1) set Z_ 0.0
Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 22 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma MANET M nima


67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 # No $ns_ $ns_ $ns_ 1 segue em direcao ao no 0. Depois se afasta. at 50.0 "$node_(1) setdest 25.0 20.0 15.0" at 10.0 "$node_(0) setdest 20.0 18.0 1.0" at 100.0 "$node_(1) setdest 490.0 480.0 15.0"

# Cria agentes: transporte e aplicacao set tcp [new Agent/TCP] $tcp set class_ 2 set sink [new Agent/TCPSink] $ns_ attach-agent $node_(0) $tcp $ns_ attach-agent $node_(1) $sink $ns_ connect $tcp $sink set ftp [new Application/FTP] $ftp attach-agent $tcp $ns_ at 10.0 "$ftp start"
Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 23 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Uma MANET M nima

82 83 84 85 86

# Programa o encerramento da simulacao $ns_ at 150.0001 "finaliza" # Inicia a simulacao $ns_ run

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

24 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Anlise de Traces a

Figura: Exemplo de Trace do NS-2

Analizadores de Trace do NS-2 TraceGraph JTrana Scripts AWK


Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 25 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Geradores de Cenrio e Comunicao a ca

Setdest Cria um cenrio ` partir de informaes fornecidas (e.g., a a co dimenses, nmero de ns, movimento desejado); o u o CBRgen Cria um padro de comunicao para ser associado aos ns a ca o (i.e., quantos ns so emissores/receptores, pacotes por segundo); o a

Sidney Doria (UFCG)

Network Simulator 2

24 de Maro de 2009 c

26 / 27

Introduo ca Instalando o NS-2 Simulando Redes com o NS-2

Exemplo I Exemplo II Ferramentas de Apoio

Comentrios Finais a
Prximos Passos o Aprenda a fazer simulaes com os dois protocolos. co Experimente! Leia trechos do trace para entender a seqncia de passos do ue escalonador Planeje seu conjunto de simulaes (crie cenrios, padres de co a o comunicao) ca Tente computar informaes sobre os traces. Inicie por co Porcentagem de Entrega de Pacotes Tire dvidas no frum (via email) u o E por m... Corra!
Sidney Doria (UFCG) Network Simulator 2 24 de Maro de 2009 c 27 / 27

Você também pode gostar