Você está na página 1de 5

Instituto Federal de Educação, Ciência e Tecnologia da Paraíba

Campus de Cajazeiras
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas
Disciplina: Redes de Computadores/Laboratório de Redes de Computadores
Professor: Daladier Júnior Período: 2018.1
https://sites.google.com/site/daladierjr/
1) Faça o Download de um Hipervisor de Tipo II, tal como o Virtualbox (VMWare ou afins) que
pode ser encontrado na URL: https://www.virtualbox.org/wiki/Downloads
2) Faça o download da VM com o Mininet instalado na seguinte URL:
https://github.com/mininet/mininet/wiki/Mininet-VM-Images

OBS: Caso não queira fazer o download de uma VM com mininet instalado, faz-se necessário a
instalação de uma VM (usamos VirtualBox) juntamente com uma versão do Ubuntu Linux
customizada para se trabalhar com o mininet, OpenFlow, além de uma série de ferramentas. Aleḿ
disso, é preciso instalar uma série de outras ferramentas para serem realizados os experimentos
(usando o apt-get install pacote).

3) Antes de inicializar a VM com o mininet pode-se customizar os parâmetros dos dispositivos


virtuais (vCPUs, vRAM, disco, rede). Para customizar os parâmetros de uma dada VM clique sobre
ela pressionando as teclas CTRL+S, ou clique com o botão direito sobre a VM e escolha a opção
Configurações, ou clique no menu Máquina/Configurações.

4) Ao selecionar a opção Sistema na aba Placa-Mãe podemos modificar a quantidade de memória


virtual (vRAM) ao modificarmos a quantidade de memória base, tal como na figura 1 onde
aumentamos de 1024 para 2048 MB. Note na Figura 1, que vários outros parâmetros podem ser
alterados a contento do usuário. Não modificaremos o número de vCPUs, que pode ser alterado na
aba Processador customizando os valores do(s) Processador(es), para finalizar as alterações clique
no botão OK ou tecle Enter.

Figura 1. Customização de memória vRAM da VM do mininet.

5) Como estamos usando pela primeira vez o VirtualBox é necessário criar uma Rede Exclusiva de
Hospedeiro, para isso vá até o menu Arquivo/Preferências ou tecle CTRL+G, em seguida clique em
Rede e logo após na aba Redes Exclusivas de Hospedeiro, e logo apoś clique no botão adicionar
rede de hospedeiro ( ) , onde o resultado será a inserção de uma interface virtual host-only
vboxnet0 (como na Figura 2), depois finalize a criação com o botão OK ou tecle Enter.

OBS: Note na Figura 2 que pode-se editar as configurações desta rede vboxnet0 ao clicar no botão
editar ( ), que serve para configuração dos endereços IPs que serão usados pelos hosts desta
rede.

Figura 2. Criação de uma rede exclusiva de hospedeiro (host-only).

6) Selecione a opção Rede, adicione um novo adaptador ao clicar em Adaptador 2 e em seguida


clique no checkbox Habilitar Placa de Rede, modifique a opção Conectado a para Placa de rede
exclusiva de hospedeiro (host-only), finalmente confirme todas as alterações realizadas nas
Configurações clicando no botão OK ou teclando Enter.

7) Inicialize a VM do mininet clicando no botão Iniciar, em seguida digite o login: mininet e sua
senha é também mininet.

8) Cheque as configurações dos adaptadores de rede digitando o comando ifconfig

9) Transforme-se em superusuário (root) ao digitar o comando sudo su e em seguida digite a senha


do usuário mininet, que é mininet.

10) Agora é hora de usar a interface de rede host-only ao digitar o comando dhclient eth1, onde a
interface eth1 receberá via servidor DHCP da Rede de Exclusiva de Hospedeiro vboxnet0 um
endereço IP naquela faixa de endereço pré-estabelecida/customizada. Em seguida digite o comando
ifconfig eth1, para checar o endereço atribuído à interface eth1.

OBS: O endereço IP da interface eth1 pode ser configurado manualmente pelo root editando o
arquivo /etc/hosts.

Exemplo de criação de uma topologia OpenFlow no Mininet, com:

1 Controlador → c0 – IP: 127.0.0.1


1 OpenFlow Switch → s1– IP: 127.0.0.1
3 Hosts → h1 – IP: 10.0.0.1; h2 – IP: 10.0.0.2; h3 – IP: 10.0.0.3.
Vamos criar a topologia no Mininet, tal como na figura abaixo.

Figura 3. Topologia com 1 switch, 1 controlador e 3 hosts no Mininet.

Interação com o Mininet:

1) Abra a VM e inicialize sua interface gráfica e em seguida abra o xterm, o próximo passo é
tranformar-se em root com:
sudo su

Existem três tipos de topologias: single (um switch), linear (vários switches ligados em linha reta) e
tree (árvore de switches).
2) Para criar exemplos de cada um dos tipos de topologias, digite os comandos:
2.1) Single – comando:
mn --topo single, 4 --mac --switch ovsk --controller remote
OBS: em nossa rede pode-se acrescentar o IP do controlador após o parâmetro remote, assim o
comando ficaria:

mn --topo single, 4 --mac --switch ovsk --controller remote, ip=192.168.56.102


