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

Home  –  Overview  –  Schedule  –  Readings  –  Resources

Last Modified: Tuesday, 14-Nov-2017 14:45:10 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
4.4, 4.5, 4.6 DSDV OSPFv2 RFC    
22 Tuesday
Nov. 28
Internet Routing; BGP 4.4, 4.6 BGP-4 RFC fixedorbit;
Looking glass;
23 Wednesday
Nov. 30
Data Forwarding and Link Layer Forwarding
24 Tuesday
Dec. 5
25 Thursday
Dec. 7
TBD Course Summary    

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