783
edits
No edit summary |
|||
Line 84: | Line 84: | ||
** Short report on the group discussion papers | ** Short report on the group discussion papers | ||
** Report on the paper presented by team-X for the final presentation | ** Report on the paper presented by team-X for the final presentation | ||
== Exercises == | |||
* [https://openflow.stanford.edu/display/ONL/POX+Wiki Pox/Openflow Tutorial] | |||
* What to Submit: source code along with screenshots for those who are not exempted | |||
=== 21 March === | |||
* Exercise I: Data Centers [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/1.Data_centers.zip] (exempt: all) | |||
* Exercise II: Fattree and Generic [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/2.Datacenter_fattree_and_loadbalancing.zip] (exempt: Guryash, Sameer) | |||
=== 22 March === | |||
* Exercise III: Load balancers (contd. exercise II) [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/2.Datacenter_fattree_and_loadbalancing.zip] (Exempt: All except Thomas) | |||
* Exercise IV: Firewall [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/3.Firewall.zip] (Exempt: All except Thomas, Gurjinder) | |||
=== 23 March === | |||
* Exercise V: Firewall (contd. ) [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/3.Firewall.zip] (Exempt: ALL) | |||
* Exercise VI: Pyretic firewall [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/4.pyretic_firewall.zip] (Exempt: Khawar, Omar, Martin, Thomas, Sameer, Eeran) | |||
=== 24 March === | |||
* Exercise VII: Kinetic Firewall [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/Exercises/kinetic.pdf Instructions], [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/Exercises/kinetic_gardenwall.py Starting_Code] | |||
(Exempt: Khawar, Omar, Martin, Thomas, Sameer, Eeran) | |||
* Exercise VIII: Kinetic like firewall using pox [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/Exercises/pox_gardenwall.pdf instructions] [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/Exercises/pox_gardenwall.py Starting_Code][https://openflow.stanford.edu/display/ONL/POX+Wiki#POXWiki-ofp_flow_mod-Flowtablemodification Tutorial] | |||
(Exempt: Khawar, Omar, Martin, Thomas, Sameer, Eeran) | |||
=== 25 March === | |||
* Exercise IX: Pyretic Debugging (Exempt: Omar, Martin, Thomas, Sameer, Eeran) | |||
'''HINT:''' You might have to use the "$ dpctl dump-flows tcp:127.0.0.1:6634" or "mininet> dpctl dump-flows" command frequently. | |||
** In this debugging exercise, we take solutions available in the Internet for the gardenwall problem and try to fix bugs in it. | |||
** We have done kinetic firewall in exercise VII and imitated the same firewall using pox in exercise VIII. Now, we will imitate the same firewall using pyretic. | |||
** The basic solution is taken from the Internet [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/Exercises/pyretic_gardenwall_internetsolution1.py], test if it is able to block h1 when "infected". Note that we will only use the "infected == True" for this exercise. | |||
*** Copy the above code into /home/mininet/pyretic/pyretic/examples as gardenwall_internetsolution.py | |||
*** start controller (in /home/mininet/pyretic folder): pyretic.py pyretic.examples.gardenwall_internetsolution | |||
*** start mininet: sudo mn --controller=remote --topo=single,3 --mac --arp | |||
*** check h1 ping h2 | |||
*** Now infect h1 (in /home/mininet/pyretic/pyretic/kinetic folder): python json_sender.py -n infected -l True --flow="{srcmac=00:00:00:00:00:01}" -a 127.0.0.1 -p 50001 | |||
*** check h1 ping h2. We should be able to observe that this traffic is blocked. | |||
*** Now, we move on to the debugging part | |||
**** check h2 ping h3, what happens? | |||
**** Now, modify the given code to allow h2 traffic to pass through to h3, when h1 is "infected". | |||
** Now, check if the "exempt" case is working fine too | |||
** if time permits, check and improve code to allow h1 to ping h2 | |||
** If time permits, try fixing [https://dl.dropboxusercontent.com/u/1652374/SDN_Course/Exercises/pyretic_gardenwall_internetsolution.py this] code for the "infected" case. | |||
[[Category:Courses]] | [[Category:Courses]] |
edits