Specialization Software-defined Networking (Winter 2015/2016): Difference between revisions

Jump to navigation Jump to search
Line 101: Line 101:
==== Exercise I: Data Centers ====
==== Exercise I: Data Centers ====


* Warmup (simple Tree) ($ => commands on VM, > => commands on mininet/pox, Q => Question)
* (30P) Warmup (simple Tree) ($ => commands on VM, > => commands on mininet/pox, Q => Question)
** $ sudo mn --topo tree,3 --mac --arp --switch ovsk --controller remote
** $ sudo mn --topo tree,3 --mac --arp --switch ovsk --controller remote
** $ h1 ping h8 (Q: What do you observe?)
** $ h1 ping h8 (Q: What do you observe?)
Line 109: Line 109:
** $ h1 ping h8 (Q: What do you observe?)
** $ h1 ping h8 (Q: What do you observe?)


* Create your own simple tree
* (40P) Create your own simple tree
** copy dcsimple.py ([https://dl.dropboxusercontent.com/u/1652374/SDN_course_WS2015-2016/Exercises/Ex1/dcsimple.py]) to mininet/custom/
** copy dcsimple.py ([https://dl.dropboxusercontent.com/u/1652374/SDN_course_WS2015-2016/Exercises/Ex1/dcsimple.py]) to mininet/custom/
** modify dcsimple.py to create hosts, switches and connections for a three level tree
** modify dcsimple.py to create hosts, switches and connections for a three level tree
Line 115: Line 115:
** Check with ping
** Check with ping


* Create your own Fattree
* (30P) Create your own Fattree
** copy dcfat.py ([https://dl.dropboxusercontent.com/u/1652374/SDN_course_WS2015-2016/Exercises/Ex1/dcfat.py]) to mininet/custom/
** copy dcfat.py ([https://dl.dropboxusercontent.com/u/1652374/SDN_course_WS2015-2016/Exercises/Ex1/dcfat.py]) to mininet/custom/
** modify dcfat.py to create a fat tree (level 0: so & s1, level 1: s2 & s3, level 2: s3, s4, s5, s6, Level 3: Hosts)
** modify dcfat.py to create a fat tree (level 0: so & s1, level 1: s2 & s3, level 2: s3, s4, s5, s6, Level 3: Hosts)
Line 124: Line 124:
** check with ping
** check with ping


==== Exercise II: Load balancers ====
* (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.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
*** > xterm h1,h2
*** h1$ Python –m SimpleHTTPServer 80
*** h2$ Python –m SimpleHTTPServer 80
** Get webpage from clients (h3)
*** > xterm h3
*** h3$ Curl 10.0.1.1
** Observe in Pox controller, which server is it connecting to. Continue to obtain webpage from other clients and observe the results
* (60P) Modified Load_balancer
** Now modify ip_loadbalancer.py to select server in a round robin fashio
* Exercise III: Load balancers (contd. exercise II) [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/2.Datacenter_fattree_and_loadbalancing.zip] (Exempt: )


==== Exercise II ====


=== 22 March ===
=== 22 March ===
* Exercise III: Load balancers (contd. exercise II) [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/2.Datacenter_fattree_and_loadbalancing.zip] (Exempt: )
* Exercise IV: Firewall [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/3.Firewall.zip] (Exempt: )
* Exercise IV: Firewall [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/3.Firewall.zip] (Exempt: )