Networks and Protocols (Fall 2009)
Course: Networks and Protocols (320301)
Instructor: Jürgen Schönwälder
TA: Siarhei Kuryla
Lectures:
Monday 08:15 - 09:30 West Hall 3
Wednesday 09:45 - 11:00 West Hall 3
Start: September 2nd, 2009
Contents:

The course builds on the course Operating Systems and Networks (320202) and discusses protocol designs in more depth in order to enable students to understand the core issues involved in network protocol design. The fundamental algorithms and principles are explained in the context of existing IEEE / Internet protocols in order to demonstrate how fundamental results are used in real-world protocols. This course is recommended for EECS students with a strong interest in communication networks.

Course topics: IEEE 802 networks, Internet protocols, routing algorithms and protocols, flow and congestion control mechanisms, data representation, application layer protocols, remote procedure calls, network security.

Course Materials:
Books:
  • A.S. Tanenbaum, "Computer Networks", 4th Edition, Prentice Hall, 2002
  • W. Stallings, "Data and Computer Communications", 6th Edition, Prentice Hall, 2000
  • F. Halsall, "Data Communications, Computer Networks and Open Systems", 4th Edition, Addison-Wesley, 1996
  • C. Huitema, "Routing in the Internet", 2nd Edition, Prentice Hall, 1999
  • W.R. Stevens, "TCP/IP Illustrated Volume 1: The Protocols", Addison Wesley, 1994.
  • D. Comer, "Internetworking with TCP/IP Volume 1: Principles Protocols, and Architecture", 4th Edition, Prentice Hall, 2000
  • J.F. Kurose, K.W. Ross, "Computer Networking: A Top-Down Approach Featuring the Internet", 3rd Edition, Addison-Wesley 2004.
Links:
Schedule:
DateDateTopics
2009-09-02 Introduction, Socket API
2009-09-07 2009-09-09 Fundamental Principles
2009-09-14 2009-09-16 Local Area Networks (Ethernet, Bridges, VLANs)
2009-09-21 2009-09-23 Internet Network Layer (IPv4/IPv6)
2009-09-28 2009-09-30 Internet Routing Protocols (RIP, OSPF, BGP)
2009-10-05 2009-10-07 Internet Transport Layer (UDP/TCP)
2009-10-12 2009-10-14 Firewalls, Network Address Translators,
2009-10-19 2009-10-21 Internet Application Layer (DNS, ASN.1)
2009-10-26 2009-10-28 Lab Sessions
2009-11-02 2009-11-04 Internet Application Layer (BER, XDR, ABNF)
2009-11-09 2009-11-11 Internet Application Layer (SMTP, IMAP, PGP, S/MIME, DKIM)
2009-11-16 2009-11-18 Internet Application Layer (HTTP, FTP)
2009-11-23 2009-11-25 Security Protocols (TLS, DTLS, SSH)
2009-11-30 2009-12-02 Remote Procedure Calls (ONC RPC, XML-RPC)
2009-12-07 Exam Preparation
Grading:

The final grade is made up of the final exam (40 %), biweekly quizzes (30 %) and some homework assignments (30 %). It is required to submit the solution for homeworks assignments electronically. Homeworks may need to be defended in an oral interview.

Solutions must be submitted via the grader. Late submissions after the deadline will be penalized. For every hour late, you will loose 10% of the points. We account an additional bonus of 15 minutes for electronic submissions (you know how well email sometimes works). This means, a solution received 01:15 late will loose 10%, a solution received 02:15 late will loose 20% and so on. If we receive more than one submission, we will pick the last one.

The overall percentage will be converted into Jacobs University grades as follows:

PercentageGradeDescription
[95-100]1.00Excellent
[90-95)1.33Very Good
[85-90)1.67Very Good
[80-85)2.00Good
[75-80)2.33Good
[70-75)2.67Satisfactory
[65-70)3.00Satisfactory
[60-65)3.33Satisfactory
[55-60)3.67Sufficient
[50-55)4.00Sufficient
[45-50)4.33Sufficient
[41-45)4.67Failing
[ 0-40)5.00Failing

Any programs which have to be written will be evaluated based on the following criteria:

  • correctness including proper handling of error conditions
  • proper use of programming language constructs
  • clarity of the program organization and design
  • readability of the source code and any output produced

The policy on makeup quizzes and exams is the following: To be able to get a makeup, you have to either (a) have an official excuse from the registrar's office or (b) approach me well in advance of the quiz/exam with a very good reason for not being able to participate (e.g., because you take a GRE computer science subject test at the day of a quiz). Furthermore, I require that people take action to immediately contact me when they return to campus or recover from illness so that we can fix a date for the makeup. Once a week has passed, I do not feel obliged to offer a makeup anymore.

Assignments:
DateNameTopics
2009-09-18 Assignment #1 Socket programming (SYSLOG, RFC 5424)
2009-10-04 Assignment #2 IEEE 802.1 (backward learning and spanning trees)
2009-10-28 Assignment #3 Lab sessions (Research I, Area 51)
2009-11-16 Assignment #4 Distance vector and link state routing
2009-11-25 Assignment #5 PGP and X.509
Quizzes:
DateNameTopics
2009-09-23 Quiz #1 Encoding, Media Access Control, Checksums
2009-10-07 Quiz #2 Internet Protocol (IP) (forwarding, fragmentation, address mapping)
2009-10-21 Quiz #3 Transmission Control Protocol (TCP)
2009-11-04 Quiz #4 Domain Name System (DNS)
2009-11-18 Quiz #5 ASN.1/XDR/ABNF and SMTP
2009-12-02 Quiz #6 Hypertext Transfer Protocol (HTTP)
Exams:
  • Final Exam (closed book) (2009-12-21 09:00-11:00)
    Conrad Naber Lecture Hall