Skip to content

Latest commit

 

History

History
64 lines (46 loc) · 2.21 KB

README.md

File metadata and controls

64 lines (46 loc) · 2.21 KB

Internet & Multimedia Project

Mininet/POX (Ubuntu 22.04)

Requirements

Three basic applications:

Note: assume pox folder is into the home folder

  1. Load Balancer
    Use POX controller as a load balancer. Follow these steps:

    • Open a terminal and move to the load_balancer folder:

    • Launch the Mininet topology with:

      sudo python3 lb_topo.py

    • Open a new terminal and launch the POX controller with:

      python3 /home/pox/pox.py log.level --DEBUG samples.pretty_log misc.ip_loadbalancer --ip=10.0.1.1 --servers=10.0.0.1,10.0.0.2

    • In the Mininet CLI run many times (replace X with the host number):

      hX curl 10.0.1.1

    • Watch the outputs/redirects on the POX terminal

  2. Firewall
    Use POX controller as a network firewall. Follow these steps:

    • Copy the firewall.py file into the pox/pox/misc folder

    • Edit firewall.py rules list, to set your firewall rules

    • Open a terminal and launch the POX controller with:

      python3 /home/pox/pox.py log.level --DEBUG samples.pretty_log openflow.of_01 forwarding.l2_learning misc.firewall

    • Open a new terminal and move to the firewall folder

    • Launch the Mininet topology with:

      sudo python3 firewall_topo.py

    • In the Mininet CLI run:

      pingall

    • Watch the failed pings, according to the set firewall rules

  3. Routing
    Use POX controller to forward traffic as a router. Follow these steps:

    • Open a terminal and launch the POX controller with:

      python3 home/pox/pox.py log.level --DEBUG samples.pretty_log forwarding.l2_pairs

    • Open a new terminal and move to the routers folder

    • Launch the Mininet topology with:

      sudo python3 router_topo.py

    • In the Mininet CLI, run:

      pingall

      h1 traceroute h2

    • In the Mininet CLI, simulate a network/link failure with:

      link r1 r2 down

    • In the Mininet CLI, run again:

      pingall

      h1 traceroute h2

    • Watch the new routes, network is still working