Skip to content

Latest commit

 

History

History
118 lines (88 loc) · 3.54 KB

README.md

File metadata and controls

118 lines (88 loc) · 3.54 KB

TP2-Intro-A5

TP N°2: Software-Defined Networks - OpenFlow

El presente trabajo tiene como objetivo el diseño de una red virtual con nuestra propia topologoia utilizando la herramienta Mininet. Ademas se estableceran politicas propias de envio y clasificacion de paquetes. Para llevar a cabo esto ultimo utilizaremos el controlador POX proporcionado por OpenFlow para gestionar y controlar el flujo de datos en la red. Como parte del proceso de validacion y evaluacion de la red diseñada, se realizaran pruebas utilizando las herramientas Iperf y Wireshark.

Integrantes

Dependencias

Python (https://www.python.org/downloads/)

Mininet & Openswitch (http://mininet.org/download/)

sudo apt-get install mininet
sudo apt-get install openvswitch-switch
sudo service openvswitch-switch start

Xterm

sudo apt install xterm

Ejecución

Antes de probar la topología debemos asegurarnos de levantar el controlador con el siguiente comando

python3 pox.py log.level --DEBUG openflow.of_01 forwarding.l2_learning controller

Luego si podremos correr nuestra topologia:

sudo mn --custom ./topology.py --topo MyTopo,n=2 --mac --arp -x --switch ovsk --controller remote

Tests Topología

Estos tests validan que las cantidades de hosts, switches y enlaces sean las correctas dados los parametros de entrada.

python3 tests.py

Tests Firewall

Los mensajes hacia el puerto 80 son filtrados por el firewall

Para establecer una conexión TCP sobre el puerto 80 desde el host1 hacia el host3.

En la interfaz del host 3 indicamos que queremos inciar un servidor que escuche en el puerto 80.

iperf -s -p 80

En la interfaz del host 1 indicamos que queremos iniciar un cliente y hacer un request hacia el host 3 hacia el puerto 80.

iperf -c 10.0.0.3 -p 80

Validamos en la interfaz del host 3 que no arribó ningun mensaje.


Los mensajes que provienen del host1 tienen puerto destino 5001 y utilizan UDP son filtrados por el firewall.

En la interfaz del host 3 indicamos que queremos iniciar un servidor UDP que escuche en el puerto 5001.

iperf -u -s -p 5001

En la interfaz del host 1 indicamos que queremos inciar un cliente que envie un paquete UDP al puerto 5001 del host3.

iperf -u -c 10.0.0.3 -p 5001

Validamos en la interfaz del host 3 que no arribó ningun mensaje.


Los mensajes entre los hosts 2 y 4 son filtrados por el firewall.

En la interfaz del host 2 indicamos que queremos iniciar un servidor UDP que escuche en el puerto 8080.

iperf -u -s -p 8080

En la interfaz del host 4 indicamos que queremos inicar un cliente que envie un paquete UDP hacia el puerto 8080 del host 2.

iperf -u -c 10.0.0.2 -p 8080

Validamos en la interfaz del host 2 que no arribó ningun mensaje.

En la interfaz del host 4 indicamos que queremos iniciar un servidor UDP que escuche en el puerto 8080.

iperf -u -s -p 8080

En la interfaz del host 2 indicamos que queremos inicar un cliente que envie un paquete UDP hacia el puerto 8080 del host 4.

iperf -u -c 10.0.0.4 -p 8080

Validamos en la interfaz del host 4 que no arribó ningun mensaje.