Personal tools

263-3501-00 Advanced Computer Networks

Overview

This course covers advanced topics in computer networks. The focus is on principles, architectures, and protocols used in modern networked systems.
The goal is to provide an understanding of the trade-offs and existing technology in building large, complex systems primarily by analyzing the design and deployment of real systems and emerging applications.
Topics include: wireless networks and mobility issues at the network and transport layer (Mobile IP and micromobility protocols, TCP in wireless environments). Mobile phone networks. Overlay networks, flat routing protocols (DHTs), and peer-to-peer architectures. The Border Gateway Protocol (BGP) in practice.

Schedule

Lectures: Mondays 10:00 – 12:00 in HG D 7.1
Exercises: Tuesdays 10:00 – 12:00 in HG D 7.2

Staff

Lecture schedule NEW!

# Date Topic
1 22.02.2010
Introduction and P2P systems [slides 1x1, slides 1x4]
2 1.3.2010 DHTs (part I)
3 8.3.2010 DHTs (part II) & Handling churn in DHTs
4 15.3.2010 Overlay networks
5 22.3.2010 Wireless networks (part I)
6 29.3.2010 Wireless networks (part II)
7 5.4.2010 NO LECTURE (EASTER BREAK)
8 12.4.2010 Satellites and mobile phone networks (part I)
9 19.4.2010 Mobile phone networks (part II)
10 26.4.2010 Mobile phone networks (part III)
11
3.5.2010 NO LECTURE
12 10.5.2010 Mobile phone networks (part IV)
13 17.5.2010 BGP-4 (part I)
14 24.5.2010 BGP-4 (part II)
15 31.5.2010 Written exam

Exercise schedule

# Date Topic Notes
1 23.02.2010 Tutorial (Python, Twisted and PlanetLab) Slides available from the course repo
2 2.3.2010 Assign Assignment 1
3 9.3.2010 Marking Assignment 1 and Assign Assignment 2
4 16.3.2010 Marking Assignment 2 and Assign Assignment 3a/3b PlanetLab deployment ready for use!
5 23.3.2010 Consultation and Assign Assignment 3c/3d

6 30.3.2010 Marking Assignment 3a/3b
7 6.4.2010 NO EXERCISE SESSION (EASTER BREAK)
8 13.4.2010 NO EXERCISE SESSION
9 20.4.2010 Marking Assignment 3c/3d and Assign Assignment 4a/4b
10 27.4.2010 Consultation and Assign Assignment 4c/4d
11 4.5.2010 Marking Assignment 4a/4b

12 11.5.2010 Consultation
13 18.5.2010 Marking Assignment 4c/4d
14 25.5.2010 NO EXERCISE SESSION

Course repository

Lecture and exercise slides can be downloaded from the course's svn repository (svn co https://svn.inf.ethz.ch/svn/alonso/fluvii/trunk/acn10/lectures/ and svn co https://svn.inf.ethz.ch/svn/alonso/fluvii/trunk/acn10/assignments/). The repository should also be used to submit assignments in the corresponding student directory identified by the student's username (svn co https://svn.inf.ethz.ch/svn/alonso/fluvii/trunk/acn10/students/your-username).

Assignments

The exercise sessions will focus on implementing simple networking protocols and applications and test their behaviour on PlanetLab. The programming language is Python.

There will be a total of 4 assignments through which students can collect a maximum of 50 points. Assignment deadlines missed by no more than a week will cause a loss of 25% of the mark, if missed for more than one week the loss is 50%. No submissions will be accepted later than 2 weeks after the deadline.

Students can ask clarifications about the assignments during the exercise sessions or by appointment with the teaching assistant. During the Marking sessions the students' assignments are graded. Students are required to give a demonstration of their solution, explain their code and be ready to justify their implementation choices. Responses to this questioning will have a strong impact on the mark! Zero marks will be given if students cannot demonstrate a basic understanding of their solution.

Besides demonstrating the operation of the code during the Marking sessions, students are required to submit all their code one day before the Marking session (i.e., on Mondays at 9am, local time). The code submitted MUST be the final one and MUST be the same as the one that will be demonstrated at the Marking session. If the instructor notices significant changes between the submitted code and the demonstrated code, she can decide to decrease the final mark up to 50%.

Please create a tar file of your source code per each assignment and commit it to the course repository:

tar cvzf acn_aX_username1_username2.tar.gz acn_assignmentX

svn commit -m "added assignment X"

Please use the above format in naming your files. Replace X with the number of the assignment and username with your username (e.g., acn_a1_oriva_igiurgiu.tar.gz).

In any other communication with the course instructors please use the following topic in your emails: ACN10

In the first 2 assignments students must work individually. In assignment 3 and 4 students can work in groups of maximum 2 people. All students in the same group will be awarded the same grade unless there is a clear difference between the level of understanding of the problem of the two students. Only one student per group needs to submit the source code electronically, however both students in a group must be present during the demonstration of the code.

Language

English

Text and reference books

  • Mobile Communications, 2nd edition, by Jochen Schiller, Addison Wesley (Main Reference Book)
  • BGP4 Inter-Domain Routing in the Internet by John W. Stewart III, The Addison-Wesley Networking Basics Series (Main Reference Book)
  • Computer Networks by Larry L. Peterson and Bruce S. Davie, Morgan Kaufmann (Basic networking concepts)
  • Several research papers referenced during the lectures

PlanetLab

To access planet set read permissions for your private key correctly (i.e., in Linux: chmod 400 your_private_key or in Windows: set the permissions from the file properties). To access a PlanetLab machine use ssh -i ~/.ssh/your_private_key -p 22022 username@machine -v. For example, ssh -i ~/.ssh/igiurgiu -p 22022 igiurgiu@planetlab02.mpi-sws.mpg.de -v . For more information refer to the tutorial slides given in the first exercise session.

Python and Twisted resources

Grading

There will be a written exam (in English) that will take place in the last week of the course. Completion of the exercises assigned during the course is a requirement for taking the exam.

The exam will account for 50% of the final grade and the lab assignments for the other 50%.
Document Actions