Home  –  Overview  –  Schedule  –  Readings  –  Resources

Schedule & Handouts

Notes

Lecture Date Topic Lecture Topic Textbook Reading Additional Reading Lab
Assignment
1 Tuesday
Sept. 2
Introduction Course overview;
an introduction to the Internet
(pptx, pdf, video: part1, video: part2)
1.1, 1.2, 1.7 Interesting RFCs;
Clos Networks;
Google Datacenter Networks;
ISP Backbone Maps;
 
2 Thursday
Sept. 4
Taxonomy of communication networks
(pptx, pdf, video: part1 video: part2)
1.3, 1.4  
3 Tuesday
Sept. 9
Statistical multiplexing;
Layered architecture
(pptx, pdf, video: part1 video: part2 )
1.4, 1.5 Required:
The End-to-end Argument;
Alternative views:
Protocol Stack vs Heap;
GENI: A new initiative for network architecture;
4 Thursday
Sept. 11
Network Applications: Basic Overview of network apps; Email
(pptx, pdf, video: part 1, video: part 2 )
1.5, 2.3 History: Design Philosophy of DARPA Internet;
5 Tuesday
Sept. 16
Email; DNS
(pptx, pdf, video: part 1, video: part 2 )
2.1, 2.3, 2.4 SPF; SPF, DKIM, DMARC;
DNS: Example dig commands
DNS attack: DDoS on DNS; Syrian attack on NYTimes
 
6 Thursday
Sept. 18
DNS; Java in a nutshell
(pptx, pdf, video: part 1, video: part 2)
2.7, 2.3, 2.2 m-DNS/DNS-SD: dns-sd; mDNS; DNS-SD Android NSD mDNS wireshark capture;
Assignment One
7 Tuesday
Sept. 23
Network programming: UDP
(pptx, pdf, video: part 1, video: part 2)
UDPClient.java;
UDPServer.java
8 Thursday
Sept. 25
Network programming: TCP
(pptx, pdf, video: part 1, video: part 2)

Java Network Programming
(Ch. 12 on UDP, Ch. 2 on Enc/Dec);
EncodingDecoding.java;
TCPServer.java;
TCPClient.java;

9 Sunday
Sept. 28
Network Applications:
FTP, HTTP and Distributed Systems
FTP; HTTP 1.0
(pptx, pdf, video: part 1, video: part 2)
2.2.5, 2.6 BasicWebServer.java;
WebRequestHandler.java;
See slides for more links to shtml, cgi, and ajax.
 
10 Tuesday
Sept. 30
HTTP 1.0/1.1
(pptx, pdf, video: part 1, video: part 2 )

HTTP/2; HTTP/2 wireshark capture (need both http2.pcapng and http2-keylog.txt)

Operational Analysis: Operational analysis
Section 2 of DAA on Akamai
Assignment Two
11 Thursday
Oct. 9
HTTP 1.1/2; Operational analysis
(pptx, pdf video: part 1, video: part 2 )




12 Tuesday
Oct. 14
Global Request Routing
(pptx, pdf, video: part 1, video: part 2 )
 
13 Tuesday
Oct. 14
Per-Thread Servers; Servers using Thread Pool and Synchronization
(pptx, pdf, video: part 1, video: part 2, video: part 3)
TCPServerMT.java
RequestHandler.java
ShareExample.java;

SyncOverhead.java;

ShareWelcome;
Sample Code for Assignment Three
Assignment Three
14 Thursday
Oct. 16
Load-balancing Servers
(pptx, pdf, video: part 1, video: part 2 )
15 Tuesday
Oct. 21
Application Overlays (P2P)
(pptx, pdf, video: part 1, video: part 2 )
BitTorrent
optional: WebRTC
Skype;
Skype/Google+/iChat
 
16 Thursday
Oct. 23
Transport Layer Overview;
UDP
(pptx, pdf, video: part 1, video: part 2 )
3.1-3.3
17 Tuesday
Oct. 28

Sliding Window
(pptx, pdf, video: part 1, video: part 2 )
18 Thursday
Oct. 30

Sliding Window, TCP
(pptx, pdf, video: part 1, video: part 2 )

Assignment Four
pptx, video
19 Tuesday
Nov. 4
20 Thursday
Nov. 6

AIMD; TCP/Reno
(pptx, pdf, video: part 1, video: part 2 )


Acknowledgment: The materials of this course are heavily based on CPSC 433/533 at Yale University, by courtesy of Dr. Y. Richard Yang.

Copyright (c) 2025 Qiao Xiang, Department of Computer Science, Xiamen University