Criou página com '= Mininet = <br> * Mininet cria uma reade vistual realística, processando kernel real, switches e código de aplicação em uma máquina (VM, Cloud ou nativa), em segundos, ...' |
Sem resumo de edição |
||
| (14 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
| Linha 2: | Linha 2: | ||
<br> | <br> | ||
* Mininet | * Mininet é um emulador de rede que processa um conjunto de terminais, switches, roteadores e links em um único kernel Linux | ||
* | * Cria uma rede visual realística, processando kernel real, switches e código de aplicação em uma única máquina (VM, Cloud ou nativa), em segundos, com um simples comando | ||
* Um host Mininet porta-se como uma máquina real permitindo usar ssh e processar programas arbitrários | |||
* Os programas podem enviar pacotes através do que se parece com uma interface Ethernet real com um link num certo atraso e numa certa velocidade | |||
* Pacotes são processados pelo que se parece com um switch ou roteador Ethernet real ou ainda um middlebox com uma dada quantitade de enfileiramento | |||
* Quando dois programas, como um cliente iperf e servidor, se comunicam através do Mininet, o desempenho medido pode ser o de duas (lentas) máquinas nativas. | |||
<br> | <br> | ||
| Linha 11: | Linha 18: | ||
* Devido à facil interação com a rede, usando CLI Mininet (e API) e ainda pela simples customização, compartilhamento com outros e implantação em hardware reais, Mininet é frequentemente usada em desenvolvimento, ensino e pesquisa. | * Devido à facil interação com a rede, usando CLI Mininet (e API) e ainda pela simples customização, compartilhamento com outros e implantação em hardware reais, Mininet é frequentemente usada em desenvolvimento, ensino e pesquisa. | ||
* Mininet também é uma excelente maneira de desenvolver, compartilhar e experimentar os sistemas OpenFlow e SDN - Software- | * Mininet também é uma excelente maneira de desenvolver, compartilhar e experimentar os sistemas OpenFlow e SDN - Software-Defined Networking. | ||
<br> | |||
= Porque Mininet é interessante? = | |||
<br> | |||
# É rápido já que iniciar uma rede simples pode ser feito em poucos segundos. O esquema de processar-editar-depurar é ágil | |||
# Pode-se criar topologias customizadas: um único switch, uma Internet ampla, um backbone Stanford, um data center ou qualquer outra coisa | |||
# É possível executar programas reais: qualquer coisa que rode no Linux está disponível para ser processado, de servidores web para janelas TCP sob monitoramento de ferramentas como o Wireshark | |||
# Encaminhamento de pacotes podem ser customizados: Switches Mininet são programáveis usando protocolo OpenFlow. Projetos SDN customizados que processam o Mininet podem ser facilmente transferidos para hardware switches OpenFlow pelo encaminhamento de pacotes line-rate | |||
# Mininet pode ser executado no laptop, em um servidor, em uma VM ou em um box Linux nativo (Mininet é incluído no Ubuntu 12.10+!), ou na nuvem (exemplo Amazon EC2.) | |||
# Os resultados replicados podem ser compartilhados: qualquer computador pode processar seu código uma vez que você o desempacote. | |||
# É fácilmente usado: Podemos criar e processar experimentos Mininet usando simples scripts Python (ou mais complexos, se necessário) | |||
# Mininet é um projeto OpenSource: seu código pode ser examinado em https://github.com/mininet. Permite modificação, correção, requisição de novas funcionalidades e ainda a submissão de patches. | |||
# Está em franco desenvolvimento: Se não funcionar por alguma razão, pode-se participar das discussões e informar à comunidade. Todos que encontram bugs são encorajados a submeter correções atualizando o github sobre casos de testes reproduzíveis. | |||
= Quais as limitações do Mininet = | |||
<br> | |||
* Mininet é uma ótima ferramenta mas possui algumas limitações, por exemplo: | |||
# Processar em um único sistema é conveniente mas isto impõe limites de recursos: Se seu servidor tem 3 GHz de CPU e pode comutar sobre 3 Gbps de tráfego simulado, estes recursos precisarão ser balanceados e compartilhado ao longo dos switvhes e hosts virtuais | |||
# Mininet usa um kernel Linux único para todos os hosts virtuais; isto mostra que não se pode executar programas que dependem de BSD, Windows ou outros kernels de sistemas operacionais | |||
# Mininet não irá escrever seu controlador OpenFlow; se você precisar customizar roteamento ou procedimentos de comutação, será necessário encontrar ou desenvolver um controlador com os aspectos necessários | |||
# Atualmente, Mininet não faz NAT fora do ambiente. Isto mostra que seus hosts virtuais estarão isolados por default de sua rede; isto é normalmente bom mas sinaliza que seus hosts não podem se comunicar diretamente com a Internet a menos que forneçamos um meio para isso | |||
# Na versão atual, todos os hosts Mininet compartilham o sistema de arquivo de host e espaçõ PID; isto demonstra que deve se ter cuidado para a execução de ''daemons'' que exigem configuração /etc e requer atenção para não se destruir os processos errados. | |||
# Ao contrário de um simulador, Mininet não tem efetivamente uma forte noção do tempo virtual, suas medidas de tempo são baseadas no tempo real e portanto resultados mais rápidos que o tempo real (exemplo, redes 100 Gbps) não podem ser fácilmente emulados) | |||
<br> | |||
= Referências = | |||
<br> | |||
* mininet.org/ | |||
* github.com/mininet/mininet | |||
* github.com/mininet/mininet/wiki/Introduction-to-Mininet | |||
* github.com/CPqD/ofsoftswitch13/wiki/Dpctl-Documentation | |||
* archive.openflow.org/wk/index.php/OpenFlow_Tutorial | |||
* eventos.redclara.net/indico/getFile.py/access?contribId=1&resId=3&materialId=slides&confId=197 | |||
<br> | |||
= Apresentação Felipe = | |||
*[[Arquivo:mininetFelipe.pdf]] | |||
*[[Arquivo:mininetFelipe.odp]] | |||
= Cenários construídos = | |||
== Primeiro Cenário == | |||
[[Arquivo: primeirocenariomininet.png|center|frame|]] | |||
Edição atual tal como às 17h12min de 2 de dezembro de 2013
Mininet
- Mininet é um emulador de rede que processa um conjunto de terminais, switches, roteadores e links em um único kernel Linux
- Cria uma rede visual realística, processando kernel real, switches e código de aplicação em uma única máquina (VM, Cloud ou nativa), em segundos, com um simples comando
- Um host Mininet porta-se como uma máquina real permitindo usar ssh e processar programas arbitrários
- Os programas podem enviar pacotes através do que se parece com uma interface Ethernet real com um link num certo atraso e numa certa velocidade
- Pacotes são processados pelo que se parece com um switch ou roteador Ethernet real ou ainda um middlebox com uma dada quantitade de enfileiramento
- Quando dois programas, como um cliente iperf e servidor, se comunicam através do Mininet, o desempenho medido pode ser o de duas (lentas) máquinas nativas.
- Devido à facil interação com a rede, usando CLI Mininet (e API) e ainda pela simples customização, compartilhamento com outros e implantação em hardware reais, Mininet é frequentemente usada em desenvolvimento, ensino e pesquisa.
- Mininet também é uma excelente maneira de desenvolver, compartilhar e experimentar os sistemas OpenFlow e SDN - Software-Defined Networking.
Porque Mininet é interessante?
- É rápido já que iniciar uma rede simples pode ser feito em poucos segundos. O esquema de processar-editar-depurar é ágil
- Pode-se criar topologias customizadas: um único switch, uma Internet ampla, um backbone Stanford, um data center ou qualquer outra coisa
- É possível executar programas reais: qualquer coisa que rode no Linux está disponível para ser processado, de servidores web para janelas TCP sob monitoramento de ferramentas como o Wireshark
- Encaminhamento de pacotes podem ser customizados: Switches Mininet são programáveis usando protocolo OpenFlow. Projetos SDN customizados que processam o Mininet podem ser facilmente transferidos para hardware switches OpenFlow pelo encaminhamento de pacotes line-rate
- Mininet pode ser executado no laptop, em um servidor, em uma VM ou em um box Linux nativo (Mininet é incluído no Ubuntu 12.10+!), ou na nuvem (exemplo Amazon EC2.)
- Os resultados replicados podem ser compartilhados: qualquer computador pode processar seu código uma vez que você o desempacote.
- É fácilmente usado: Podemos criar e processar experimentos Mininet usando simples scripts Python (ou mais complexos, se necessário)
- Mininet é um projeto OpenSource: seu código pode ser examinado em https://github.com/mininet. Permite modificação, correção, requisição de novas funcionalidades e ainda a submissão de patches.
- Está em franco desenvolvimento: Se não funcionar por alguma razão, pode-se participar das discussões e informar à comunidade. Todos que encontram bugs são encorajados a submeter correções atualizando o github sobre casos de testes reproduzíveis.
Quais as limitações do Mininet
- Mininet é uma ótima ferramenta mas possui algumas limitações, por exemplo:
- Processar em um único sistema é conveniente mas isto impõe limites de recursos: Se seu servidor tem 3 GHz de CPU e pode comutar sobre 3 Gbps de tráfego simulado, estes recursos precisarão ser balanceados e compartilhado ao longo dos switvhes e hosts virtuais
- Mininet usa um kernel Linux único para todos os hosts virtuais; isto mostra que não se pode executar programas que dependem de BSD, Windows ou outros kernels de sistemas operacionais
- Mininet não irá escrever seu controlador OpenFlow; se você precisar customizar roteamento ou procedimentos de comutação, será necessário encontrar ou desenvolver um controlador com os aspectos necessários
- Atualmente, Mininet não faz NAT fora do ambiente. Isto mostra que seus hosts virtuais estarão isolados por default de sua rede; isto é normalmente bom mas sinaliza que seus hosts não podem se comunicar diretamente com a Internet a menos que forneçamos um meio para isso
- Na versão atual, todos os hosts Mininet compartilham o sistema de arquivo de host e espaçõ PID; isto demonstra que deve se ter cuidado para a execução de daemons que exigem configuração /etc e requer atenção para não se destruir os processos errados.
- Ao contrário de um simulador, Mininet não tem efetivamente uma forte noção do tempo virtual, suas medidas de tempo são baseadas no tempo real e portanto resultados mais rápidos que o tempo real (exemplo, redes 100 Gbps) não podem ser fácilmente emulados)
Referências
- mininet.org/
- github.com/mininet/mininet
- github.com/mininet/mininet/wiki/Introduction-to-Mininet
- github.com/CPqD/ofsoftswitch13/wiki/Dpctl-Documentation
- archive.openflow.org/wk/index.php/OpenFlow_Tutorial
- eventos.redclara.net/indico/getFile.py/access?contribId=1&resId=3&materialId=slides&confId=197
Apresentação Felipe
Cenários construídos
Primeiro Cenário

