• Nenhum resultado encontrado

NS-2 Network Simulator

N/A
N/A
Protected

Academic year: 2021

Share "NS-2 Network Simulator"

Copied!
24
0
0

Texto

(1)

1

NS-2 Network Simulator

Prof. Edson dos Santos Moreira Redes de Computadores SSC-0641

Universidade de São Paulo – USP

Instituto de Ciências Matemáticas e de Computação – ICMC Departamento de Sistemas de Computação - SSC

(2)

2

Sumário



Introdução



Criando um script de simulação



Simulando protocolos TCP/IP



Simulando uma rede sem fio

(3)

3

O que é o NS2

 Simulador de evento discreto

 Orientado a objetos (C++, Otcl)

 Orientado a pacotes

 Simula:

 redes cabeadas

 Point-to-point link, LAN  Unicast/multicast routing  Transport

 Application layer

 redes sem fio

 Mobile IP

 Ad hoc routing  Satellite network

(4)

O que é o NS2

 Roda em:

 plataforma UNIX e UNIX-like:

 FreeBSD  Linux

 Sun Solaris

 Windows através do cygwin

 NS 2 é implementado em :

 C++ compilado (núcleo do NS2, modificado com

menos frequência, código executado com mais frequência e mais rápido)

 OTcl interpretado (configuração do cenário e

(5)

Interface C++ e OTcl

C++ OTcl Pure C++ objects Pure OTcl objects

C++/OTcl split objects

(6)

Pilha de protocolos TCP/IP

 NS2 implementa as 5 camadas da pilha de protocolos TCP/IP  Endereçamento é hierárquico (diferente do formato IP)

Modem, RDIS, RS-232, EIA-422, RS-449, Bluetooth

1. Física

Ethernet, 802.11 WiFi, IEEE

802.1Q, 802.11g, HDLC, Token ring, FDDI, PPP

2. Enlace

IP (IPv4, IPv6) , ARP, RARP,

ICMP, IPSec

3. Rede

TCP, UDP, SCTP, DCCP

4. Transporte

HTTP, SMTP, FTP, SSH, RTP,

Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, Ping, CBR

5. Aplicação

Protocolos Camada

(7)

Importância da simulação

 Muitas vezes é difícil criar ambiente real:

 NGN – Redes de Próxima Geração  criação de novos protocolos

 Custo reduzido

 Aprimoramento didático

 Quem utiliza: pesquisadores,

(8)

Estrutura de diretórios do NS2

TK8.0 OTcl tclcl Tcl8.0 ns-2 nam-1 tcl ex test lib ... ...

exemplos testes de validação

código C++

código OTcl

ns-allinone

(9)

9

Rodando simulações com NS2

 Compilação/instalação: pacotes em separado

(core do NS, Tcl, TK, OTcl, nam …) ou pacote allinone

 Escrever um script em Otcl

 p. ex. my-test.tcl

 Executar o simulador

 p. ex. ns my-test.tcl

 Opcionais

 visualizar animação com “nam”

(10)

10

Writing a Simulation Script

 Create the event scheduler

 Turn on tracing

 Create network

 Create transport connection (tcp or udp)

(11)

11

Creating Event Scheduler



Create event scheduler

 set ns [new Simulator]



Schedule events

 $ns at <time> <event>

 <event>: any legitimate ns/tcl commands

 e.g [$ftp start]



Start scheduler

(12)

12

Tracing



Trace packets on all links

 $ns trace-all [open test.out w]



Must appear immediately after creating

scheduler



Turn on tracing on specific links

 $ns trace-queue $n0 $n1

<event> <time> <from> <to> <

<event> <time> <from> <to> <pktpkt> <size> > <size> ---- <fid> <<fid> <srcsrc> <> <dstdst> <> <seqseq> <> <attrattr>> + 1 0 2 + 1 0 2 cbrcbr 210 210 ------ 0 0.0 3.1 0 00 0.0 3.1 0 0 -- 1 0 2 1 0 2 cbrcbr 210 210 ------ 0 0.0 3.1 0 00 0.0 3.1 0 0 r 1.00234 0 2 r 1.00234 0 2 cbrcbr 210 210 ------ 0 0.0 3.1 0 00 0.0 3.1 0 0

(13)

13

Creating Network



Nodes

 set n0 [$ns node]

 set n1 [$ns node]



Links and queuing

 $ns duplex-link $n0 $n1 <bandwidth>

<delay> <queue_type>

 <queue_type>: DropTail, RED, CBQ, FQ,

(14)

14

Network Topology: Node

n0 n1 Addr Classifier Port Classifier classifier_ dmux_ entry_ Node entry Unicast Node Multicast Classifier classifier_ dmux_ entry_ Node entry Multicast Node multiclassifier_

(15)

15

Network Topology: Link

n0 n1

enqT_ queue_ deqT_

drophead_ drpT_

link_ ttl_

n1 entry_ head_

tracing simplex link

(16)

16

Routing

n0 n1 Addr Classifier Port Classifier classifier_ dmux_ entry_ Node entry 0

1 enqT_ queue_ deqT_

drophead_ drpT_ link_ ttl_ n1 entry _ head_

(17)

17

Routing (con’t)

n0 n1 Addr Classifier Port Classifier classifier_ dmux_ entry_ 0 1 Addr Classifier Port Classifier classifier_ dmux_ entry_ 1 0 Link n0-n1 Link n1-n0

(18)

18

Creating Connection:



TCP

 set tcp [new Agent/TCP]

 set tcpsink [new Agent/TCPSink]

 $ns attach-agent $n0 $tcp

 $ns attach-agent $n1 $tcpsink

 $ns connect $tcp $tcpsink

(19)

19

Transport

0 1 n0 n1 Addr Classifier Port Classifier classifier_ dmux_ entry_ 0 Agent/TCP agents_ Addr Classifier Port Classifier classifier_ dmux_ entry_ 1 0 Link n0-n1 Link n1-n0 0 Agent/TCPSink agents_ dst_=1.0 dst_=0.0

(20)

20

Creating Traffic: On Top of TCP



FTP

 set ftp [new Application/FTP]

 $ftp attach-agent $tcp



Telnet

 set telnet [new Application/Telnet]

 $telnet attach-agent $tcp

(21)

21

Application: Traffic Generator

0 1 n0 n1 Addr Classifier Port Classifier classifier_ dmux_ entry_ 0 Agent/TCP agents_ Addr Classifier Port Classifier classifier_ dmux_ entry_ 1 0 Link n0-n1 Link n1-n0 0 Agent/TCPSink agents_ dst_=1.0 dst_=0.0 Application/FTP

(22)

22

Plumbing: Packet Flow

0 1 n0 n1 Addr Classifier Port Classifier entry_

0 Agent/TCP ClassifierAddr

Port Classifier entry_ 1 0 Link n0-n1 Link n1-n0 0 Agent/TCPSink dst_=1.0 dst_=0.0 Application/FTP

(23)

Simulação wireless



exemplo de mobilidade – script3.tcl

(Ethernet e Wi-Fi, com tráfego UDP usando Mobile IP)

(24)

24

Referências e tutoriais

 ns-2 Webpage  http://www.isi.edu/nsnam/ns/  ns-2 Mailing List  ns-users@isi.edu  Tutoriais:

 Marc Greis’s Tutorial

(http://www.isi.edu/nsnam/ns/tutorial/index.html)

 Ns by example (http://nile.wpi.edu/NS/)

 Wireless Tutorial

(http://www.isi.edu/nsnam/ns/ns-tutorial/wireless.ppt )

 Dúvidas/sugestões/curiosidades/orientação:

Referências

Documentos relacionados

Primeiro você precisa saber o que vai fazer com seu motor home para melhor escolha do veículo.. Hoje temos no mercado diversos equipamentos para facilitar sua vida, desde

Tabela 5.19: A análise de convergência na direção radial para o caso da cápsula com tampas de alumínio e parede de teflon, preenchida com

Procedimento concursal para constituição de reserva de recrutamento de pessoal docente do ensino português no estrangeiro, para o cargo de professor, compreendendo os níveis

Pelo que vindo os Romanos a lançar de Espanha aos Cartagineses que ocupavam grande parte dela, foi-lhes fácil haver o universal senhorio de todos, e reduzir

Dessa forma, os objetivos são apresentar e discutir a aceleração como alternativa no processo educacional de alunos com altas habilidades ou superdotação, apresentando um caso

No Quadro 4 demonstra-se os insumos de produção variáveis e os custos e despesas fixos para a fabricação do produto, de acordo com o preço- meta de venda, após a utilização da

Uma  vez  que  a  correção  de  fenótipos  diminui  a  contribuição do parentesco para a análise, pressupõe- se que a metodologia RR-Blup foi a mais penalizada,

O presente trabalho objetivou contribuir para a caracterização funcional de dois homólogos divergentes do fator iniciação eIF4E, a proteína responsável pela