• Nenhum resultado encontrado

Simulador de Redes NS (Network Simulator)

N/A
N/A
Protected

Academic year: 2021

Share "Simulador de Redes NS (Network Simulator)"

Copied!
12
0
0

Texto

(1)

Programa de Pós-graduação em Engenharia Elétrica e Informática Industrial. Centro Federal de Educação Tecnológica do Paraná.

Av. Sete de Setembro, 3165. Curitiba – PR. Brasil.

http://www.lasd.cefetpr.br

Laboratório de Sistemas Distribuídos

Laboratório de Sistemas Distribuídos

Simulador de Redes NS

Simulador de Redes NS

(Network Simulator)

(Network Simulator)

Prof. Ana

Prof. AnaCristina Cristina Barreiras KochemBarreiras Kochem cristina

cristina@@dainf.cefetprdainf.cefetpr..brbr

2

Agentes em NS

Agentes em NS

„

Representam endpoints onde pacotes da camada de

rede são construídos ou consumidos;

„

Funções: Roteamento, transmissão e recepção de

pacotes TCP ou UDP

.

Alguns exemplos de agentes:

„

TCP

(transmissor) X

TCPSink

(receptor)

„

UDP

(transmissor) X

Null

(receptor)

„

LossMonitor:

implementado em um nó receptor para

(2)

3

Agentes em NS

Agentes em NS

Criação de um agente TCP em OTcl:

set tcp [new Agent/TCP] # Cria agente transmissor $tcp set fid_ 1 # ID do fluxo dos pacotes IP $tcp set prio_ 1 # Prioridade do fluxo $tcp set window_ 1024 # Tamanho da janela $tcp set packetSize_ 500 # Tamanho do pacote $ns_ attach-agent $n0 $tcp # Anexa transmissor ao nó 0 set sink [new Agent/TCPSink] # Cria agente receptor $ns_ attach-agent $n1 $sink # Anexa receptor ao nó 1 $ns_ connect $tcp $sink # Estabelece a conexão TCP

Links

Links

e Filas

e Filas

„

Link

unidirecional/bidirecional

entre os nós <n0> e

<n1>:

$ns_ <

simplex-link/duplex-link

> <n0> <n1>

<largura_de_banda> <retardo>

<disciplina_escalonamento_fila>

Exemplos de disciplinas de escalonamento de filas:

„

Drop-tail ou FIFO (First-In-First-Out);

„

FQ (Fair Queueing);

„

SFQ (Stochastic Fair Queueing);

„

DRR (Deficit Round Robin);

(3)

5

Geradores de Tráfego

Geradores de Tráfego

„ Application/Traffic/Exponential ÆExponential On/Off „ Application/Traffic/ParetoÆPareto On/Off

‰ packetSize_Tamanho constante dos pacotes gerados ‰ burst_time_ Tempo médio “on” para o gerador ‰ idle_time_ Tempo médio “off” para o gerador

‰ rate_ Taxa constante de envio de pacotes durante períodos “on”

„ Application/Traffic/CBR ÆConstant Bit Rate

‰ packetSize_Tamanho constante dos pacotes gerados ‰ rate_ Taxa constante de envio de pacotes

‰ interval_ Intervalo entre pacotes (opcional)

„ Application/Traffic/Trace ÆGera tráfego de acordo com um arquivo

trace. Cada registro contém dois campos de 32 bits contendo:

‰ Tempo de interchegada de pacotes (microssegundos); ‰ Tamanho do próximo pacote gerado (bytes)

set tfile [new Tracefile] $tfile filename example-trace

set t1 [new Application/Traffic/Trace] $t1 attach-tracefile $tfile

6

Aplicações Simuladas em NS

Aplicações Simuladas em NS

„ Application/FTPÆAplicação para transferência de arquivos

„ Application/Telnet ÆAplicação para acesso remoto „ Variável interval_

„ Seinterval_ = 0, os tempos de interchegada entre os

pacotes são escolhidos de acordo com uma distribuição exponencial.

„ Seinterval_

0, os tempos de interchegada entre os

pacotes são escolhidos randomicamente de acordo com uma distribuição tcplib.

„ Transmissão dos pacotes é controlada pelo algoritmo de controle

(4)

7

Fonte de Tráfego Link

Agente

Cenário de Simulação para

Cenário de Simulação para

uma Rede Fixa

uma Rede Fixa

n0

n2

n3

n1

ftp

tcp

udp

cbr

sink

null

2 Mbps, 10 ms 2 Mbps, 10 ms 1,7 Mbps, 20 ms

Tamanho pacote = 1000 bytes Taxa de transmissão = 1 Mbps

t (s)

1 2 5 7

CBR

FTP

ns-simple.tcl

Cenário de Simulação para

Cenário de Simulação para

uma Rede Fixa

uma Rede Fixa

(5)

9

Cenário de Simulação para

Cenário de Simulação para

uma Rede Fixa

uma Rede Fixa

Link 0-2

