|
|
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 === |