Tutorial Básico Sobre Mininet Leonardo Richter Bays Luciano Paschoal Gaspary Março de 2012 Tutorial Básico Sobre Mininet 1/26
Visão Geral Preparação da VM Uso Básico do Mininet Criação de Regras de Fluxos Informações Adicionais Tutorial Básico Sobre Mininet 2/26
Requisitos da Máquina Host VirtualBox Cliente SSH X11 Tutorial Básico Sobre Mininet 3/26
Download da Imagem Fazer download da imagem da VM: http://www.openflow.org/downloads/openflowtutorial-101311.zip Descompactar arquivo Tutorial Básico Sobre Mininet 4/26
Criação da VM no VirtualBox Iniciar a criação de uma nova Máquina Virtual Tutorial Básico Sobre Mininet 5/26
Criação da VM no VirtualBox Definir nome OpenFlow e sistema Linux 2.6 Tutorial Básico Sobre Mininet 6/26
Criação da VM no VirtualBox Ajustar memória Tutorial Básico Sobre Mininet 7/26
Criação da VM no VirtualBox Importar imagem de disco (1/3) Tutorial Básico Sobre Mininet 8/26
Criação da VM no VirtualBox Importar imagem de disco (2/3) Tutorial Básico Sobre Mininet 9/26
Criação da VM no VirtualBox Importar imagem de disco (3/3) Tutorial Básico Sobre Mininet 10/26
Criação da VM no VirtualBox Verificar informações e concluir Tutorial Básico Sobre Mininet 11/26
Configurações Adicionais Na máquina host, abrir um terminal e digitar o comando: VBoxManage modifyvm "OpenFlow" --natpf1 "guestssh,tcp,,2222,,22" Iniciar a Máquina Virtual Fazer login com usuário e senha openflow e digitar: sudo dhclient eth2 Tutorial Básico Sobre Mininet 12/26
Configurações Adicionais Na máquina host, conectar-se à VM via SSH: ssh -Y -p 2222 openflow@localhost Senha: openflow Tutorial Básico Sobre Mininet 13/26
Inicialização do Mininet Topologia padrão: sudo mn Topologia single (um switch, N hosts): sudo mn --topo single,n Tutorial Básico Sobre Mininet 14/26
Inicialização do Mininet Topologia linear (N switches, conectados em uma linha, cada um com um host): sudo mn --topo linear,n Topologia em árvore (profundidade M, largura N): sudo mn --topo tree,depth=m,fanout=n Tutorial Básico Sobre Mininet 15/26
Principais Comandos nodes lista os nós dump mostra informações dos nós net lista os enlaces entre os nós xterm abre um terminal para um ou mais nós help lista todos os comandos exit encerra o Mininet Tutorial Básico Sobre Mininet 16/26
Criação de Regras de Fluxos Sintaxe: [switch] dpctl add-flow [protocolo:ip:porta] [fluxo] Exemplos (digitar na linha de comando do Mininet): s1 dpctl add-flow tcp:127.0.0.1:6634 nw_src=10.0.0.2,idle_timeout=0,actions=all s1 dpctl add-flow tcp:127.0.0.1:6634 nw_src=10.0.0.2,idle_timeout=0,actions= mod_dl_src:00:00:00:00:00:02,all Tutorial Básico Sobre Mininet 17/26
Criação de Regras de Fluxos in_port=[número da porta] dl_vlan=[vlan] dl_src=[mac de origem] dl_dst=[mac de destino] dl_type=[tipo de protocolo ethernet (0 65535)] nw_src=[ip de origem[/máscara de rede]] nw_dst=[ip de destino[/máscara de rede]] Tutorial Básico Sobre Mininet 18/26
Criação de Regras de Fluxos nw_proto=[tipo de protocolo IP (0-255)] nw_tos=[tos/dscp (0-255)] tp_src=[porta de origem TCP/UDP] tp_dst=[porta de destino TCP/UDP] icmp_type=[tipo de mensagem ICMP (0-255)] icmp_code=[código presente na mensagem] priority=[prioridade (0-65535)] actions=[ação1[,ação2,...]] Tutorial Básico Sobre Mininet 19/26
Criação de Regras de Fluxos actions output:[porta] enqueue:[porta]:[id da fila] normal flood all controller:[tamanho máximo] local Tutorial Básico Sobre Mininet 20/26
Criação de Regras de Fluxos actions mod_vlan_vid:[id da vlan] mod_vlan_pcp:[prioridade da vlan (0-7)] mod_dl_dst:[mac de destino] mod_dl_src:[mac de origem] mod_nw_tos:[tos/dscp] strip_vlan Tutorial Básico Sobre Mininet 21/26
Usando um Controlador Remoto Iniciar o controlador: cd ~/nox/build/src./nox -i ptcp:6633 pyswitch Iniciar o Mininet, conectando-o ao controlador: sudo mn -controller=remote -ip=127.0.0.1 -port=6633 Tutorial Básico Sobre Mininet 22/26
Usando Aplicações Gráficas Iniciar Miniedit: sudo ~/mininet/examples/miniedit.py Tutorial Básico Sobre Mininet 23/26
Usando Aplicações Gráficas Iniciar Consoles: sudo ~/mininet/examples/consoles.py Tutorial Básico Sobre Mininet 24/26
Atualização do NOX Fazer download do código fonte atualizado e compilá-lo: cd ~ git clone git://noxrepo.org/nox cd nox./boot.sh mkdir build cd build../configure make -j 5 Tutorial Básico Sobre Mininet 25/26
Tutorial Básico Sobre Mininet Leonardo Richter Bays Luciano Paschoal Gaspary Março de 2012 Tutorial Básico Sobre Mininet 26/26