Luis Baldellon

Generation

generate functionFri, 13 Dec 2024

genera una topologia de red para mininet con las siguientes caracteristicas: 2 switch ovs 4 host en el s1 y 8 host en el s2, el s2 cuenta con 2 vlans la 20 y la 30, asi q realiza la segmentacion de la red 192.168.0.0/24 en 4 sub redes y distribuye las segmentaciones en la vlan 10 en el s1 y las otras 2 en s2, y que se pueda conectar al controlador ryu

Aquí te muestro un ejemplo de cómo crear una topología de red en Mininet con las características que mencionaste: ```python from mininet.topo import Topo from mininet.net import Mininet from mininet.node import OVSSwitch, Controller from mininet.link import TCLink from mininet.util import dumpNodeConnections class Topologia(Topo): def __init__(self): # Llamar al constructor de la clase padre super(Topologia, self).__init__() # Crear los switches s1 = self.addSwitch('s1', cls=OVSSwitch, dpid='0000000000000001') s2 = self.addSwitch('s2', cls=OVSSwitch, dpid='0000000000000002') # Crear los hosts h1 = self.addHost('h1', ip='192.168.0.1/24') h2 = self.addHost('h2', ip='192.168.0.2/24') h3 = self.addHost('h3', ip='192.168.0.3/24') h4 = self.addHost('h4', ip='192.168.0.4/24') h5 = self.addHost('h5', ip='192.168.0.5/24') h6 = self.addHost('h6', ip='192.168.0.6/24') h7 = self.addHost('h7', ip='192.168.0.7/24') h8 = self.addHost('h8', ip='192.168.0.8/24') h9 = self.addHost('h9', ip='192.168.0.9/24') h10 = self.addHost('h10', ip='192.168.0.10/24') h11 = self.addHost('h11', ip='192.168.0.11/24') h12 = self.addHost('h12', ip='192.168.0.12/24') # Conectar los hosts al switch s1 self.addLink(h1, s1) self.addLink(h2, s1) self.addLink(h3, s1) self.addLink(h4, s1) # Conectar los hosts al switch s2 self.addLink(h5, s2) self.addLink(h6, s2) self.addLink(h7, s2) self.addLink(h8, s2) self.addLink(h9, s2) self.addLink(h10, s2) self.addLink(h11, s2) self.addLink(h12, s2) # Conectar los switches self.addLink(s1, s2, cls=TCLink, bw=1000, delay='10ms', max_queue_size=1000, use_htb=True) # Configurar las VLANs en el switch s2 self.addVlan(s2, vlan=20) self.addVlan(s2, vlan=30) # Configurar las subredes en el switch s2 self.addSubnet(s2, vlan=20, ip='192.168.0.0/24', prefixLen=24) self.addSubnet(s2, vlan=30, ip='192.168.1.0/24', prefixLen=24) # Configurar las subredes en el switch s1 self.addSubnet(s1, vlan=10, ip='192.168.2.0/24', prefixLen=24) self.addSubnet(s1, vlan=10, ip='192.168.3.0/24', prefixLen=24) def main(): topo = Topologia() net = Mininet(topo=topo, controller=None) # Crear el controlador Ryu c0 = net.addController('c0', controller=Controller, ip='127.0.0.1', port=6633) # Iniciar la red net.start() # Conectar el controlador Ryu a la red net.addLink(c0, 's1') # Imprimir las conexiones de los hosts dumpNodeConnections(net.hosts) # Esperar a que se presione una tecla raw_input('Presione una tecla para continuar...') # Detener la red net.stop() if __name__ == '__main__': main() ``` Este código crea una topología de red con dos switches (s1 y s2), cuatro hosts en el switch s1 y ocho hosts en el switch s2. El switch s2 cuenta con dos VLANs (20 y 30) y se configuran cuatro subredes en el switch s1 y cuatro subredes en el switch s2. El controlador Ryu se conecta a la red y se inicia la red. Finalmente, se imprime las conexiones de los hosts y se espera a que se presione una tecla antes de detener la red. Recuerda que debes tener instalado Mininet y Ryu en tu sistema para ejecutar este código.

Questions about programming?Chat with your personal AI assistant