Exercise: Load balancers

  • Setup will be as shown in Figure [1]
  • (40P) Pre-defined servers
    • AIM: Http requests from different clients will be directed to different pre-defined servers
  $ sudo mn --topo single,6 --mac --arp --controller remote
  $./pox/pox.py log.level --DEBUG misc.ip_loadbalancer --ip=10.0.1.1 --servers=10.0.0.1,10.0.0.2   
    • Start HTTP servers on h1, h2
  mininet> xterm h1
  mininet> xterm h2

  h1$ python –m SimpleHTTPServer 80
  h2$ python –m SimpleHTTPServer 80
    • Get webpage from clients (h3)
  mininet> xterm h3
  h3$ curl 10.0.1.1
    • Observe in Pox controller, which server is it connecting to. Continue to obtain webpage from the same client and one other client and observe the results
      • Are both servers getting an equal share
  • (60P) Modified Load_balancer
    • Now modify pox/pox/misc/ip_loadbalancer.py to select server in a round robin fashion