Computer Networks (Fall 2014)
Course: Computer Networks (320301)
Instructor: Jürgen Schönwälder
TA: Vaibhav Bajpai, Veranika Liaukevich
Thursday 14:15 - 15:30 West Hall 3
Friday 14:15 - 15:30 West Hall 3
Start: September 4th, 2014

The course discusses network protocols in some depth in order to enable students to understand the core issues involved in network protocol design. Fundamental algorithms and principles are explained in the context of existing IEEE / Internet protocols in order to demonstrate how they are applied in real-world scenarios. This course is recommended for all students with a strong interest in communication networks and distributed systems.

The course covers topics such as local area networks (IEEE 802), Internet protocols, routing algorithms and protocols, flow and congestion control mechanisms, data representation, application layer protocols, remote procedure calls, network security.

Course Materials:
  • 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.
2014-09-04 2014-09-05 Introduction, Internet Concepts and Principles, Internet Services Today
2014-09-11 2014-09-12 Media Access Control, Cyclic Redundancy Checks, Flow and Congestion Control, OSI 7-Layer Model
2014-09-18 2014-09-19 Local Area Networks (Ethernet, Bridges)
2014-09-25 2014-09-26 Local Area Networks (VLANs, Port Access Control, WLAN)
2014-10-02 2014-10-03 Internet Network Layer (IPv4/IPv6)
2014-10-09 2014-10-10 Internet Routing Protocols (RIP, OSPF, BGP)
2014-10-16 2014-10-17 Internet Routing Protocols (BGP)
2014-10-23 2014-10-24 Internet Transport Layer (UDP/TCP)
2014-10-30 2014-10-31 Firewalls, Network Address Translators
2014-11-06 2014-11-07 Security at the Network and Transport Layer (IPsec, TLS, SSH)
2014-11-13 2014-11-14 Internet Application Layer (DNS)
2014-11-20 2014-11-21 Internet Application Layer (SMTP, IMAP, PGP, S/MIME, DKIM)
2014-11-27 2014-11-28 Internet Application Layer (HTTP, SPDY, FTP)
2014-12-04 2014-12-05 Internet Application Layer (RTP, SDP, SIP)
2014-09-22Assignment #1delays, cyclic redundancy checks, media access control
2014-09-26Quiz #1Local Area Networks
2014-10-03Assignment #2Ethernet Traffic Monitor
2014-10-10Quiz #2Internet Protocol (IP)
2014-10-22Assignment #3Internet Routing (cbgp) (topology.cli)
2014-10-24Quiz #3Internet Routing
2014-11-04Assignment #4TCP Simulation (ns2)
2014-11-07Quiz #4TCP and Middleboxes
2014-11-18Assignment #5mininet, scapy, tcpdump, wireshark, iperf
2014-11-21Quiz #5Security at the Network and Transport Layer, DNS
2014-12-02Assignment #6PGP and X.509 / TLS
2013-12-05Quiz #6HTTP, SPDY, FTP
2013-12-12Final Exam12:30 - 14:30, Lecture Hall Research III (closed book)

The final grade is made up of the final exam (35 %), biweekly quizzes (35 %) 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 lose 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 up to and including 1 hour late (01:15) will lose 10%, a solution received up to and including 2 hours late (02:15) will lose 20% and so on. If we receive more than one submission, we will pick the last one.

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

Source code must be accompanied with a README providing an overview of the source files and giving instructions how to build the programs. A suitable Makefile is required if the build process involves more than a single source file.

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.