Network Simulator 2

NS ou network simulator (tamb? chamado de ns-2 em refer?cia a sua gera?o) ?um simulador de redes de computadores popular nos meios acad?icos por ter o c?igo fonte aberto. Muito usado em pesquisas sobre redes ad hoc, suporta os protocolos de rede mais populares tanto para redes cabeadas quanto as sem fio.

A primeira vers? do ns foi desenvolvida em 1989 baseada no Real Network Simulator. A vers? atual ?a 2 e foi desenvolvida na Universidade de Berkley usando as linguagens C++ e Tcl. Os scripts Tcl s? usados para descrever o ambiente a ser simulado, sendo o simulador um interpretador dests scripts que usa as bibliotecas desenvolvidas em C++ as quais possuem os objetos para o escalonamento de eventos e elementos de rede.

Network Simulator 3 (NS-3)

Network Simulator NS-3 (informa?es e download)

Tutoriais e Manual do NS-2 (download)



Network Simulator NS-2 (Download v2.35 - Compat?el com o Ubuntu 14.04 LTS)

Site do NS-2 Projeto VINT NS-2

 

Instala?o no Ubuntu 14.04 LTS

Passo 1) Baixe o NS-2 no link acima e abra o terminal



IMPORTANTE: Para que tudo corra conforme este passo a passo, copie o arquivo baixado do NS-2 dentro de sua pasta home.

Passo 2) Descompacte o arquivo que ser?baixado no formato ".tar.gz". Isso ?feito com o seguinte comando

$ cd ~

$ tar -zxvf ns-allinone-2.35.tar.gz

Passo 3) Agora vamos instalar as depend?cias (pacotes adicionais necess?ios ao ns-2)

$ sudo apt-get install build-essential autoconf automake libxmu-dev

Passo 4) Vamos instalar a ?tima vers? do compilador GCC suportada, a 4.4

$ sudo apt-get install gcc-4.4

Passo 5) Agora precisamos fazer um pequeno ajuste em um arquivo chamado "ls.h". Entre na pasta "linkstate" que fica dentro do diret?io ns-2.35. Para chegar l?use o comando abaixo:

$ cd ~/ns-allinone-2.35/ns-2.35/linkstate

Passo 6) Vamos editar esse arquivo com o gedit, que ?um editor nativo do Ubuntu Desktop.

$ gedit ls.h

Passo 7) V?para a linha 137 e fa? a seguinte mudan?:

De: void eraseAll() { erase(baseMap::begin(), baseMap::end()); }

Para: void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

Note que a mudan? est?destacada em azul, ou seja, basta acrescentar o this-> antes de erase. Feiro isso grave o arquivo e saia.

Passo 8) Vamos agora ajustar a vers? do compilador para a que instalamos anteriormente. Isso ?feito no arquivo "Makefile.in". Edite esse arquivo usando o comando abaixo:

$ gedit ~/ns-allinone-2.35/otcl-1.14/Makefile.in

Logo no in?io altere a linha 7

De:   CC = @[email protected]

Para CC = gcc-4.4

Passo 9) Tudo pronto. Agora vamos fazer a instala?o com o comando abaixo. Demora um pouco!
 
$ cd ~/ns-allinone-2.35/

$ ./install

Passo 10) Quase l? Agora vamos ajustar o caminho. Para isso edite o arquivo "bash.rc" que fica na pasta home. Esse arquivo ?invis?el e por isso possui um "." na frente. Edite usando o gedit com o comando abaixo. Depois v?para o final e acrescente as linhas ques est? em azul. Grave e saia.

$ cd ~

$ sudo gedit ~/.bashrc

Acrescente as linhas abaixo após a última linha

# LD_LIBRARY_PATH
OTCL_LIB=~/ns-allinone-2.35/otcl-1.14
NS2_LIB=~/ns-allinone-2.35/lib
X11_LIB=/usr/X11R6/lib
USR_LOCAL_LIB=/usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB
# TCL_LIBRARY
TCL_LIB=~/ns-allinone-2.35/tcl8.5.10/library
USR_LIB=/usr/lib
export TCL_LIBRARY=$TCL_LIB:$USR_LIB
# PATH
XGRAPH=~/ns-allinone-2.35/bin:~/ns-allinone-2.35/tcl8.5.10/unix:~/ns-allinone-2.35/tk8.5.10/unix
#Script para mapear o NS
NS=~/ns-allinone-2.35/ns-2.35/
NAM=~/ns-allinone-2.35/nam-1.15/
PATH=$PATH:$XGRAPH:$NS:$NAM

Passo 11) Feche a se?o e abra novamente. Pronto, Ns-2 instalado. Teste usando os comandos abaixo.

$ ns
%
ns-version


Exemplos de Simulação:

Topologia da RNP no NS

Usando arquivos de Nos, Enlaces e Trafego em Separado

WAN com SFQ

LAN com GATEWAY

Redes de Sensores

Exercicio WAN  - Relat?io de An?ise de Desempenho

Exemplos Diversos coletados na Internet

Patch do RSVP para o NS-2

Suporte de Programação para o NS-2

O NS usa, como linguagem de front-end, o TCL. Clique aqui para obter exemplos de sintaxe que podem ser ?eis no desenvolvimento de seus c?igos.
Se quiser um material mais completo clique aqui

Redes Infraestruturadas no NS-2 (NoAH)

Ajustes no NS-2 para Redes Wireless Infra-estruturadas ou NOAH (professor J?g Widmer da Escola Polit?nica Federal de Lausanne, na Su?a) clique aqui

Antenas Direcionais no NS-2

Ajustes no NS-2 para uso de antenas direcionais (Departamento de Ci?cia da Computa?o e Engenharia do Instituto de Tecnologia Indiano, localizado em Kanpur, na ?dia) clique aqui

Link para outros simuladores

OPNET - N? ?gratuito

Pacote de simuladores de rede gratuitos

Minhas Contribuições

E-book - Network Simulator para Iniciantes

Programa em TCL para C?culo de Vaz?, Atraso e Jitter e Probabilidade de Bloqueio

Programas que calculam vazao, atraso, jitter e probabilidade de bloqueio

Instruções:

1- Descompacte os arquivos dentro da mesma pasta do trace

2- renomeie o trace para "wtrace.tr"

3- # ns calcula_vazao (Roda o Cálculo do TroughPut)

4- # ns calcula_atraso (Roda o Cálculo do Atraso, do Jitter e da Probabilidade de Bloqueio)

5- Importante: Cada fluxo deve estar com um Fid (Flow Identification) e Classe ordenados em sequencia crescenbte.

Cálculo da Vazão Agregada

Qualquer contribuição para a melhoria dos códigos será bem vinda.