Computer Networks (Fall 2013)
Course: Computer Networks (320301)
Instructor: Jürgen Schönwälder
TA: Vaibhav Bajpai, Johannes Schauer
Thursday 14:15 - 15:30 West Hall 2
Friday 14:15 - 15:30 West Hall 2
Start: September 5nd, 2013

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.
2013-09-05 2013-09-06 Introduction, Internet Concepts and Principles
2013-09-12 2013-09-13 Sockets, BPF/PCAP, Raw Sockets, Tun/Tap
2013-09-19 2013-09-20 Local Area Networks (Ethernet, Bridges)
2013-09-26 2013-09-27 Internet Network Layer (IPv4/IPv6)
2013-10-03 2013-10-04 Internet Network Layer (IPv4/IPv6)
2013-10-10 2013-10-11 Internet Routing Protocols (RIP, OSPF, BGP)
2013-10-17 2013-10-18 Lab Sessions
2013-10-24 2013-10-25 Local Area Networks (VLANs, Port Access Control, WLAN)
2013-10-31 2013-11-01 Internet Transport Layer (UDP/TCP)
2013-11-07 2013-11-08 Firewalls, Network Address Translators
2013-11-14 2013-11-15 Internet Application Layer (DNS)
2013-11-21 2013-11-22 Security at the Network and Transport Layer (IPsec, TLS, SSH)
2013-11-28 2013-11-29 Internet Application Layer (SMTP, IMAP, PGP, S/MIME, DKIM)
2013-12-05 2013-12-06 Internet Application Layer (HTTP, FTP, WebDAV)
Dates: 1
2013-09-20Assignment #1Program: bpduspy
2013-09-27Quiz #1Ethernet, Bridges
2013-10-04Assignment #2IP Forwarding and ARP
2013-10-11Quiz #2IPv4 and IPv6
2013-10-18Assignment #3BGP Routing Simulation (topology1.cli)
2013-10-25Quiz #3Internet Routing
2013-11-06Assignment #4Wireless Local Area Networks
2013-11-08Quiz #4Transmission Control Protocol
2013-11-25Assignment #5TCP Simulation (ns2)
2013-11-22Quiz #5Domain Name System
2013-12-04Assignment #6Security (gpg, X.509, ssh)
2013-12-06Quiz #6Network Security
2013-12-11Final ExamLecture 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.