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

Line 96: Line 96:
** NOTE: There are two "-" (i.e. --) used for options in mininet/pox. In the wiki, sometimes the two lines join up and show as one line.
** NOTE: There are two "-" (i.e. --) used for options in mininet/pox. In the wiki, sometimes the two lines join up and show as one line.


[https://wiki.net.informatik.uni-goettingen.de/w/index.php?title=exercises_dc Exercise_DC]
[https://wiki.net.informatik.uni-goettingen.de/w/index.php?title=exercises_lb Exercise_LB]


[https://wiki.net.informatik.uni-goettingen.de/w/index.php?title=exercises_firewall Exercise_Firewall]
[https://wiki.net.informatik.uni-goettingen.de/w/index.php?title=exercises_firewall Exercise_Firewall]
Line 112: Line 109:


==== Exercise I: Data Centers ====
==== Exercise I: Data Centers ====
 
[https://wiki.net.informatik.uni-goettingen.de/w/index.php?title=exercises_dc Exercise_DC]
* (30P) Warmup (simple Tree) ($ => commands on VM, > => commands on mininet/pox, Q => Question)
** $ sudo mn --topo tree,3 --mac --arp --switch ovsk --controller remote
** $ h1 ping h8 (Q: What do you observe?)
** $ ./pox/pox.py
** $ h1 ping h8 (Q: What do you observe?)
** $ ./pox/pox.py samples.spanning_tree
** $ h1 ping h8 (Q: What do you observe?)
 
* (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/
** modify dcsimple.py to create hosts, switches and connections for a three level tree
** $ sudo mn –-custom dcsimple.py -–topo simple
** Check with ping
 
* (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/
** 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)
** $ sudo mn –-custom dcfat.py -–topo fat
** check with ping
** $ sudo mn –-custom dcfat.py -–topo fat --controller remote
** $ ./pox/pox.py samples.spanning_tree
** check with ping


==== Exercise II: Load balancers ====
==== Exercise II: Load balancers ====
* Setup will be as shown in Figure [https://dl.dropboxusercontent.com/u/1652374/SDN_course_WS2015-2016/Exercises/ex2/Load_balancer-fig.pdf]
[https://wiki.net.informatik.uni-goettingen.de/w/index.php?title=exercises_lb Exercise_LB]
* (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 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


=== 22 March ===
=== 22 March ===
783

edits