Académique Documents
Professionnel Documents
Culture Documents
http://www.brianlinkletter.com/how-to-use-miniedit-mininets-graphical-userinterface/
O simulador de rede Mininet inclui MiniEdit , um editor GUI simples para Mininet. MiniEdit
uma ferramenta experimental criado para demonstrar como Mininet pode ser estendido.
O simulador de rede Mininet inclui MiniEdit , um editor GUI simples para Mininet. MiniEdit
uma ferramenta experimental criado para demonstrar como Mininet pode ser estendido.
Para mostrar como usar MiniEdit para criar e executar simulaes de rede, vamos trabalhar
atravs de um tutorial que demonstra como usar MiniEdit para construir uma rede, configurar
elementos de rede, salvar a topologia e executar a simulao.
Configurar Mininet
Voc j deve estar familiarizado com Mininet antes de tentar utilizar MiniEdit. Se voc precisar
de algumas informaes bsicas sobre Mininet, leia a minha viso geral Mininet .
Antes de comear este tutorial, voc j deve ter iniciado o Mininet VM e conectado a ele via
SSH com o encaminhamento X habilitado. Se voc precisa aprender como fazer isso, leia meu
post descrevendo como configurar Mininet .
Iniciar MiniEdit
O script MiniEdit localiza-se no Mininet exemplos pasta. Para executar MiniEdit, execute o
comando:
$ sudo ~/mininet/examples/miniedit.py
Mininet precisa ser executado com raiz privilgios ento comeamos MiniEdit usando
o sudocomando.
canvas MiniEdit
seguida, clique com o boto direito para revelar um menu de configurao para o elemento
selecionado ou pressione o Excluir chave para remover o elemento seleccionado.
janela de terminal, vendo configurao do switch, ou definir o status de um link para "para cima"
ou "para baixo".
Conectar ns juntos
Fomos capazes de criar este complexo topologia de rede personalizado em poucos minutos
usando MiniEdit. escrever manualmente um script topologia personalizada Mininet para criar
este cenrio teria levado muito mais tempo.
Configurar os controladores
Temos trs controladores. Neste exemplo bsico, vamos usar o OpenFlow controlador de
referncia padro que vem embutido no Mininet. No entanto, preciso configurar cada
controlador que ele usa uma porta diferente.
Clique com o boto direito do mouse em cada controlador e selecione Propriedades no menu
que aparece. O nmero de porta padro para cada controlador 6633. alterar isso para os
nmeros de porta utilizados pelos controladores c0 , c1 e c2 so 6633, 6634 e 6635,
respectivamente.
salvando preferncias
As Preferncias MiniEdit so salvos no arquivo de topologia MiniEdit para cada cenrio para
que voc pode ter preferncias diferentes para cada cenrio salvo.
Salve a configurao
Agora ns temos um cenrio de rede definida por software que deve permitir que cada host
para se comunicar com qualquer outro host na rede.
Vamos salvar o arquivo MiniEdit topologia para que possamos carregar esse cenrio em
MiniEdit no futuro. Tambm vamos exportar um script Mininet Python que pode ser executado
em uma janela de terminal para executar o cenrio.
virtual) que est executando Mininet. Ento, voc precisa usar uma janela de terminal
conectado ao computador (no a um dos ns na simulao de rede). Voc pode usar MiniEdit
para abrir um xterm conectado ao computador host usando o comando de menu MiniEdit, Run
Terminal Root
Na janela do terminal root, primeiro mude o ID do usurio de raiz para Mininet , para que possa
ver as opes que funcionam na Mininet conta. Lembre-se que ns conectado ao Mininet VM
como usurio Mininet para que todos os processos Mininet esto funcionando no Mininet conta.
# su mininet
Em seguida, verificar a tabela de fluxo no interruptor S1 usando os comandos abaixo. Ele deve
estar vazia.
$ sudo ovs-ofctl dump-flows s1
Quebrando um link
Voc deve observar que no mais o trfego recebido pelo anfitrio h8 e que
o pingue comando mostra pacotes enviados a partir de acolhimento h1 no esto sendo
respondidas.
Agora, restaurar a operao de link clicando com o boto direito sobre a linha tracejada e
escolherLink Up no menu. O link voltar a aparecer como uma linha azul slida, o trfego
voltar a ser recebido pelo acolhimento h8 , eo de ping comando em execuo no h1 vai
mostrar que est recebendo respostas de h8 .
Parar a simulao
Saia do Wireshark e tcpdump em hospedeiros h1 e H8 .
Saia do pingue comando na janela do console do MiniEdit pressionando Ctrl-C no teclado.
Em seguida, feche o Mininet CLI digitando exit no mininet> prompt de.
Agora, pressione o Parar boto no MiniEdit GUI.
Executar um
Mininet salvo
script
topologia
personalizada
Uma alternativa para executar uma simulao diretamente no MiniEdit para executar um
script topologia personalizada Mininet criado por MiniEdit. Este o arquivo com o .py extenso
previamente criado quando usamos o comando de menu: Arquivo Salvar Nvel 2 Script .
A vantagem de executar um script topologia personalizada Mininet que voc pode editar o
script criado originalmente por MiniEdit para criar cenrios mais complexos e de usar Mininet
funcionalidades no suportadas pelo MiniEdit.
Para executar a topologia personalizado criado em MiniEdit, executar o script topologia
personalizada Mininet. Em primeiro lugar, alterar as permisses de arquivo assim que um
arquivo executvel, em seguida, executar o arquivo. No exemplo abaixo, o arquivo
chamado test-001.py .
$ cd ~/mininet/examples/test
$ sudo chmod 777 test-01.py
$ sudo ./test-01.py
O script configura a topologia da rede e da mininet> linha de comandos aparece. Agora voc
pode testar o cenrio usando a mesa de ping comando para testar a conectividade entre hosts
da rede. Por exemplo:
mininet> h1 ping -c3 h2
mininet> h1 ping -c3 h8
Concluso
Usamos MiniEdit para criar e executar uma simulao de uma topologia de rede
personalizado. Ns mostramos como usar muitos dos recursos do MiniEdit.
MiniEdit parece ser uma ferramenta til para criar definidos por software personalizados
cenrios de simulao de rede.
Networking Software Defined (SDN) uma tecnologia relativamente nova, mas j est sendo
implantado em algumas redes: o mais famoso, na rede interna da Google . Muitas empresas
esto desenvolvendo produtos para implantar e redes de apoio utilizando tecnologias de
SDN. No seguinte test drive, usaremos Mininet para simular e testar alguns cenrios SDN e
avaliar Mininet como simulador de rede.
Namespaces de rede
Mininet usa namespaces de rede Linux para criar ns virtuais na rede simulada. Esta uma
maneira leve e rpido para criar ns virtuais, mas ele no fornece mquinas virtuais totalmente
separados e no possvel salvar as configuraes em cada um dos ns virtuais aps a
simulao desligado.
Por padro, Mininet cria um novo espao de nomes de rede para cada host na rede
simulada.Tambm por padro, Mininet inicia os processos de comutao e do controlador na
do Mininet VMraiz namespace - essencialmente, eles so apenas processos em execuo no
Mininet VM.Tambm possvel configurar os controladores e os interruptores de cada um em
seu prprio namespace rede para que eles operam mquinas virtuais como separados ligados
em rede uns com os outros atravs de interfaces Ethernet virtuais. Veja a Mininet Passo a
passo para obter mais detalhes.
Neste exemplo, vamos usar apenas a configurao padro. Isso faz com que todas as
interfaces virtuais que criamos na simulao disponvel para ser monitorado por programas
como o Wireshark para que ele simplifica a observao de eventos na rede simulada.
$ sudo mn -h
quaisquer opes de topologia, Mininet ir criar o mnimo de built-in topologia, que consiste
em duas mquinas virtuais conectados a um switch OpenFlow, que gerenciado por um
controlador OpenFlow. No nosso caso, que ir criar uma topologia que consiste de quatro
mquinas virtuais ligados a um comutador OpenFlow, o qual est ligado a um controlador
OpenFlow.
Para criar uma topologia de rede com quatro mquinas virtuais conectados a um interruptor,
digite o comando:
$ sudo mn --topo=single,4
Neste cenrio, que no especificou o tipo de controlador por isso estamos usando o controlador
padro do Mininet, OVS-controller , que implementa a funcionalidade de um switch de camada2 MAC-aprendizagem bsica. O controlador aprende os endereos MAC dos hosts conectados
rede e programas de tabelas de fluxo do switch para configurar conexes entre hosts que
esto enviando pacotes para o outro.
Voc ver a seguinte sada como Mininet cria a topologia de rede simulado:
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4
Comece Wireshark
Para monitorar as comunicaes entre o controlador e quaisquer switches na rede simulada,
comeamos trfego Wireshark e da captao no do Mininet VM loopback interface. Wireshark
deve ser iniciado com privilgios de superusurio assim por diante o terminal Mininet VM, digite
o comando:
$ sudo wireshark &
Uma vez que muitos processos esto passando informaes atravs do loopback interface,
filtrar as mensagens OpenFlow, inserindo a seguinte expresso na caixa do filtro do Wireshark
e cliqueem Aplicar :
of
Testando a simulao
Agora, a rede est configurada. Espera-se que cada mquina virtual ser capaz de comunicar
com qualquer outra mquina virtual no mesmo comutador. Mininet fornece um comando built-in
para verificar a comunicao entre todos os hosts na rede. Use o Mininet pingall comando, que
ir executar o comando ping em cada host e pingar qualquer outro anfitrio, em seguida, relatar
os resultados na interface de linha de comando Mininet:
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2 h3 h4
h2 -> h1 h3 h4
h3 -> h1 h2 h4
h4 -> h1 h2 h3
*** Results: 0% dropped (12/12 received)
comandos Mininet
Mininet fornece comandos que permitem inspecionar e controlar cada elemento de rede a partir
da linha de comando. O pingall comando usado anteriormente estava no exemplo de um
comando Mininet. Alguns outros comandos teis so:
Por exemplo, podemos executar o despejo de comando para ver os endereos IP de cada n
na rede simulada.
mininet> dump
<Host h1: h1-eth0:10.0.0.1 pid=1411>
<Host h2: h2-eth0:10.0.0.2 pid=1412>
<Host h3: h3-eth0:10.0.0.3 pid=1413>
<Host h4: h4-eth0:10.0.0.4 pid=1414>
<OVSSwitch
s1:
eth4:None pid=1417>
lo:127.0.0.1,s1-eth1:None,s1-eth2:None,s1-eth3:None,s1-
mininet> h1 ls
install-mininet-vm.sh
mininet
of-dissector
oflops
oftest
openflow
pox
mininet>
Depois de executar os dois comandos acima, vemos quatro janelas xterm abertas em nosso
ambiente de trabalho. Cada xterm est ligado a uma mquina virtual. Cada janela xterm
identificado pelo nome do dispositivo no qual ele est sendo executado, como anfitrio: H1 .
Outros X sesses pode ser iniciado nos hosts virtuais na rede simulada, inserindo um comando
a partir da linha de comando Mininet ou digitando o comando no xterm janela em execuo no
host virtual. Por exemplo, para iniciar wireshark no acolhimento h1 , podemos executar o
comando em Mininet ou no xterm janela em execuo no acolhimento h1 .
Em Mininet, ns digite o comando:
mininet> h1 wireshark &
Saia Mininet
Para sair Mininet e parar todos os processos e ns virtuais criados por Mininet, entrar na sada
decomando no prompt Mininet:
mininet> exit
Mininet e roteamento
Para criar uma rede onde anfitries esto em redes diferentes (que normalmente seriam ligadas
por routers), devemos usar um controlador que ir fornecer a funcionalidade de uma rede
encaminhada.
A funcionalidade padro fornecida pelo Mininet no suporta esse tipo de funcionalidade. Mas,
poderamos adicionar esta funcionalidade e executar uma rede que usa protocolos de
roteamento IP, como OSPF para construir a rvore de encaminhamento na rede, que passaria
ento a ser implementado como flui na rede Ethernet virtual por um controlador OpenFlow. Um
bom exemplo dessa funcionalidade fornecida pelo projeto RouteFlow .
Mininet tutoriais
O web site Mininet oferece alguns tutoriais muito bons para ajudar novos usurios a entender
como usar Mininet. Para mais detalhes sobre o uso Mininet e cerca de controladores
OpenFlow, consulte o passo a passo Mininet tutorial eo tutorial OpenFlow .
Concluso
Mininet um simulador de rede de cdigo aberto nica que desenvolvida para suportar
reseatch e educao em Software Networking Definido. Eu achei a interface de linha de
comando Mininet ser muito fcil de usar. Porque Mininet usa namespaces rede como sua
tecnologia de virtualizao, ele pode suportar um grande nmero de ns virtuais sem reduzir a
velocidade da simulao.
Mininet tambm tem excelente documentao e uma comunidade muito ativa dos usurios
na lista de discusso Mininet .
Como um simulador para Redes Software Defined, Mininet parece funcionar bem. No entanto,
Mininet - como fornecido pelo projeto Mininet sem modificao - no vai simular uma rede IP
"tradicional", composto de anfitries, switches e routers.
Mininet parece ser mais adequada para os pesquisadores que iro implementar novo software
controlador e test-lo usando Mininet. Penso que um usurio de Mininet que seria muito til se
elas foram experimentadas com a linguagem de script Python e por isso foram capazes de
utilizar API Python do Mininet e tambm inspecionar o cdigo fonte Mininet (que escrito em
Python).