CIS 5530: Networked Systems

Spring 2023


Instructor: Vincent Liu
Lecture location: LLAB 10
Time: MW 3:30pm – 5:00pm ET
External Sites: Ed Discussion, Canvas, and Gradescope
Office hours: W 1:00 – 3:00 pm ET in Levine 574 or by appointment

Content TAs: Project TAs (OHQ for Office Hours):

Course Description

CIS 5530 is a graduate course in Computer Networking that gives a top-to-bottom treatment of computer networking.

The course begins with an overview of communications systems, then progresses through a series of logical “layers,” each of which carries out roles in the networked system. We start with (1) “physical layers” such as radio, optical fiber and copper wiring, and rise through a series of functional abstractions (naming, addressing, routing, ...) that comprise a “stack” of protocol layers used by applications. These include: (2) the link layer which uses the physical layer to communicate, and manages device identity and access to the medium; (3) the network layer which connects sets of participants using link layers; (4) the transport layer which provides services required by applications such as reliable byte-streams.

The course will involve two large programming projects and two written exams.

Students who need a permit should add themselves to the waitlist.

Recommended Textbooks:

[Primary] Computer Networks: A Systems Approach (5th Edition). Larry L. Peterson and Bruce S. Davie.
Computer Networking: A Top-Down Approach (6th Edition). James F. Kurose and Keith W. Ross
Computer Networks (5th Edition). Andrew S. Tanenbaum and David J Wetherall.

Prerequisites

Parallel programming experience (e.g., CIS 3800, CIS 5050, CIS 4550/5550, etc.) or permission of instructor. Course projects will be in C++ but prior experience in these languages is not strictly necessary.

Grading


Late Policy

You start with 4 “slip days,” deducted in 1-day increments. That means that if you turn in an assignment 15 mins late, you lose an entire slip day. No late assignments will be accepted without slip days.

Schedule

The schedule will change over time. Please check back regularly.

Optional readings refer to the Peterson/Davie book, unless otherwise specified. Equivalent material can be found in the other textbooks.
Date Topic Assignments Optional Reading
Jan. 11 1) Class Introduction [slides] Internet History
Jan. 16 No class (Martin Luther King, Jr. Day)
Jan. 18 2) The Architecture of the Internet [slides] Design Goals, E2E Principle, 1.1-1.4
Jan. 23 3) Network Performance [slides] Team Formation Deadline
Project 1 Out
1.5
Jan. 25 4) Components of a Network [slides] 2.1, 2.6
Jan. 30 5) Forwarding [slides] 3.1
Feb. 1 6) Addressing [slides] 3.2.3, 3.2.5, 4.1.3
Feb. 6 7) Intradomain Routing [slides] Project 1 Milestone 1 Due 3.3
Feb. 8 8) Interdomain Routing [slides] 4.1
Feb. 13 9) Interdomain Routing II [slides]
Feb. 15 10) Discovery [slides] 3.2.6-3.2.7
Feb. 20 11) Discovery II [slides] Project 1 Due
Project 2 Out
9.3.1
Feb. 22 12) Putting It All Together [slides]
Feb. 27 13) Overlay Networks [slides] 9.4.1
Mar. 1 Exam 1
Mar. 6 No class (Spring Break)
Mar. 8 No class (Spring Break)
Mar. 13 14) Peer-to-Peer [slides] 9.4.2
Mar. 15 15) Transport Layer Basics [slides] 5.1
Mar. 20 16) TCP Features [slides] Project 2 Milestone 1 Due 5.2
Mar. 22 17) Flow Control [slides]
Mar. 27 18) Congestion Control [slides] 3.4, 6.1, 6.2-6.3
Mar. 29 19) Congestion Control II [slides] 1.4
Apr. 3 20) HTTP [slides] 9.1.2
Apr. 5 21) Modern HTTP [slides] 9.4.3, HTTP/2
Apr. 10 22) Streaming [slides]
Apr. 12 23) TCP BBR [slides] Project 2 Due TCP BBR
Apr. 17 24) Wireless [slides] 2.7
Apr. 19 25) Security [slides]
Apr. 24 26) Censorship [slides]
Apr. 26 Exam 2