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

From NET Wiki
Jump to navigation Jump to search
Line 168: Line 168:


==Due Dates for Reports (E-Mail to Mayutan)==
==Due Dates for Reports (E-Mail to Mayutan)==
'''NOTE:''' Currently, the information below is tentative. I will update and post the final version by early next week.
* Submit your final report (in .pdf format) as well as code (in .py format) as one zipped file with your name.
* Submit your final report (in .pdf format) as well as code (in .py format) as one zipped file with your name.
** subject line of email: Submission of work for Specialization in SDN
** subject line of email: Submission of work for Specialization in SDN

Revision as of 11:54, 27 March 2015

Imbox content.png Note: Please register in FlexNow by today

Details

Workload/ECTS Credits: 150h, 5 ECTS
Module: M.Inf.1230: Specialization Software-defined Networks (SDN)
Lecturer: Dr. Mayutan Arumaithurai
Teaching assistant: tba
Time: March 23-27; 09.00-17.00
Place: IfI 2.101
UniVZ tba


Course Overview

Software-defined networking (SDN) has recently attracted both researchers in academia and big players in communication technologies, and is currently probably the 'hottest' topic in computer networking. This course is a continuation of the "Introduction to SDN" course and we will focus on gaining an advanced knowledge of SDN. The course is organized as a block course. Please see the following "Schedule" table for a detailed structure. The course will focus on reading and understanding recent papers in the SDN field to gain an in depth understanding of the current state of the art and potential research topics. We will also do a lot of exercises to familiarize ourselves with SDN tools.

For all parts of the course, exercises will be provided, in which students must obtain at least 50% of the total points and active participation in the group discussions to be admitted to the examination of this course. The exam is taken by submitting a report of 10-15 pages summarizing the lessons learned during the lectures and exercises as well as the research papers investigated (a LaTeX template will be provided). Depending on the number of attendees, several parts will be conducted in teams of students.

Schedule

Imbox content.png Note: The exercises were changed from the originally planned ones based on the student's experience while doing each excercise and difficulty level. See the "Exercises" section for the final exercises that one needs to submit.
Date Morning Session I Morning Session II Afternoon Session I Afternoon Session II
Time 9:15 - 10:45 11:00 - 12:30 14:00 - 15:30 15:30 -
23.03.2015 Lecture I: Enhancing Data Plane Exercise I: Data Center topology Group Discussion I Exercise II: Simple load balancer
24.03.2015 Lecture II: Northbound API Exercise III: Pox Firewall Group Discussion II Exercise IV: Pyretic Firewall
25.03.2015 Lecture III: Enhancing Data Plane - II Exercise V: Kinetic Firewall Group Discussion III Exercise VI: Kinetic-pox loadbalancer
26.03.2015 Preparation for final presentation Exercise VII: kinetic, pyretic debugging Group Discussion IV Exercise VIII: Service Chaining I
27.03.2015 Group Discussion V (Changed to "Preparation for final presentation") Exercise IX: Service Chaining II Final presentations I Final presentation II

Requirements

  • Basic knowledge in computer networking (e.g., successful completion of the course "Computer Networks") and object oriented programming is required.
  • Completion of the course "Introduction to SDN", exceptions can be obtained on a case by case basis.
  • Each participant is required to actively attend the course and earn 50% of the points of the exercise.
  • Written report at the end of the course. The report should include the following:
    • Exercises results + code
    • Short report on the group discussion papers
    • Report on the paper presented by team-X for the final presentation

Lecture Slides

Exercises

23 March

  • Exercise I: Data Centers [3] (exempt: all)
  • Exercise II: Fattree and Generic [4] (exempt: Guryash, Sameer)

24 March

  • Exercise III: Load balancers (contd. exercise II) [5] (Exempt: All except Thomas)
  • Exercise IV: Firewall [6] (Exempt: All except Thomas, Gurjinder)

25 March

  • Exercise V: Firewall (contd. ) [7] (Exempt: ALL except Gurjinder)
  • Exercise VI: Pyretic firewall [8] (Exempt: Khawar, Omar, Martin, Thomas, Sameer, Eeran)

26 March

(Exempt: Khawar, Omar, Martin, Thomas, Sameer, Eeran)

(Exempt: Khawar, Omar, Martin, Thomas, Sameer, Eeran)

27 March

  • Exercise IX: Pyretic Debugging (Exempt: ??)
    • 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 [9], test if it is able to block h1 when "infected". Note that we will only use the "infected == True" for this exercise.
      • start controller (in /home/mininet/pyretic folder): pyretic.py pyretic.examples.gardenwall_internetcode
      • start mininet: sudo mn --controller=remote --topo=single,3 --mac --arp
      • check h1 ping h2
      • Now infect h1: 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".
    • If time permits, check if the "exempt" case is working fine too
    • If time permits, try fixing this code for the "infected" case.

Group Discussion Papers

(The names of those who HAVE to submit a report have been mentioned for each group discussion)

  • GD I: paper1paper2
    • Those who have to submit report: Thomas, Guryash, Siddhartha, Pranay, Gurjinder
  • GD II: paper1paper2
    • Those who have to submit report: Thomas, Hari, Guryash, Siddhartha, Pranay, Sameer, Eeran
  • GD III: Discussed the 6 papers that were allocated for the final presentations
    • Those who have to submit report: NONE

Papers for final presentation (Will be presented in the following order)

  • Democratic Resolution of Resource Conflicts Between SDN Control Programs, CoNext 2014 [10]
    • Presenters: Khawar, Omar
  • ClickOS and the Art of Network Function Virtualization, NSDI 2014 [11]
    • Presenters: Eeran
  • Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN, Sigcomm 2013 [12]
    • Presenters: Martin, Thomas
  • A Network-State Management Service, Sigcomm 2014 [13]
    • Presenters: Sameer, Hari
  • Dynamic Scheduling of Network Updates, Sigcomm 2014 [14]
    • Presenters: Guryash, Siddhartha
  • I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks, NSDI 2014 [15]
    • Presenters: Pranay, Gurjinder

Extra

  • A Distributed and Robust SDN Control Plane for Transactional Network Updates, Infocom 2015 [16]


Due Dates for Reports (E-Mail to Mayutan)

NOTE: Currently, the information below is tentative. I will update and post the final version by early next week.

  • Submit your final report (in .pdf format) as well as code (in .py format) as one zipped file with your name.
    • subject line of email: Submission of work for Specialization in SDN
    • Name of attachment: name.zip, e.g., if when I submit the final work, the file will be named: Mayutan.zip

NOTE: Your final report (LaTeX Template) should include:

  • Title sheet showing your name and matriculation number
  • Papers discussed during GD-I, GD-II, GD-III (see Group-Discussion section to see the list of those who need to submit a report)
    • Papers of each GD should be summarized in 1-2 pages
  • One review form for the paper you were assigned during the course (Use this review form).
    • One review per participant is mandatory to pass.
    • Those who need to write a larger report must submit review of another paper presented during the final presentation.
    • Make sure that you write your own review. Copy/Paste reviews from other participants of the course will not be accepted. The reviews are individual work.
  • The slides (if any) you used for presenting your papers in class.
    • No need to improve the slides after presenting.