Giter VIP home page Giter VIP logo

load_balancer's Introduction

load_balancer

Implementar una aplicación SDN completa, específicamente un balanceador de carga en POX

Handle packet in messages from the switch to implement above algorithm.


To behave as a transparent proxy between the clients and the servers
the load balancer has to perform the following tasks:

1. Reply client ARP requests with the fake MAC from the switch/frontend/load-balancer when clients 
    search for the MAC of the switch/frontend IP. Please save the information of the ARP request; namely,
    source MAC of the client and switch input port of the ARP request
    packet, so that when the load balancer has to direct flows to the
    clients, it will already know the address and the output port to forward the packages.

2. Reply pool servers ARP request to client IPs with messaged ARP responses. The responses will contain 
    the fake MAC address associated with the load balancer. Note that by now, the load balancer
    should already know the real MAC address of the client.

3. The load balancer should forward flows from the clients towards
    the servers using the following balancing approaches: random and
    round-robin. All packages received by the pool servers will have
    the fake MAC address of the load balancer and the IP of the client
    unmodified.

4. Forward the packages from the pool servers to the clients after updating the source IP and MAC 
    addresses from that of the pool servers
    to the addresses of the load balancer. Clients should never know
    about the existence of the pool servers and cannot see any package
    from them. In other words, the load balancer will be completely
    transparent to them.

::To copy load_balancer.py to mininet virtual machine:

scp -P 3022 "Documents\Unizar\Período 1\Red. Sis Distribuidos\redes-practica2\load_balancer\load_balancer.py" mininet@localhost:/home/mininet/pox/pox/

::To copy topology.py to mininet virtual machine:

scp -P 3022 "Documents\Unizar\Período 1\Red. Sis Distribuidos\redes-practica2\load_balancer\topology.py" mininet@localhost:/home/mininet/mininet/examples

To run it on the virtual machine:

python pox.py log.level --DEBUG load_balancer

load_balancer's People

Contributors

charlesochoa avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.