2.2) Linear – comando:
mn --topo linear, 10 --mac --switch ovsk --controller remote, ip=192.168.56.102
2.3) Tree – comando:
mn --topo tree, depth=2,fanout=3 --mac --switch ovsk --controller remote, ip=192.168.56.102

OBS: Para criar uma topologia tal como a da figura 1 digite o comando:
mn --topo linear,10 --mac --switch ovsk --controller remote, ip=192.168.56.102

Figura 4. a) Topologia Single b) Topologia Linear c) Topologia Tree


3) Para visualizar os nós da topologia digite:
nodes

4) Para testar a conectividade entre os hosts digite o comando:


pingall

5) Para conectar-se aos hosts h1 e h2 digite:


xterm h1 h2

6) No host – h1 que será o Device Under Test (DUT) nas RFCs 2544/6815, ou seja, o dispositivo de
rede que terá seu tráfego TCP avaliado (servidor iperf), digite o comando:
iperf -s -p 5656 -i 1 > tcp_test.txt

OBS: 5656 é a porta que o iperf usará no cliente e no servidor, bem como será avaliado o tráfego
num intervalo (-i) de a cada um segundo.

7) No host – h2 que será o cliente iperf, dispositivo chamado de Traffic Generator (gerador de
tráfego), digite o comando:
iperf -c 10.0.0.1 -p 5656 -f K -t 60

OBS: O cliente irá se conectar na porta (-p) 5656 com o servidor h1 que está hipoteticamente
usando o IP 10.0.0.1, exibindo o tráfego no formato (-f) de KBytes/s com tempo (-t) de medição de
60 segundos (limite de tempo mínimo da RFC 2544/6815).

8) No host1 digite CTRL+C e em seguida digite o comando abaixo para exibir o tráfego entre os
dois hosts (h1 e h2) durante 60 segundos:
cat tcp_test.txt

9) Para sair digite exit em cada host

Contudo, até agora não se pode visualizar graficamente as topologias de redes SDN criadas, para
isso é necessário uma ferramenta que possa servir não só como interface gráfica, mas como um
Sistema Operacional de Rede (Network Operating System – NOS), também chamado de
orquestrador de rede, como o OpenDayLight e o ONOS. Estes NOS servem para ativar a
programabilidade nas redes de computadores usando SDN, onde ambos trabalham com JAVA e
Python para criação de novas ferramentas. Como usaremos o OpenDayLight faz-se necessário fazer
a instalação de uma VM com SO Linux, em nosso caso usamos o Ubuntu 18-04, com oracle-java8,
apache e maven instalados, com mais uma interface de rede de hospedeiro host-only, para que
possamos manter as VMs do Mininet e do OpenDayLight na mesma rede. Após tudo isso é
necessário fazer o download de uma versão estável do OpenDayLight, em nosso caso usamos a
Karaf 0.7.3 – Nitrogen SR3. Assim, após ter instalado todo ambiente digite o comando:
wget
https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/karaf/0.7.3/
karaf-0.7.3.tar.gz

Em seguida descompacte o arquivo (de cerca de 321Mbytes) com o comando:


tar -zxvf karaf-0.7.3.tar.gz

Após acesse o diretório bin com o comando:


cd karaf-0.7.3/bin
Agora execute o karaf com o comando:
./karaf

Instale os features abaixo:


com o comanto:
feature: install nome_da(s)_feature(s)

OBS Os features instalados foram:


odl-l2switch-switch odl-mdsal-all odl-dluxapps-core odl-dluxapps-applications odl-dluxapps-
nodes odl-dluxapps-topology odl-dluxapps-yangui odl-dluxapps-yangvisualizer odl-dluxapps-
yangman odl-dluxapps-yangutils odl-restconf-all features-dlux features-dluxapps odl-mdsal-
benchmark odl-mdsal-trace.

Como em nossa aula para economizarmos tempo trouxemos as VMs/Appliances prontas, estes
passos não necessitam ser refeitos. Primeiramente, importe a VM com as configurações padrões,
faça o login na VM com o usuário djr e a senha 654123, em seguida digite o comando sudo
ifconfig -a, veja que existe uma interface sem IP, em seguida digite dhclient interface. Em seguida, é
necessário entrar no diretório karaf-0.7.3/bin e executar o comando ./karaf para ativar o
OpenDayLight. No navegador/browser digite ip_da_VM_opendaylight:8181/index.html, onde será
exibida uma tela de login como esta, com login admin e senha admin. Clique em Topology para
exibir as figuras das topologias (tal como na Figura 2); ao clicar em nodes pode-se obter as
estatísticas de cada um dos nós da rede clicando em Statistics/Node Conector, para fazer um teste
no Mininet digite o comando pingall e depois cheque/atualize as estatísticas dos nós.

Tutoriais Mininet:
http://csie.nqu.edu.tw/smallko/sdn/iperf_mininet.htm
http://mininet.org/walkthrough/
http://www.i3s.unice.fr/~lopezpac/cours/2017-2018/greennet/mininet-part2.pdf
https://inside-openflow.com/2016/06/29/custom-mininet-topologies-and-introducing-atom/

Você também pode gostar