domingo, 25 de julho de 2010

NS-2 - Instalando no Ubuntu 10.04

Bom se você é assim como eu que sempre quando vai começar algo novo e não faz nem idéia por onde começar, abre o navegador e busca por alguém tenha a mesma dúvida que a sua ou um tutorial de um nobre ser que gastou seu tempo para que nós meros mortais pudessemos continuar a boa e velha mata ehehehe (claro que não é bem assim mas...).

Bom mas vamos ao que interessa, neste post eu vou reescrever umas coisas que uma vez eu li no blog do arthurfurlan mas agora não o encontro mais. O tópico era sobre a instalação do Network Simulator no Ubuntu. Eu até procurei no Google e achei um outro post dele no Viva Linux que ele dava um geral (o do blog dele estava melhor ... tinha mais detalhes e comentários). Estranho que sumiu, bom foi por esse motivo que resolvi escrever o post parecido e aproveitando e já atualizando a versão do Ubuntu da 7.10 para a 10.04 e também a do NS-2.30 para NS-2.34.

Antes de tudo precisamos instalar alguns pacotes para poder compilar corretamente o NS-2.34.
$ sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.4
Próximo passo vamos baixar o NS-2.34.
$ wget http://ufpr.dl.sourceforge.net/sourceforge/nsnam/ns-allinone-2.34.tar.gz
Termiando o download podemos então descompactar os arquivos e finalmente instalar o Simulador de Rede.
$ tar xzvf ns-allinone-2.34.tar.gz                                        $ cd ns-allinone-2.34/                                                    $ ./install
Agora o NS-2 vai ser compilado e instalado no Ubuntu, isso demora alguns minutos então se quiser fazer outras coisas sinta-se a vontade.

Ao final se tudo ocorrer bem aparecerá no console para que você faça a validação da instalação mas se por algum a caso no processo de instalação for verificado algum erro, como por exemplo: make: *** [libotcl.so] Error 127 otcl-1.13 make failed! . Não se assute pode ser que na hora da compilação o compilador não foi selecionado corretamente, neste caso de uma olhada neste link que explica uma simples solução para o caso. Lembrando que em vez de usar a gcc-4.3 que ele demosntra use a gcc-4.4 que você baixou inicialmente.

Agora para que possamos usar o NS-2 normalmente teremos que configurar algumas variáveis de ambiente.
$ OTCL_LIB=~/ns-allinone-2.34/otcl-1.13                                   $ NS2_LIB=~/ns-allinone-2.34/lib                                          $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB              $ export TCL_LIBRARY=~/ns-allinone-2.34/tcl8.4.18/library                 $ PATH=$PATH:~/ns-allinone-2.34/ns-2.34/
Feito isso podemos ir para faze final e validar a instação do NS-2. A já aviso que isso demora. Então se tiver que ir no mercado ou quiser assistir um filme vá em frente. Digite os comando no shell e bom divertimento.
$ cd ns-2.34/                                                             $ ./validate 
Pronto agora você tem o simulador instaldo no seu Ubuntu 10.04 e pode aproveitar para fazer suas modificações nos procolos ou mesmo se aventurar e implementar um nele como eu vou fazer eheheheh. Abraços e até a próxima.

7 comentários:

  1. Segui as intruções do link alterando para gcc-4.4, mas ainda permanece o erro com o otcl-1.13

    ResponderExcluir
  2. tente alterar o Make que esta no otcl-1.13 de:

    CC= gcc

    para,

    CC= gcc-4.4

    ResponderExcluir
  3. Para nos só deu certo depois de fazer um apt-get install gcc-4.3...

    Tenta executa ai o gcc-4.3 para olhar se estiver instalado o no...

    ResponderExcluir
  4. hey, hi i am manika agarwal... 4th year computer engineering student..
    i have taken up anthocnet as my project and need ur help for the same.
    Came across ur ns2 simulation code for it on sourceforgenet site. I would be highly obliged if you could mail me all the material related ti the same, its a little difficult to comprehend from the website. My email id is manika.agr@gmail.com

    Waiting for a reply

    Manika

    ResponderExcluir
  5. No gcc-4.4 é preciso alterar o arquivo configure q está em otcl-1.13:
    Na linha 6304 alterar:
    SHLIB_LD="ld -shared"
    para:
    SHLIB_LD="gcc -shared"

    Abraço! :D

    ResponderExcluir
  6. Sir,
    Currently I am using NS2.34 in fedora13 and I downloaded the
    implementation of the ANTHOCNET for ns2.34 from
    http://anthocnet.svn.sourceforge.net/viewvc/anthocnet/
    using the GNU Tarball there.

    I have some problem in running the code .Problem in make it would be of great help to me if you can correct
    and send the patch for it as soon as possible.

    Thank you in advance .Please please do reply
    error is like

    trace/cmu-trace.o: In function `AntBasicPacket::access(Packet const*)':
    cmu-trace.cc:(.text._ZN14AntBasicPacket6accessEPK6Packet[AntBasicPacket::access(Packet
    const*)]+0x7): undefined reference to `AntBasicPacket::offset_'
    collect2: ld returned 1 exit status
    make: *** [ns] Error 1
    Ns make failed!
    See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

    I couldn't rectify the error.Please help me regarding this

    ResponderExcluir
  7. Olá, Daniel.

    Instalei o Anthocnet para ns-2.34 e 2.35 e ambos funcionaram bem para tráfego TCP, de acordo com os exemplos fornecidos junto com o pacote. Porém, para tráfego CBR não obtive bons resultados. Obsevei que as mensagens do tipo RRFA (Repair Forward) não funcionam bem quando o link é rompido pelo movimento dos nós. Sempre que uma mensagem RRFA é enviada, na tentativa de recuperar a rota, a mesma não tem sucesso e acaba gerando uma rota de retorno à origem (com a mensagem RRBA) e, consequentemente, uma perda de pacote pela constatação de um loop. Com TCP a taxa de entrega (delivery) é em torno de 99%, o que é ótimo, mas para CBR/UDP a taxa está em torno de 10%. Obs: foram feitas dezenas de simulações, cada qual com sua própria semente variando para gerar os modelos de movimento e tráfego.

    ResponderExcluir