A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

21.09.2016 NS – Conceitos Gerais. 21.09.2016 Roteiro  Nodos  Links  Agentes  Aplicações  Exemplo.

Apresentações semelhantes


Apresentação em tema: "21.09.2016 NS – Conceitos Gerais. 21.09.2016 Roteiro  Nodos  Links  Agentes  Aplicações  Exemplo."— Transcrição da apresentação:

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.


Carregar ppt "21.09.2016 NS – Conceitos Gerais. 21.09.2016 Roteiro  Nodos  Links  Agentes  Aplicações  Exemplo."

Apresentações semelhantes


Anúncios Google