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 = @CC@
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:
Usando arquivos de Nos, Enlaces e Trafego em Separado
Exercicio WAN - Relat?io de An?ise de Desempenho
Exemplos Diversos coletados na Internet
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.