1-2

2-3

10 para nó do nó

Arquivo trace e AWK para

Arquivo trace e AWK para

análise de simulações

análise de simulações

Arquivo trace

Evento Tempo (s) Tipo

pacoteTamanhoPacote (bytes)flags fid Endereçofonte Endereçodestino Númeroseqüência ID dopacote

Tipos de eventos: r: recebe +: enqueue - : dequeue d: descarta r 1.3556 0 2 tcp 30 --- 1 0.0 3.0 29 19

Arquivo AWK

Resultado AWK

(6)

11

Agente Loss Monitor

Agente

Agente

Loss

Loss

_Monitor

_Monitor

‰ Variáveis:

„ nlost_ Número de pacotes perdidos; „ npkts_ Número de pacotes recebidos; „ bytes_ Número de bytes recebidos;

„ lastPktTime_ Tempo no qual o último pacote foi recebido.

Resultados_CBR

Resultados_Exponencial

Agente

Agente

Loss

Loss

_Monitor

_Monitor

‰

Exercício:

‰ Utilizar o cenário do arquivo ns-simple.tcl

‰ Anexar um agente Loss_Monitor ao destino do fluxo

CBR

‰ Número máximo de pacotes na fila: 10

‰ Obter o número de pacotes perdidos pelo fluxo CBR ‰ Comparar resultado com o arquivo res.awk

(7)

13

Monitoramento de Filas

Monitoramento de Filas

„

Objeto

Monitor_Queue

set qmon [$ns monitor-queue $n2 $n3 [open qm.tr w] 1]

[$ns link $n2 $n3] queue-sample-timeout

Argumentos:

1.

Link onde a fila está localizada;

2.

Arquivo de saída onde os dados serão armazenados;

3.

Freqüência na qual a fila será monitorada (segundos).

Monitora_Fila

14

Monitoramento de Filas

Monitoramento de Filas

„

Objeto

Monitor_Queue

1. Tempo;

2. Nós de entrada e saída que definem a fila; 3. Tamanho da fila em bytes (size_);

4. Tamanho da fila em pacotes (pkts_);

5. Total de pacotes de entrada na fila (parrivals_);

6. Total de pacotes que partiram da fila (não descartados)

(pdepartures_);

7. Total de pacotes descartados na fila (pdrops_); 8. Total de bytes contido nos pacotes de entrada

(barrivals_);

9. Total de bytes que partiram da fila (bdepartures_); 10. Total de bytes descartados na fila (bdrops_).

(8)

15

Monitoramento de Fluxos

Monitoramento de Fluxos

‰

Flow_Monitor

‰ Similar ao Queue_Monitor, porém obtém dados por fluxo:

‰arrivals_(pacotes/bytes); ‰departures_(pacotes/bytes); ‰drops_ (pacotes/bytes).

Result_FTP

Result_CBR

Flow_Monitor

„

simple-wireless.tcl

# Definição dos componentes da rede

set val(chan) Channel/WirelessChannel ; # Tipo do canal

set val(prop) Propagation/TwoRayGround ;# Tipo do modelo de propagação

set val(ant) Antenna/OmniAntenna ; # Tipo da antena

set val(ll) LL ; # Tipo da camada de link

set val(ifq) Queue/DropTail/PriQueue ;# Tipo da disciplina de escalonamento

set val(ifqlen) 50 ;# Número máximo de pacotes na fila

set val(netif) Phy/WirelessPhy ; # Tipo de interface de rede

set val(mac) Mac/802_11 ; # Tipo da Camada MAC

set val(rp) DSDV ;# Protocolo de roteamento ad-hoc usado pelos nós móveis

set val(nn) 2 ; # Número de nós móveis

Cenário de Simulação para

Cenário de Simulação para

Redes Móveis Sem Fio

Redes Móveis Sem Fio

(9)

17

„

simple-wireless.tcl

# Criação da instância do simulador

set ns_ [new Simulator]

# Abre arquivo trace para gravar dados da simulação e chama o procedimento trace-all

set tracefd [open simple.tr w] $ns_ trace-all $tracefd

# Cria área de movimentação dos nós móveis (x=500, y=500)

$topo load_flatgrid 500 500

# Cria o objeto GOD (General Operations Director) Æ armazena informações globais sobre o estado do ambiente, rede ou nós

create-god $val(nn)

Cenário de Simulação para

Cenário de Simulação para

Redes Móveis Sem Fio

Redes Móveis Sem Fio

18

„

simple-wireless.tcl

# Configuração dos nós da rede antes da criação

$ns_ node-config - adhocRouting $val(rp) - llType $val(ll) - macType $val(mac) - ifqType $val(ifq) - ifqLen $val(ifqlen) - antType $val(ant) - propType $val(prop) - phyType $val(netif) - topoInstance $topo - channelType $val(chan) - agentTrace ON - routerTrace ON - macTrace OFF - movementTrace OFF

Cenário de Simulação para

