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: 2.726 ]
Por: cristofe coelho lopes da rocha em 01/01/2024
#importando as bibliotecas import pox.openflow.libopenflow_01 as of from pox.core import core from pox.lib.revent import * #chamando o modulo para log log = core.getLogger() class mycontroller(EventMixin): switches = {} def __init__(self): self.listenTo(core.openflow) def _handle_ConnectionUp(self, event): log.debug("Connection UP from %s", event.dpid) mycontroller.switches[event.dpid] = event.connection def _handle_PacketIn(self, event): # Implemente a lógica para lidar com pacotes aqui pass def launch(): core.openflow.miss_send_len = 1024 core.registerNew(mycontroller)
import pox.openflow.libopenflow_01 as of from pox.core import core from pox.lib.revent import * from pox.lib.addresses import EthAddr, IPAddr from pox.lib.util import dpidToStr log = core.getLogger() class mycontroller(EventMixin): switches = {} def __init__(self): self.listenTo(core.openflow) def _handle_ConnectionUp(self, event): log.debug("Connection UP from %s", event.dpid) mycontroller.switches[event.dpid] = event.connection def _handle_PacketIn(self, event): packet = event.parsed #Drop packetpass msg = of.ofp_flow_mod() msg.match.in_port = event.port msg.match.dl_src = packet.src msg.match.dl_dst = packet.dst event.connection.send(msg) log.debug(" Drop packet sw=%s in_port=%s src=%s dst=%s" % (event.dpid, event.port, packet.src, packet.dst)) def launch(): core.openflow.miss_send_len = 1024 core.registerNew(mycontroller)
Melhorando o nível de segurança com chflags
Trabalhando com permutações em ordem lexicográfica crescente
Embutindo imagens nos scripts Python para aplicações Tkinter
Gerar senhas seguras com Python
Monitorando produtos no ML com Python 3 via BeautifulSoup
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Como unir duas coleções de ROMs preservando as versões traduzidas (sem duplicatas)
Como instalar o Telegram Desktop no Ubuntu 24.04
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves