Skip to content

FIUBA - Redes - Trabajo Práctico 2

Notifications You must be signed in to change notification settings

NicoDeGiacomo/REDES-TP2

Repository files navigation

Index

  1. Requirements
  2. Installation
  3. Mininet Guide
  4. Run Instructions

Requirements

pox requires:

  • 3.8 <= python <= 3.9

Installation

Install Mininet package

pip install mininet

Init and update submodules

git submodule init
git submodule update

Mininet Guide

Mininet Guide

Run Instructions

Levantar POX con el custom firewall. Correr comando dentro de la carpeta REDES-TP2/

PYTHONPATH=. pox-python3/pox.py log.level --INFO openflow.of_01 forwarding.l2_learning firewall --rules=rules.json

Levantar la topología custom

sudo mn --custom ./topology.py --topo chain_topo,3,2,2 --mac --arp --switch ovsk --controller remote

Useful commands

Abrir xterm para los hosts.

mininet> xterm h1
mininet> xterm h2

En el host h1, indicar que actúe como servidor

iperf -s -p 5001

En el host h2, indicar que actúe como cliente y se conecte al servidor

iperf -c 10.0.0.1 -p 5001

Reglas

Usando 4 host y 5 switch:

mininet> pingall
*** Ping: testing ping reachability
h1 -> h2 X h4 
h2 -> h1 h3 h4 
h3 -> X h2 h4 
h4 -> h1 h2 h3 
*** Results: 16% dropped (10/12 received)
  1. Se deben descartar todos los mensajes cuyo puerto destino sea 80.

    host 4, servidor escuchando en el puerto 80:

    iperf -s -p 80

    host 1, cliente conectandose al servidor en el puerto 80:

    iperf -c 10.0.0.4 -p 80 # conected failed: Operation now in progress

    Con cualquier otro puerto se establece conexión.

  2. Se deben descartar todos los mensajes que provengan del host 1, tengan como puerto destino el 5001, y estén utilizando el protocolo UDP.

    host 2, servidor escuchando en el puerto 5001:

    iperf -u -s -p 5001 

    host 1, cliente conectandose al servidor en el puerto 5001:

    iperf -u -c 10.0.0.2 -p 5001 # WARNING: did not receive ack of last datagram after 10 tries.

    Con cualquier otro puerto se establece conexión.

  3. Se deben elegir dos hosts cualesquiera y los mismos no deben poder comunicarse de ninguna forma. (Se eligio h1 y h3)

    host 1, servidor escuchando en el puerto 9000:

    iperf -s -p 9000

    host 3, cliente conectandose al servidor en el puerto 9000:

    iperf -c 10.0.0.1 -p 9000 # conected failed: Operation now in progress

    Funciona de igual manera si se invierten los roles.

About

FIUBA - Redes - Trabajo Práctico 2

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages