Redes definidas por Software com Mininet e POX - Criando meu primeiro Controlador

A proposta deste estudo é servir como guia básico para iniciantes com redes SDN. O propósito não é esgotar o assunto, e sim traçar um passo a passo na arte de redes de computadores e de sensores utilizando controladores. Para desenvolvimento deste estudo foi considerado que o leitor tem conhecimento básico em protocolos de rede e sistemas operacionais.

[ Hits: 1.975 ]

Por: cristofe coelho lopes da rocha em 01/01/2024


Entendendo o quebra-cabeças



Nos últimos anos, as Redes Definidas por Software (Do Inglês Software Defined Networking - SDN) ganharam força com o objetivo de trazer escalabilidade e programabilidade para a arquitetura de rede e, assim, simplificar o gerenciamento de rede, possibilitando a inovação em comunicação. SDN é uma proposta de rede emergente introduzida com o objetivo de superar a limitação das infraestruturas de rede tradicionais.

O objetivo é separar os planos de dados e controle flexibilizando a lógica de controle dos switches e roteadores, assim os switches de rede se tornam simples dispositivos de encaminhamento e a lógica de controle movida para um controlador externo logicamente centralizado (XIA et. al, 2014 | CHAIB et. al, 2021 | JAFARIAN et. al, 2021 | RAMADONA et. al, 2015).


No modelo de estado de rede os aplicativos (Fig.1 - application layer) são capazes de fornecer serviços sem conhecimento do hardware subjacente ou topologia (Fig.1 - infrastructure layer) por meio de protocolos de encaminhamento de dados (Fig.1 - control layer), tais como como OpenFlow. O protocolo de controle de fluxo OpenFlow descreve duas abordagens de gerenciamento diferentes para preencher tabelas de fluxo: proativa e reativa.

O modo reativo é aplicado quando os pacotes recebidos não correspondem a nenhuma entrada de fluxo. Os pacotes são enviados ao controlador, que instala as regras de volta no switch. A abordagem reativa é um modelo mais poderoso porque o controlador pode implementar algum tipo de lógica que não pode ser representada em tabelas de fluxo. Em contraste, o modo proativo proporciona melhor desempenho porque evita a latência extra no primeiro pacote do fluxo (RAMADONA et. al, 2015).

A proposta deste estudo é servir como guia básico para iniciantes com redes SDN. O propósito não é esgotar o assunto, e sim traçar um passo a passo na arte de redes de computadores e de sensores utilizando controladores.

Para desenvolvimento deste estudo foi considerado que o leitor tem conhecimento básico em protocolos de rede e sistemas operacionais. Caso não tenha, sugiro baixar o GNU/Linux Debian ou Slackware ou mesmo o FreeBSD e exercitar um pouco o uso de sistemas operacionais em command line (linha de comando). Além disso, pesquisar sobre protocolo de rede como TCP/IP e de encaminhamento de fluxo de pacotes como o OpenFlow (OpenFlow Especification vv1.3.0).

O cenário foi elaborado com uso do sistema operacional Ubuntu, o emulador de redes Mininet (https://mininet.org/) e o controlador de fluxo de pacotes POX (https://noxrepo.github.io/pox-doc/html/#installing-pox). A rede criada possui 4 hosts, 1 open vswitch e 1 controlador SDN. Para efeito de manipulação da tabela de fluxo foram considerados o repasse de todos os hosts nas portas 22 e 80, servidor ssh e http respectivamente.

    Próxima página

Páginas do artigo
   1. Entendendo o quebra-cabeças
   2. Estruturando a rede com Mininet
   3. Colocando o POX em ação
   4. Considerações e Agradecimentos
Outros artigos deste autor

Festa com SQL injection

Alta disponibilidade com CARP

Varredura bruta com NMAP

Esgotando os recursos

Um dia depois da inundação

Leitura recomendada

Sockets em Python

ISO8583py - Utilizando Python para o tratamento de mensagens ISO8583

Integração do ChatGPT em uma API Python

Gerar senhas seguras com Python

Clicador automático de Tinder com Python

  
Comentários
[1] Comentário enviado por maurixnovatrento em 14/01/2024 - 13:07h


Ótimo artigo.

___________________________________________________________
https://www.youtube.com/@LinuxDicasPro
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts