Usando o Nscript para simular no NS2

TE815 - Rede de Comunicação de Dados - Prof. Eduardo Parente Ribeiro


O Nscript é um programa escrito em Java que permite configurar graficamente cenários para serem simulados no NS2. Os nós, enlaces, agentes e geradores de trafico são conectados no ambiente gráfico e o Nscript fornece o script tcl para simulação. O Nscript foi desenvolvido por Enrique Campos e é atualmente mantido por Stefano Sanfilippo.
Pode ser obtido em http://home.dei.polimi.it/tornator/Tornatore_files/NS2010/labo_files/Nscript.zip
Ou em:
https://github.com/esseks/nscript

Execute-o diretamente a partir de sua maquina java (pode ser obtida em www.sun.com):
java -jar nscript

Passo a Passo
Abra o exemplo "first.nss".
Examine o codigo tcl (clicando na aba Tcl/Tk Script).

Execute o codigo no NS, usando a opcao do menu: Script/Run in NS.
Será pedido o nome do arquivo para se salvar o script. Forneça "first.tcl"
O arquivo será entao enviado para o NS que apos processa-lo encaminhará ao NAM.
E entao o exemplo pode ser visualizado.

Os seguintes exemplos estão disponíveis:
first    transmissao CBR entre dois nós. Início em 0,5 s e Fim em 4,5 s.
ping   envia pings em t = 1, 2, 3  e 4 s (usa lib ping)
plot    transmissao TCP onde a janela cresce (CWND). Executar ns plot.tcl; xgraph cwnd.trc
lan      trasnmissao TCP numa LAN
cycle   Roteamento DV num anel.
general  Replicação dos agentes

Exercício dirigido. A cada passo observe o codigo TCL para ver que comandos foram crados.
Montar um cenario com dois nós e transmissão CBR iniciando em t = 0,1 s e terminando em t = 0,5 s (similar ao first.nss).
1) Coloque os nós: selecione Topology/Node. Clique num ponto no diagrama para criar o primeiro nó e num segundo ponto para criar o segundo nó.
2) Ligue os nós com um enlace duplex: Selecione Topology/Duplex Link. Clique no primeiro nó e arraste até o segundo.
3) Acrescente agente de transporte UDP: Selecione Transport/UDP(Agent). Clique proximo ao nó 0.
4) Acrecente um agente para recepção: Selecione Transport/Null (Agent). Clique próximo ao nó 1.
5) Anexe os agentes aos nós. Selecione Transport/Attach to Node. Arraste do UDP ao nó 1 e do NULL ao nó 2.
6) Conecte os agentes: Selecione Transport/Connect(Agent,Agent). Arraste do UDP ao NULL.
7) Insira gerador de trafego. Selecione Applications/CBR. Clique proximo ao UDP.
8) Anexe o gerador ao transporte. Selecione Transport/AttachToApp. Arraste do UDP ao CBR.
9) Tempo de Inicio do trafego. Inserir Timer: Utilities/Timer proximo ao CBR0. Ligar à aplicação CBR0: ApplicationEvent arrastar do Timer ao CBR0.
10) Inicio em 0,1 s: Clique no botão verde (Select an Object). Selecione o Timer0. Mude o Nome de Timer0 para 0.1 . Clique em Apply.
9) Tempo de Fim do trafego. Inserir Timer: Utilities/Timer proximo ao UDP. Ligar ao agente UDP: ApplicationEvent arrastar do Timer ao CBR0.
10) Fim em 0,5 s: Clique na ligação pontilhada do Timer1 ao CBR0. Mude o evento de Start para Stop. Tecle Enter e depois clique em Apply. Clique no botão verde (Select an Object). Selecione o Timer1. Mude o Nome de Timer1 para 0.5.

Pronto. Execute (Script/Run in NS - lembrando de escolher o nome do script tcl).

Depois experimente mudar a taxa de transmissao do enlace de 10Mbps para 1Mbps. Como resultado, o tamanho gráfico dos pacotes aumenta no NAM. Experimente tambem alterar a taxa de envio do CBR.

Pode-se anotar comentarios a serem exibidos na janela do NAM com o método: trace-annotate.
1) Inserir sequencia de eventos genericos: Utilities/GenericEvent. No devido tempo (Time) indique o evento (Event): $ns trace-annotate \"Comentario a ser exibido durante a simulação \"

Outros Exemplos