Cenário de Simulação para

Redes Móveis Sem Fio

Redes Móveis Sem Fio

(10)

19

„

simple-wireless.tcl

# Criação dos dois nós móveis

for { set i 0 } { $i < $val(nn) } { incr i } { set node_($i) [ $ns_ node ]

$node_($i) random-motion 0 ;# desabilita movimento randômico }

# Posição inicial dos nós Ælados opostos

$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

Cenário de Simulação para

Cenário de Simulação para

Redes Móveis Sem Fio

Redes Móveis Sem Fio

„

simple-wireless.tcl

# Movimento dos nós

# No tempo 50s, nó 1 começa a se mover em direção ao nó 0 Æ # destino (x=25, y=20) a uma velocidade de 15m/s.

$ns_ at 50.0 “$node_(1) setdest 25.0 20.0 15.0 $ns_ at 10.0 “$node_(0) setdest 20.0 18.0 1.0

# Nó 1 começa a se afastar do nó 0

$ns_ at 100.0 “$node_(1) setdest 490.0 480.0 15.0

Cenário de Simulação para

Cenário de Simulação para

Redes Móveis Sem Fio

Redes Móveis Sem Fio

(11)

21

„

simple-wireless.tcl

# Configuração do fluxo de tráfego entre os dois nós: # Conexão UDP entre os nós 0 e 1

set udp [ new Agent/UDP ]

$ns_ attach-agent $node_(0) $udp set null [ new Agent/Null ]

$ns_ attach-agent $node_(1) $null $ns_ connect $udp $null

# Cria uma fonte de tráfego CBR

set cbr [ new Application/Traffic/CBR ] $cbr attach-agent $udp $cbr set packetSize_ 500 $cbr set interval_ 0.005 $cbr attach-agent $udp $ns_ at 10 “$cbr start” $ns_ at 149 “$cbr stop”

Cenário de Simulação para

Cenário de Simulação para

Redes Móveis Sem Fio

Redes Móveis Sem Fio

0

null udp cbr

1

22 „

simple-wireless.tcl

# Término simulação

for { set i 0 } { $i < $val(nn) } { incr i } $ns_ at 5.0 “$node_($i) reset”; }

$ns_ at 150.01 “stop”

$ns_ at 150.02 “puts \ “NS EXITING ... \” ; $ns_halt” proc stop {} {

global ns_tracefd close $tracefd }

puts “Starting Simulation...”

# Executa Simulação

$ns_ run

Cenário de Simulação para

Cenário de Simulação para

Redes Móveis Sem Fio

Redes Móveis Sem Fio

Simple_wireless.tcl

Trace

(12)

23

Cenário de Simulação para

Cenário de Simulação para

Redes

Redes

Wired

Wired

_

_

Wireless

Wireless

„

wireless_wired.tcl

Domínio Fixo

Domínio Sem Fio

Estação Base

BS(0)

F(0)

F(1)

M(2)

M(1)

M(0)

Atua como um gateway entre os 2 domínios

wireless_wired.tcl

Trace

Referências Bibliográficas

Referências Bibliográficas

The VINT Project. The Network Simulator ns-2: Documentation. UC Berkeley. Disponível em: <http://www.isi.edu/nsnam/ns/ns-documentation.html>. Acesso em: 10 setembro 2001.

Chung, Jae; Claypool, Mark. NS by Example. Disponível em: <http://nile.wpi.edu/NS/>. Acesso em: 20 novembro 2001.

Referências

Documentos relacionados

Campral só deverá por isso ser usado durante a gravidez após avaliação cuidadosa da relação benefício/risco, quando a paciente não se consegue abster de beber álcool sem

influenciar o aparecimento de uma imagem no outro olho: os sinais de uma imagem invisível podem viajar no cérebro pelo menos até ao ponto onde os sinais dos dois olhos

São devidos juros de mora nos termos do artigo 44.º da lei geral tributária, quando o sujeito passivo não pague a contribuição dentro do prazo legalmente estabelecido na nota

ACESSÓRIOS PVC-C PRESSÃO - CPVC PRESSURE FITTINGS 36 PV C -U PV C -C V álvulas Industriais PP PE100 Sobresselentes TÊ 90º REDUÇÃO 90º REDUCING TEE Colar solvent socket CP... PV C

Se notar quaisquer sintomas de infeção ou outros sintomas como fraqueza muscular, fraqueza a começar nas mãos e nos pés e dirigindo-se em direção ao tronco, palpitações,

impresso e anexado ao processo de pagamento e, servirá de base para aplicação da Instrução Normativa supracitada. Se, em razão de sua natureza jurídica, a contratada for isenta

Embora submetidas a diversos tipos de impactos resultantes dos tipos de usos da terra, predominantemente relacionados com o cultivo da cana-de-açúcar e da laranja, além das

A motivação é um fator essencial para jogos educativos e quatro categorias motivacionais são associados a este método: (I) Atenção: Refere-se ao nível de atenção