|
|
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.