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

Notes

Lecture Date Topic Lecture Topic Textbook Reading Additional Reading Written
Problem
Set
Programming
Assignment
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
SPF;
SPF, DKIM, DMARC;
   
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
TCPServer.java;
TCPClient.java;

FTP Seq. Diagram or FTP example
GridFTP


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

TCPServerMT.java
RequestHandler.java
  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;

ShareExample.java;

SyncOverhead.java;

ShareWelcome;
ShareQ;
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)
BitTorrent
optional: WebRTC
Skype;
Skype/Google+/iChat
   
14 Tuesday
Oct. 17
Application Overlays
(pptx, pdf)
Freenet;
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;
optional:
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.)
RIPv2 RFC
   
21
Thursday
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
4.3-4.4      
24 Tuesday
Dec. 5
TBD TBD    
25 Thursday
Dec. 7
TBD Course Summary    


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