# Lab 0: Primeiros Passos Esta é uma atividade preliminar que tem como principal objetivo verificar que cada aluno fez a leitura indicada sobre o ambiente de emulação de redes (Mininet) e conseguiu executar a VM do Emulador Mininet e sua versão com suporte a comunicações sem fio, Mininet-WiFi. Nos sites dos projetos tem mais informações e tutoriais básicos para quem quiser ir adiantando conhecimento: http://mininet.org/ e https://github.com/intrig-unicamp/mininet-wifi! Atenção: A tarefa deve ser completada antes do início da segunda aula da disciplina (25 de Agosto) e submetida pelo Google Classroom em formato texto ou pdf apresentando os comandos executados e as saídas. ## Recomendações Leitura do Capítulo 1 do livro do Mininet-WiFi • https://github.com/ramonfontes/mn-wifi-book-pt • https://github.com/ramonfontes/mn-wifi-book-pt/raw/master/preview-book.pdf ## Preparações Neste Laboratório, cada aluno precisará de um máquina Windows ou Linux que funcionará como um host para uma máquina virtual: • VirtualBox • VM do Mininet-Wifi :::info Notte: Caso você esteja executando no laboratório LE25, pode pular os passos abaixo, pois as VMs já estão instaladas e configuradas. ::: Instalação da VM do Mininet-Wifi: A VM pre-configurada pode ser baixada a partir do link disponível em: • https://github.com/intrig-unicamp/mininet-wifi/blob/master/README.md As credenciais para acessar a máquina são: Login: wifi Password: wifi Alternativamente, instale o Mininet-WiFi em sua própria máquina. Instruções para tal instalação estão disponibilizadas no README do Mininet-WiFi. ## Atividades práticas Após iniciar a VM do Mininet-WiFi, siga os seguintes passos. :::warning Atenção: Durante as atividades práticas erros comuns ou pequenos bugs podem acontecer. A Seção FAQ apresenta alguns destes erros e o passo a passo para sua solução. ::: Para garantir que a máquina virtual possua a versão mais recente do Mininet-WiFi, utilize o comando git pull seguido de sudo make install para recompilar o código-fonte, conforme abaixo: ``` cd mininet-wifi git pull sudo make install ``` O seguinte comando cria uma topologia simples com quatro terminais e um ponto de acesso WiFi (os parâmetros –position e –link=wmediumd habilitam posições geográficas e modelos de propagação, conforme será discutido em laboratório específico) ``` sudo mn --wifi --topo single,4 --position --link=wmediumd ``` :::warning Atenção: Caso aconteça o erro "Caught exception... please shut down the controller ... on port 6653"execute o comando $ sudo fuser -k 6653/tcp] ::: Verifique a conectividade entre todas os terminais com um comando que manda mensagens do tipo PING entre todos os pares de estações: ``` pingall ``` Informações sobre as interfaces podem ser acessadas com o comando logo abaixo do Mininet-WiFi . Você conseguiu identificar alguma informação dos terminais? Quais? ``` py sta1.params ``` Diversas informações sobre as interfaces podem ser acessadas com o comando: ``` py sta1.wintfs[0] ``` Por exemplo, tente verificar e anote o IP e MAC da interface do nó sta1 utilizando: ``` py sta1.wintfs[0].ip py sta1.wintfs[0].mac ``` ## FAQ ### name ’sta1’ is not defined Certifique-se de que você iniciou a topologia do roteiro utilizando o comando: ``` sudo mn --wifi --topo single,4 --position --link=wmediumd ``` ### ’Station’ object has no attribute ’wintfs’ Verifique se a versão do Mininet-Wifi é a mais recente utilizando o comando: ``` mn --version ``` A versão mais atual é a 2.5. Caso sua versão esteja desatualizada, no diretório do Mininet-Wifi execute: ``` git pull sudo make clean sudo make install ```