CPSC 433/533: Computer Networks, Fall 2017 : Schedule

Home  –  Overview  –  Schedule  –  Readings  –  Resources

Last Modified: Thursday, 07-Dec-2017 16:15:06 EST

Schedule & Handouts


Lecture Date Topic Lecture Topic Textbook Reading Additional Reading Written
1 Thursday
Aug. 31
Introduction Course overview;
an introduction to the Internet
(pptx, pdf)
1.1, 1.2, 1.7 Interesting RFCs; Clos Networks; Google Datacenter Networks; ISP Backbone Maps    
2 Tuesday
Sept. 5
Taxonomy of communication networks
(pptx, pdf)
1.3, 1.4 M/M/1 simulation;
3 Thursday
Sept. 7
Statistical multiplexing, layered network architectures and the end-to-end arguments
(pptx, pdf)
1.4, 1.5 Required: The End-to-end Argument
Alternative views: Protocol Stack vs Heap; Architecture patterns; GENI: A new initiative for network architecture
Assignment One  
4 Tuesday
Sept. 12
Network Applications: Basic Overview of network apps; Email
(pptx, pdf)
2.1, 2.4, 2.5 History: Design Philosophy of DARPA Internet;
History: Email development
5 Thursday
Sept. 14
Email Security; DNS High-Level Design
(pptx, pdf)
2.4, 2.5 History: Development of DNS;
DNS: DNS wireshark capture; Example dig commands
DNS attack: DDoS on DNS; Syrian attack on NYTimes
6 Tuesday
Sept. 19
DNS Details and Extension; Network Socket Programming: UDP Sockets
(pptx, pdf)
2.7 m-DNS/DNS-SD: dns-sd; mDNS; DNS-SD Android NSD mDNS wireshark capture;
Java Network Programming (Ch. 12 on UDP, Ch. 2 on Enc/Dec) UDPClient.java UDPServer.java EncodingDecoding.java
  Assignment Two
7 Thursday
Sept. 21
TCP Socket Programming, FTP
(pptx, pdf)
2.3, 2.2

FTP Seq. Diagram or FTP example

8 Tuesday
Sept. 26
Network Applications: HTTP and High-Performance Network Servers HTTP 1.0
(pptx, pdf)
2.2.5, 2.6 BasicWebServer.java;
See slides for more links to shtml, cgi, and ajax.
9 Thursday
Sept. 28
Per-Thread Servers
(pptx, pdf)
HTTP/2; HTTP/2 wireshark capture (need both http2.pcapng and http2-keylog.txt);

  Assignment Three (Part 1)
10 Tuesday
Oct. 3
Servers using Thread Pool and Synchronization (pptx, pdf) Java Concurrency Tutorial; Java Concurrency Framework; Java Concurrent Programming;



Threadpool using java.util.concurrent.ThreadPoolExecutor
Chapter 11 of Java Network Programming (Use Yale access);
11 Thursday
Oct. 5
Nonblocking Servers--Multiplexed (Reactive Design)
(pptx, pdf)
SelectEchoServer: v1, v2, Non-blocking I/O Tutorial;
Another design (doc, code);
The C10K page
SelectEchoServer v3;

Scalable Server Design Patterns: tutorial 1; tutorial 2; Operational analysis; SEDA;

  Assignment Three (Part 2)
12 Tuesday
Oct. 10
Nonblocking Servers--Proactive Design; Operational Analysis; Load-balancing Servers (Wikipedia, Linux Virtual Server)
(pptx, pdf)
Operational Analysis: Operational analysis
Section 2 of DAA on Akamai
13 Thursday
Oct. 12
Network Applications: Distributed Systems Application Overlays
(pptx, pdf)
optional: WebRTC
14 Tuesday
Oct. 17
Application Overlays
(pptx, pdf)
Kleinberg analysis (pdf chapter 1 only); Chord
optional: Original Nakamoto Bitcoin paper; A nice YouTube video on Bitcoin;
Tor, Tor status
-- Tuesday
Oct. 24
Exam 1 (covers first 14 lectures): Exam is closed book but one cheat sheet is allowed. Due to coverage differences, each exam covers different topics, and hence the examples below serve as a style of problems only:
15 Thursday
Oct. 26
Transport Layer Overview;
Stop and Wait/Alternating-Bit Protocol
(pptx, pdf)
3.1-3.4.1   Assignment Four
16 Tuesday
Oct. 31
Sliding Window Protocols; TCP Reliability (pptx, pdf) 3.4-3.5    
17 Thursday
Nov. 2
Timeout RTO; Congestion Control Principles; AIMD; TCP/Reno
(pptx, pdf)
3.5-3.7 Foundation: Original AIMD paper; System: Original TCP CC paper    
18 Tuesday
Nov. 7
TCP/Reno Analysis; TCP Cubic; TCP/Vegas (pptx, pdf) tcp-reno-tput.xlsx;
TCP Cubic;
TCP Vegas
19 Thursday
Nov. 9
General Resource Allocation Framework; Nash Bargaining Solution; Primal-Dual; TCP/Reno and Vegas as Primal-Dual
(pptx, pdf)
Nash Bargaining Solution;
TCP as primal-dual;
TCP in 4G LTE networks
QUIC: Design; Deployment and evaluations
20 Tuesday
Nov. 14
Network and Link Layers Distributed Distance Vector Protocols
(pptx, pdf)
4.1-4.2, 4.5 Chapter 5 of Bersekas/Gallager (Link to all chapters of the book.)
Nov. 16
Distance Vector revisions and Link State Protocols
(pptx, pdf)
4.4, 4.5, 4.6 DSDV OSPFv2 RFC    
22 Tuesday
Nov. 28
Internet Routing; BGP Basic Operations; Interdomain as Preference Aggregation
(pptx, pdf)
4.4, 4.6 BGP-4 RFC fixedorbit;
Looking glass;
Arrow's Theorem Proof
Assignment Five
23 Thursday
Nov. 30
BGP Analysis; DHCP
(pptx, pdf)
4.6 dhcp trace; dhcp renew trace    
24 Tuesday
Dec. 5
Link Layer Network Forwarding and Link Access
(pptx, pdf)
4.3, 4.4, 5.3, 5.4.1-5.4.2, 5.5.2    
25 Thursday
Dec. 7
Summary Course Summary; Future Network Architectures (MobilityFirst, NDN) (pptx, pdf) 5.4, 5.5 click; clickOS; E2; netmap; netbricks
MobilityFirst (DMap); NDN; XIA

Copyright (c) 2000-2017 Y.R. Yang, Department of Computer Science, Yale University