Luis Baldellon

Generation

generate functionFri, 13 Dec 2024

crea una topologia de red para Mininet que tenga los siguientes aspectos: 1 controlador ryu 2 switches ovs conectados entre si y conectados al controlador 4 host para el s1 y 8 para el s2 3 Vlans, Vlan10 valn20 y vlan30 vlan 20 y 30 estaran en el s2 y vlan 10 en s1 ips para vlan 10 asigan a los host desde el rango 192.168.0.1 - 192.168.0.62/26 vlan 20 asignas 192.168.0.65 - 192.168.0.126 vlan 30 asignas del rango 192.168.0.129 - 192.168.0.190 y aparte genera un script para el controlador ryu que solo deje haya comunicacion entre los hosts que estan en las vlans 20 y 30 entre si, y que los hosts de la vlan 10 se comuniquen entre si pero no con el resto

**Topología de red en Mininet** Primero, debemos crear la topología de red en Mininet. Para ello, crearemos un archivo llamado `topologia.py` con el siguiente contenido: ```python from mininet.topo import Topo from mininet.net import Mininet from mininet.node import Switch, Host from mininet.link import Link, Intf from mininet.util import dumpNodeConnections class Topologia(Topo): def __init__(self): super(Topo, self).__init__() # Crear controlador Ryu self.controller = self.addController('c0') # Crear switches OVS self.s1 = self.addSwitch('s1', dpid='0000000000000001') self.s2 = self.addSwitch('s2', dpid='0000000000000002') # Crear hosts self.h10 = self.addHost('h10', ip='192.168.0.1/26') self.h11 = self.addHost('h11', ip='192.168.0.2/26') self.h12 = self.addHost('h12', ip='192.168.0.3/26') self.h13 = self.addHost('h13', ip='192.168.0.4/26') self.h14 = self.addHost('h14', ip='192.168.0.5/26') self.h15 = self.addHost('h15', ip='192.168.0.6/26') self.h16 = self.addHost('h16', ip='192.168.0.7/26') self.h17 = self.addHost('h17', ip='192.168.0.8/26') self.h18 = self.addHost('h18', ip='192.168.0.9/26') self.h19 = self.addHost('h19', ip='192.168.0.10/26') self.h20 = self.addHost('h20', ip='192.168.0.11/26') self.h21 = self.addHost('h21', ip='192.168.0.12/26') self.h22 = self.addHost('h22', ip='192.168.0.13/26') self.h23 = self.addHost('h23', ip='192.168.0.14/26') self.h24 = self.addHost('h24', ip='192.168.0.15/26') self.h25 = self.addHost('h25', ip='192.168.0.16/26') self.h26 = self.addHost('h26', ip='192.168.0.17/26') self.h27 = self.addHost('h27', ip='192.168.0.18/26') self.h28 = self.addHost('h28', ip='192.168.0.19/26') self.h29 = self.addHost('h29', ip='192.168.0.20/26') self.h30 = self.addHost('h30', ip='192.168.0.21/26') self.h31 = self.addHost('h31', ip='192.168.0.22/26') self.h32 = self.addHost('h32', ip='192.168.0.23/26') self.h33 = self.addHost('h33', ip='192.168.0.24/26') self.h34 = self.addHost('h34', ip='192.168.0.25/26') self.h35 = self.addHost('h35', ip='192.168.0.26/26') self.h36 = self.addHost('h36', ip='192.168.0.27/26') self.h37 = self.addHost('h37', ip='192.168.0.28/26') self.h38 = self.addHost('h38', ip='192.168.0.29/26') self.h39 = self.addHost('h39', ip='192.168.0.30/26') self.h40 = self.addHost('h40', ip='192.168.0.31/26') self.h41 = self.addHost('h41', ip='192.168.0.32/26') self.h42 = self.addHost('h42', ip='192.168.0.33/26') self.h43 = self.addHost('h43', ip='192.168.0.34/26') self.h44 = self.addHost('h44', ip='192.168.0.35/26') self.h45 = self.addHost('h45', ip='192.168.0.36/26') self.h46 = self.addHost('h46', ip='192.168.0.37/26') self.h47 = self.addHost('h47', ip='192.168.0.38/26') self.h48 = self.addHost('h48', ip='192.168.0.39/26') self.h49 = self.addHost('h49', ip='192.168.0.40/26') self.h50 = self.addHost('h50', ip='192.168.0.41/26') self.h51 = self.addHost('h51', ip='192.168.0.42/26') self.h52 = self.addHost('h52', ip='192.168.0.43/26') self.h53 = self.addHost('h53', ip='192.168.0.44/26') self.h54 = self.addHost('h54', ip='192.168.0.45/26') self.h55 = self.addHost('h55', ip='192.168.0.46/26') self.h56 = self.addHost('h56', ip='192.168.0.47/26') self.h57 = self.addHost('h57', ip='192.168.0.48/26') self.h58 = self.addHost('h58', ip='192.168.0.49/26') self.h59 = self.addHost('h59', ip='192.168.0.50/26') self.h60 = self.addHost('h60', ip='192.168.0.51/26') self.h61 = self.addHost('h61', ip='192.168.0.52/26') self.h62 = self.addHost('h62', ip='192.168.0.53/26') # Conectar switches y hosts self.addLink(self.s1, self.s2) self.addLink(self.s1, self.h10) self.addLink(self.s1, self.h11) self.addLink(self.s1, self.h12) self.addLink(self.s1, self.h13) self.addLink(self.s1, self.h14) self.addLink(self.s1, self.h15) self.addLink(self.s1, self.h16) self.addLink(self.s1, self.h17) self.addLink(self.s1, self.h18) self.addLink(self.s1, self.h19) self.addLink(self.s1, self.h20) self.addLink(self.s1, self.h21) self.addLink(self.s1, self.h22) self.addLink(self.s1, self.h23) self.addLink(self.s1, self.h24) self.addLink(self.s1, self.h25) self.addLink(self.s1, self.h26) self.addLink(self.s1, self.h27) self.addLink(self.s1, self.h28) self.addLink(self.s1, self.h29) self.addLink(self.s1, self.h30) self.addLink(self.s1, self.h31) self.addLink(self.s1, self.h32) self.addLink(self.s1, self.h33) self.addLink(self.s1, self.h34) self.addLink(self.s1, self.h35) self.addLink(self.s1, self.h36) self.addLink(self.s1, self.h37) self.addLink(self.s1, self.h38) self.addLink(self.s1, self.h39) self.addLink(self.s1, self.h40) self.addLink(self.s1, self.h41) self.addLink(self.s1, self.h42) self.addLink(self.s1, self.h43) self.addLink(self.s1, self.h44) self.addLink(self.s1, self.h45) self.addLink(self.s1, self.h46) self.addLink(self.s1, self.h47) self.addLink(self.s1, self.h48) self.addLink(self.s1, self.h49) self.addLink(self.s1, self.h50) self.addLink(self.s1, self.h51) self.addLink(self.s1, self.h52) self.addLink(self.s1, self.h53) self.addLink(self.s1, self.h54) self.addLink(self.s1, self.h55) self.addLink(self.s1, self.h56) self.addLink(self.s1, self.h57) self.addLink(self.s1, self.h58) self.addLink(self.s1, self.h59) self.addLink(self.s1, self.h60) self.addLink(self.s1, self.h61) self.addLink(self.s1, self.h62) self.addLink(self.s2, self.h65, ip='192.168.0.65/26') self.addLink(self.s2, self.h66, ip='192.168.0.66/26') self.addLink(self.s2, self.h67, ip='192.168.0.67/26') self.addLink(self.s2, self.h68, ip='192.168.0.68/26') self.addLink(self.s2, self.h69, ip='192.168.0.69/26') self.addLink(self.s2, self.h70, ip='192.168.0.70/26') self.addLink(self.s2, self.h71, ip='192.168.0.71/26') self.addLink(self.s2, self.h72, ip='192.168.0.72/26') self.addLink(self.s2, self.h73, ip='192.168.0.73/26') self.addLink(self.s2, self.h74, ip='192.168.0.74/26') self.addLink(self.s2, self.h75, ip='192.168.0.75/26') self.addLink(self.s2, self.h76, ip='192.168.0.76/26') self.addLink(self.s2, self.h77, ip='192.168.0.77/26') self.addLink(self.s2, self.h78, ip='192.168.0.78/26') self.addLink(self.s2, self.h79, ip='192.168.0.79/26') self.addLink(self.s2, self.h80, ip='192.168.0.80/26') self.addLink(self.s2, self.h81, ip='192.168.0.81/26') self.addLink(self.s2, self.h82, ip='192.168.0.82/26') self.addLink(self.s2, self.h83, ip='192.168.0.83/26') self.addLink(self.s2, self.h84, ip='192.168.0.84/26') self.addLink(self.s2, self.h85, ip='192.168.0.85/26') self.addLink(self.s2, self.h86, ip='192.168.0.86/26') self.addLink(self.s2, self.h87, ip='192.168.0.87/26') self.addLink(self.s2, self.h88, ip='192.168.0.88/26') self.addLink(self.s2, self.h89, ip='192.168.0.89/26') self.addLink(self.s2, self.h90, ip='192.168.0.90/26') self.addLink(self.s2, self.h91, ip='192.168.0.91/26') self.addLink(self.s2, self.h92, ip='192.168.0.92/26') self.addLink(self.s2, self.h93, ip='192.168.0.93/26') self.addLink(self.s2, self.h94, ip='192.168.0.94/26') self.addLink(self.s2, self.h95, ip='192.168.0.95/26') self.addLink(self.s2, self.h96, ip='192.168.0.96/26') self.addLink(self.s2, self.h97, ip='192.168.0.97/26') self.addLink(self.s2, self.h98, ip='192.168.0.98/26') self.addLink(self.s2, self.h99, ip='192.168.0.99/26') self.addLink(self.s2, self.h100, ip='192.168.0.100/26') self.addLink(self.s2, self.h101, ip='192.168.0.101/26') self.addLink(self.s2, self.h102, ip='192.168.

Questions about programming?Chat with your personal AI assistant