Você está na página 1de 4

Universidade Federal Fluminense Departamento de Engenharia de Telecomunicaes Redes Definidas por Software 2013/2 Prof.

. Natalia Castro Fernandes 1 Aula de Laboratrio Utilizando o Mininet

1. Baixe o Virtual Box. 2. Baixe a imagem do mininet disponvel em: https://bitbucket.org/mininet/mininet-vmimages/downloads 3. Importe a mquina virtual. a. V em configuraes>Rede e adicione um adaptador do tipo Host-Only, para que a sua mquina possa se comunicar com a Internet. b. Inicie a mquina virtual. c. Faa o login na mquina utilizando o login: mininet e a senha: mininet d. Entre com o comando sudo su para que voc se torne root da mquina virtual. e. Execute o comando dhclient para obter um endereo IP para a sua mquina virtual. Para que esse comando no precise ser repetido nas prximas vezes, realize os seguintes comandos: i. Edite o arquivo /etc/network/interfaces com o comando: nano /etc/network/interfaces ii. Adicione, no fim do arquivo, as linhas: auto eth1 iface eth1 inet dhcp f. Verifique a conectividade da sua mquina virtual com a Internet. i. Anote o IP da sua mquina virtual. g. Verifique as opes do mininet com o comando: mn h | more 4. Instale um servidor X11 no seu computador, caso no exista. Se voc estiver no Windows, instalar o Xming (http://sourceforge.net/projects/xming/). a. Execute o Xming 5. Instale um programa para ssh no seu computador, caso ainda no exista. Se voc estiver no Windows, pode utilizar o putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). a. Ao fazer o ssh, no se esquea de habilitar a opo X11 Forwarding para que voc possa executar comandos grficos. b. Salve a seo, para facilitar acessos futuros. 6. Acesse a mquina via ssh com a opo X11 Forwarding. a. Se quiser fazer pela linha de comando do windows, v at o local de instalao do putty e execute: putty.exe X mininet@ip.da.maquina.virtual b. Inicialize o wireshark em background: sudo wireshark & (Se tudo correr bem, uma janela ser aberta em seu computador)

(Nesse ponto, no faa sudo su, pois o wireshark s abrir se voc estiver logado como o usurio mininet) i. No wireshark, aplique o filtro of ii. Depois, inicie a captura da interface de loopback (lo) (Por enquanto, nada vai ser capturado) c. Inicialize o mininet: sudo mn Esse comando inicializa uma topologi padro que tem 1 switch openflow, 2 hosts e um controlador de referncia (que far o switch agir como um switch normal). Todas essas 4 entidades esto rodando dentro da MV, cada uma como um processo diferente. Volte para a janela do wireshark. Diga quais so e explique para que servem as 7 primeiras mensagens capturadas dentro do filtro of. Na janela do mininet, observe que voc est dentro do interpretador do mininet (mininet>). Diga qual a sada e explique para que servem cada um dos comandos abaixo: i. help ii. nodes iii. net iv. dump Desenhe a topologia da rede No mininet, se a primeira palavra escrita for o nome de um elemento da rede, o mininet entende que os comandos seguintes devem ser executados dentro desse elemento. Por exemplo, o comando h1 ifconfig a , vai listar todas as interfaces do host h1. i. Repita essa operao para os outros elementos de sua rede e anote a resposta. 1. Complete o seu desenho da topologia com os nomes das interfaces de rede. ii. Execute os comandos route n, arp e ps aux para h1 e s1. Anote as respostas obtidas e explique as diferenas observadas nos resultados? Algum deu igual? Por que? Verifique a conectividade entre hosts, executando um ping com apenas um pacote (ping c 1) do host 1 para o host 2. Existe conectividade? i. O que aconteceu com a tabela arp dos hosts 1 e 2? Explique os resultados obtidos. ii. Volte para o wireshark e tire o filtro de pacotes of. Localize o envio do ARP request, iniciado pelo seu pedido de ping. iii. Copie e cole o resultado observado e explique quais pacotes foram trocados e por qu at que o echo reply chegasse at h1. 1. O que voc deveria fazer para conseguir ver o pacote de echo reply chegando at h1?

d. e. f.

g. h.

i.

iv. O comando do mininet pingall testa a conectividade entre todos os pares de hosts da sua rede. Execute esse comando e anote a sada. O que significa a sada obtida? j. Os hosts do mininet podem executar qualquer comando do Linux. Escolha um comando (diferente dos comandos j discutidos) para ser executado em h1 e outro para ser executado em h2. Mostre os resultados das suas escolhas. k. Para sair do mininet, execute o comando: exit Repare que voc voltou para o terminal do Linux ($). Caso o mininet d algum erro, interessante limpar todos os estados antes de reinici-lo. Faa isso no terminal do Linux com o comando: sudo mn c 7. A topologia do mininet definida pelo parmetro --topo'. Existem algumas topologias j prontas, que podem ser parametrizadas. a. Para os comandos a seguir, desenhe as topologias geradas. i. sudo mn --topo single,3 ii. sudo mn --topo linear,4 b. Voc tambm pode setar a banda e o atraso dos enlaces. Por exemplo: i. No terminal do Linux, execute o seguinte comando: sudo mn --link tc,bw=10,delay=10ms 1. Dentro do mininet, execute os comandos a. iperf b. h1 ping c 10 h2 ii. Verifique os resultados de banda e atraso obtidos com os comandos anteriores. Eles esto de acordo com os valores setados inicialmente? Explique a sua resposta. 8. Para criar novas topologias, possvel usar a API em Python do Mininet. a. D uma olhada rpida na API para topologias em http://mininet.org/api/classmininet_1_1topo_1_1Topo.html b. Agora, olhe um arquivo de exemplo de criao de topologia, como o /home/mininet/mininet/custom/topo-2sw-2host.py c. Agora, inicie uma instncia do mininet utilizando o comando: sudo mn --custom /home/mininet/mininet/custom/topo-2sw-2host.py --topo mytopo d. Agora, construa a seguinte topologia, onde os crculos so hosts e os retngulos so switches: i. A nomeao deve ser feita da seguinte forma: 1. Os hosts devem ser nomeados com o seu nome seguido de um nmero. Exemplo: natalia1,natalia2,etc. 2. Os switches devem ser nomeados com o seu sobrenome seguido de um nmero. Exemplo: fernandes1, fernandes2, etc.

2 4

2 5 6

e. Execute o pingall e o iperf e anote os resultados para essa topologia. f. Agora, determine o atraso de cada link para 15ms. Isso pode ser feito com as opes do mtodo addLink no seu arquivo de topologia. Por exemplo: self.addLink(host,switch,hw=10,delay=5ms,loss=10,max_queue_size= 1000, use_htb=True) g. Execute o pingall e o iperf e anote os resultados para a sua nova topologia.

Links teis: http://mininet.org/download/ https://bitbucket.org/mininet/mininet-vm-images/downloads http://mininet.org/vm-setup-notes/ http://mininet.org/walkthrough/ https://github.com/mininet/mininet/wiki/Introduction-to-Mininet http://archive.openflow.org/wk/index.php/OpenFlow_Tutorial https://github.com/mininet/mininet/wiki/Documentation

Você também pode gostar