CIS 553: Networked Systems

Spring 2021


Remote Instruction Plan:
Lectures will be recorded but to encourage engagement, CIS 553 will be “synchronous by default.” In other words, I will expect that you are able to attend and participate in (>75%) of classes. If there is some reason why this is not possible (time zone, childcare, Internet connectivity, illness, etc.), that's okay -- just let me know and we can work out alternative arrangements.

Instructor: Vincent Liu
Lecture location: Zoom (see Canvas)
Time: Monday and Wednesday 4:30pm – 6:00pm ET
External Sites: Piazza and Canvas
Office hours: M 6:00 – 7:00 pm ET (OHQ) or by appointment

Teaching assistants:

Course Description

CIS 553 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 six programming projects and two written exams.

Undergraduates and other students who need a permit should add themselves to the waitlist.

Recommended Textbooks

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

Prerequisites

Parallel programming experience (e.g., CIS 380, CIS 505, CIS 455/555, etc.) or permission of instructor. Course projects will be in C++, Python, and P4 but prior experience in these languages is not strictly necessary, particularly in the case of P4.

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 Remarks Optional Reading
Jan. 20 Class Introduction [slides] HW0 Out [code]
(VM Setup, Getting to Know P4)
Internet History
Jan. 25 Network Programming and P4 [slides]
Jan. 27 Internet Architecture [slides] Design Goals, 1
Feb. 1 Layering and the Physical Layer [slides] HW0 Due
HW1 Out [code]
(Learning Switch)
E2E Principle, 2.1, 2.2
Feb. 3 Link Layer Pt. 1 [slides] 2.1-2.4
Feb. 8 Link Layer Pt. 2 [slides] 2.6, 3.1
Feb. 10 IP Addressing [slides] HW1 Due
HW2 Out [code]
(IPv4 Router)
3.2.3, 3.2.5, 4.1.3
Feb. 15 Addressing [slides] 3.3
Feb. 17 Discovery [slides] 4.1
Feb. 22 Intradomain Routing [slides]
Feb. 24 Intradomain Routing [slides] HW2 Due
HW3 Out [code]
(Routing Algorithms)
Mar. 1 Interdomain Routing [slides] 9.3.1
Mar. 3 Transport Protocols [slides] 5.1, 5.2, 3.2.8
Mar. 8 Exam 1
Mar. 10 No class (Spring Break)
Mar. 15 TCP [slides] HW3 Due
HW4 Out [code]
(Routing integration)
6.3
Mar. 17 Flow Control [slides] 3.2.4, 3.4, 6.2, 6.4
Mar. 22 Congestion Control and Router Design [slides]
Mar. 24 HTTP [slides] 9.1.2
Mar. 29 HTTP II [slides] HW4 Due
HW5 Out
(Sockets and File Transfer)
Mar. 31 HTTP Performance [slides] 9.4.3, HTTP/2
Apr. 5 Video Streaming [slides]
Apr. 7 Video Streaming II [slides] Project Groups Due
Apr. 12 No class (Engagement Day)
Apr. 14 Datacenters [slides] HW5 Due
HW6 Out
(Music Streaming)
2.7, 2.7.1
Apr. 19 Wireless [slides] 8.1.3, 8.1.4
Apr. 21 Wireless/Security [slides] HW6 Proposal Due 8.1.3, 8.1.4
Apr. 26 [slides] Censorship
Apr. 28 Exam 2
May 5 HW6 Due