Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouVagner Peres Bentes Alterado mais de 7 anos atrás
1
21.09.2016 NS – Conceitos Gerais
2
21.09.2016 Roteiro Nodos Links Agentes Aplicações Exemplo
3
21.09.2016 Nodos Criando a instância do simulador Criação de um nodo qualquer Ex.: set ns [new Simulator] set [$ns node] set n0 [$ns node] set n1 [$ns node]
4
21.09.2016 Links Ligação entre nodos : simplex-link, duplex-link : DropTail Exemplo: $ns $ns duplex-link $n0 $n2 1Mb 10ms DropTail
5
21.09.2016 Agentes Agentes são endpoints onde pacotes são construídos e consumidos. São usados na implementação de protocolos em várias camadas: Protocolos da camada de transporte, por exemplo UDP e variações do TCP. Protocolos de roteamento, por exemplo Distance-Vector.
6
21.09.2016 Agentes (cont.) Vários agentes são disponibilizados pelo ns. Os mais conhecidos são: TCP e suas variações (Vegas, Reno, New Reno, Sack); TCPSink, um receptor TCP Reno ou Tahoe; UDP LossMonitor, um receptor de pacotes que produz estatísticas de perda de pacotes; Null, um agente que descarta pacotes; rtProto/DV, que simula o protocolo de roteamento distance-vector.
7
21.09.2016 Agentes TCP Tahoe Reno NewReno Sack set tcp0 [new Agent/TCP] set tcp0 [new Agent/TCP/Reno] set tcp0 [new Agent/TCP/Newreno] set tcp0 [new Agent/TCP/Sack1]
8
21.09.2016 Outros Agentes UDP LossMonitor Roteamento DV Null set udp0 [new Agent/UDP] set loss0 [new Agent/LossMonitor] set dv0 [new Agent/rtProto/DV] set null0 [new Agent/Null]
9
21.09.2016 Conexão entre Agentes É preciso conectar o agente ao nodo Exemplo: set n0 [$ns node] set tcp0 [new Agent/TCP] $ns attach-agent $n0 $tcp0 $ns attach-agent
10
21.09.2016 Utilizando Agentes Cria-se agente emissor e o conecta ao nodo fonte: Cria-se agente receptor e o conecta ao nodo destino: Conectam-se os agentes emissor e receptor: set tcpSource [new Agent/TCP] $ns attach-agent $n0 $tcpSource set tcpSink [new Agent/TCPSink] $ns attach-agent $n1 $tcpSink $ns connect $tcpSource $tcpSink
11
21.09.2016 Aplicações Aplicações são construídas no topo dos protocolos de transporte. ns permite a simulação de dois tipos de aplicações: Application/FTP Application/Telnet
12
21.09.2016 Exemplo Aplicação set tcp1 [new Agent/TCP] $ns attach-agent $n0 $tcp1 set sink1 [new Agent/TCPSink] $ns attach-agent $n1 $sink1 $ns connect $tcp1 $sink1 set ftp1 [new Application/FTP] $ftp1 attach-agent $tcp1 $ns at 0.0 "$ftp1 start"
13
21.09.2016 Configurações para FTP e Telnet FTP $ftp start $ftp produce $ftp stop $ftp attach Telnet $telnet start $telnet stop $telnet attach
14
21.09.2016 Geradores de Tráfego Tráfego é gerado em intervalos, que podem seguir uma determinada distribuição ou não. Geradores de tráfego disponíveis: Exponencial -> geram tráfego de acordo com uma distribuição Exponencial On/Off Pareto -> geram tráfego de acordo com uma distribuição Pareto On/Off CBR (Constant Bit Rate) -> geram tráfego a uma taxa constante
15
21.09.2016 Exemplo Gerador Exponencial packetSize_ –> tamanho dos pacotes gerados burst_time_ –> tempo médio no estado “on” idle_time_ –> tempo médio no estado “off” rate_ – taxa de envio enquanto “on” set e [new Application/Traffic/Exponential] $e attach-agent $src $e set packetSize_ 210 $e set burst_time_ 500ms $e set idle_time_ 500ms $e set rate_ 100k
16
21.09.2016 Exemplo Gerador Pareto set src [new Agent/UDP] set sink [new Agent/UDP] $ns attach-agent $n0 $src $ns attach-agent $n1 $sink $ns connect $src $sink set p [new Application/Traffic/Pareto] $p set packetSize_ 210 $p set burst_time_ 500ms $p set idle_time_ 500ms $p set rate_ 200k $p set shape_ 1.5
17
21.09.2016 Exemplo Gerador CBR rate_ –> taxa de envio interval_ –> intervalo entre pacotes(opcional) packetSize_ –> tamanho dos pacotes maxpkts_ –>número máximo de pacotes a enviar set cbr0 [new Application/Traffic/CBR] $cbr0 set rate_ 64Kb $cbr0 set packetSize_ 500 $cbr0 set interval_ 0.005
18
Exemplo n1n1 n0n0 n2n2 n3n3
19
Definindo os nós set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set val(nn) 4 for {set i 0} {$i < $val(nn)} {incr i} { set node_($i) [$ns node] } ou:
20
Definindo os Links n1n1 n0n0 n2n2 n3n3 Link duplex Largura de banda: 2Mbps Atraso de 10ms Fila “droptail” Link duplex Largura de banda: 2Mbps Atraso de 10ms Fila “droptail” Link duplex Largura de banda: 1,7Mbps Atraso de 20ms Fila “droptail” $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 1.7Mb 20ms DropTail
21
Script dos links $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 1.7Mb 20ms DropTail $ns queue-limit $n2 $n3 10 #ns-nam $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $n2 $n3 queuePos 0.5
22
Um exemplo mais elaborado 1 Mbps Pacote de 1000 bytes n1n1 n0n0 n2n2 n3n3 ftp tcp cbr udp null sink
23
Script dos agentes set udp0 [new Agent/UDP] $udp0 set class_ 1 $ns attach-agent $n1 $udp0 set null0 [new Agent/Null] $ns attach-agent $n3 $null0 $ns connect $udp0 $null0 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $cbr0 set packet_size_ 1000 $cbr0 set rate_ 1mb set tcp0 [new Agent/TCP] $tcp0 set class_ 2 $ns attach-agent $n0 $tcp0 set sink0 [new Agent/TCPSink] $ns attach-agent $n3 $sink0 $ns connect $tcp0 $sink0 set ftp [new Application/FTP] $ftp0 attach-agent $tcp0
24
Identificando os fluxos Identifica a classe do fluxo Referente ao parâmetro do trace Comando genérico: set class_ $udp0 set class_ 1 $tcp0 set class_ 2
25
Conectando os agentes Anexa um agente TCP a n0 Anexa um agente TCPSink a n3 Conecta os dois agentes set tcp0 [new Agent/TCP] $ns attach-agent $n0 $tcp0 set sink0 [new Agent/TCPSink] $ns attach-agent $n3 $sink0 $ns connect $tcp0 $sink0
26
Conectando os agentes Cria instância de aplicação FTP Anexa a aplicação FTP à instância do TCP Application/FTP é uma “aplicação simulada”, assim como Application/Telnet set ftp [new Application/FTP] $ftp0 attach-agent $tcp0
27
Escalonamento 0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 t cbr Final da simulação ftp $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop“ $ns at 1.0 "$ftp0 start" $ns at 4.0 "$ftp0 stop“
28
Configuração para o NAM E por último... Define as cores de cada classe de tráfego para visualização no NAM $ns color 1 Blue $ns color 2 Red
29
Início da simulação
30
Fluxo tcp iniciado
31
Descarte na fila
32
Fim da simulação
33
Exercício Remova todas as aplicações que geram tráfego, configuradas no exemplo. No nó 0, adicione um FTP sobre o TCP Tahoe, mandando tráfego para o nó 3. No nó 0, adicione um FTP sobre o TCP Reno, mandando tráfego para o nó 3. No nó 1, adicione um FTP sobre o TCP NewReno, mandando tráfego para o nó 3 No nó 1, adicione um FTP sobre o TCP SACK, mandando tráfego para o nó 3 Lembre-se de criar um agente “sink” no nó 3 e conectar com os TCP's acima.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.