Para quem não conhece, o Network Simulator (aka ns-2) é um simulador muito utilizado na pesquisa e desenvolvimento de protocolos de redes e que nos últimos tempos eu venho utilizando com bastante frequência, devido ao meu trabalho de graduação. O objetivo desse post não é explicar a função do ns-2 nem tampouco o seu funcionamento, mas sim disponibilizar um pequeno tutorial da instalação desse simulador baseado no meu exemplo de compilação em um Ubuntu 7.10 Tribe 5.
Se você quiser conhecer mais sobre o ns-2 e/ou sua funcionalidades, visite http://www.isi.edu/nsnam/ns/.
Download
Então vamos baixar o pacote para ser compilado. Apesar de já existir as versões 2.31 e 2.32 do software, eu utilizo o ns-2 na versão 2.30 em meus estudos por questões de compatibilidade, mas acredito que não hajam grandes mudanças na instalação em qualquer uma destas versões.
$ wget http://ufpr.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.30.tar.gz
Instalando
Primeiro vamos instalar os pacotes necessários pelo ns-2
$ sudo aptitude install build-essential autoconf automake libxmu-dev
E agora sim, podemos instalar o simulador propriamente dito
$ tar xzvf ns-allinone-2.30.tar.gz
$ cd ns-allinone-2.30/
$ ./install
Se todos os pacotes anteriores foram instalados corretamente, você não terá nenhum problema durante o processo de compilação. Mas caso aconteça alguma coisa de errado, acesse a página de help do ns-2 para verificar a solução para o seu problema.
Agora, uma “dica” dada pelo Eduardo da Silva… Se você pretende instalar o ns-2 apenas para utiliza-lo como simulador, ou seja, se você não tem a intenção de mexer no código fonte e recompila-lo, etc. a melhor (e mais fácil) maneira de terminar a sua instalação é executando os comandos abaixo:
$ cd ns-2.30
$ make install
e feito isso, você já está com o ns-2 definitivamente instalado e configurado. Caso contrário, se você precisará mexer no código fonte e recompilar constantemente, pule as instruções acima e siga em frente no post para configurar o seu ambimente de execução. Valeu Eduardo! :)
Configurando
Agora precisamos configurar as variáveis de ambiente para que o shell reconheça os arquivos executáveis do ns-2 e facilite a nossa vida quando formos utilizar o simulador :)
Para isso vocês podem baixar o arquivo de configuração que eu criei e configurá-lo de acordo com as suas necessidades. Este arquivo toma por base que a instalação do ns-2 foi feita no home do usuário, o que não precisa ser necessariamente verdade e neste caso, você precisará configurar corretamente a variável NS_ROOT do script para que aponte para o local correto da sua instalação.
$ wget http://arthurfurlan.org/dotfiles/.ns2rc
$ echo "[ -f ~/.ns2rc ] && source ~/.ns2rc" >> ~/.bashrc
Validando
Por fim precisamos validar se tudo ocorreu como deveria e se o simulador está instalado corretamente. Para isso o ns-2 disponibiliza um script de validação para ser executado, como segue abaixo. Você estava com vontade fazer uma pausa!? Ok, então esta é a hora certa! Esse processo demoro alguns bons minutos, então vá fazer um lanche enquanto o computador faz o trabalho pesado :)
$ cd ns-2.30/
$ ./validate
E pronto! Agora você tem o seu simulador de redes devidamente instalado e funcionando, divirta-se! :)
UPDATE1: Adicionado o caminho do script setdest no arquivo de configuração do ns-2
UPDATE2: O urlan deixou nos comentários desse post o link para a documentação em doxygen do ns 2.9: http://www.auto-nomos.de/ns2doku/main.html


