|
Notes
Lecture | Date | Topic | Lecture Topic | Textbook Reading | Additional Reading | Lab Assignment |
---|---|---|---|---|---|---|
1 | Tuesday Sept. 12 |
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 | Thursday Sept. 14 |
Taxonomy of communication networks (pptx, pdf) |
1.3, 1.4 |
M/M/1 simulation; |
||
3 | Tuesday Sept. 19 |
Statistical multiplexing (pptx, pdf) |
1.4, 1.5 |
Required: The End-to-end Argument; Alternative views: Protocol Stack vs Heap; GENI: A new initiative for network architecture; |
Assignment One | |
4 | Thursday Sept. 21 |
Layered network architectures and the end-to-end arguments (pptx, pdf) |
1.5, 2.3 |
History: Design
Philosophy of DARPA Internet;
|
||
5 | Thursday Sept. 26 |
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; |
|
6 | Thursday Sept. 28 |
Email; DNS (pptx, pdf, video: part 1, video: part 2 ) |
2.1, 2.3, 2.4 |
History: Email
development; SPF; SPF, DKIM, DMARC; History: Development of DNS; DNS: DNS wireshark capture; Example dig commands DNS attack: DDoS on DNS; Syrian attack on NYTimes |
||
7 | Saturday Oct. 7 |
Java in a nutshell; Network socket programming (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; UDPClient.java; UDPServer.java |
Assignment
Two (Java installation tutorial) |
|
8 | Tuesday Oct. 10 |
Network
Applications: FTP, HTTP and Distributed Systems |
TCP socket programming; FTP (pptx, pdf, video: part 1, video: part 2) |
2.2.5, 2.6 |
Java Network Programming (Ch. 12 on UDP, Ch. 2 on Enc/Dec); EncodingDecoding.java; TCPServer.java; TCPClient.java; FTP Seq. Diagram or FTP example GridFTP |
|
9 | Thursday Oct. 12 |
FTP; HTTP 1.0/1.1 (pptx, pdf, video: part 1, video: part 2, video: part 3 ) |
2.2.5, 2.6 |
BasicWebServer.java; WebRequestHandler.java; See slides for more links to shtml, cgi, and ajax. |
||
10 | Tuesday Oct. 17 |
HTTP 2.0; Operational Analysis (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 |
|||
11 | Thursday Oct. 19 |
Global Request Routing (pptx, pdf, video: part 1, video: part 2 ) |
||||
12 | Tuesday Oct. 24 |
Load-balancing Servers; Per-Thread Servers (pptx, pdf, video: part 1, video: part 2 ) |
TCPServerMT.java RequestHandler.java |
|||
13 | Thursday Oct. 26 |
Servers using Thread Pool and
Synchronization (pptx, pdf, video: part 1, video: part 2, video: part 3 ) |
Java Concurrency Tutorial;
Java Concurrency Framework;
Java Concurrent Programming;
ShareExample.java; SyncOverhead.java; ShareWelcome; ShareQ; WaitNotify; Threadpool using java.util.concurrent.ThreadPoolExecutor Chapter 11 of Java Network Programming; |
Assignment Three | ||
14 | Tuesday Oct. 31 |
Application Overlays (P2P)
(pptx, pdf, video: part 1, video: part 2 ) |
BitTorrent optional: WebRTC Skype; Skype/Google+/iChat |
|||
15 |
Thursday Nov. 2 |
Transport Layer |
Overview; UDP (pptx, pdf, video: part 1, video: part 2 ) |
3.1-3.3 | ||
16 |
Tuesday Nov. 7 |
Reliable Data Transfer: Stop and Wait/Alternating-Bit Protocol (pptx, pdf, video: part 1, video: part 2 ) |
3.4 | |||
17 |
Thursday Nov. 9 |
Reliable Data Transfer: Sliding Window Protocols (pptx, pdf, video: part 1, video: part 2 ) |
3.4 | |||
18 |
Thursday Nov. 14 |
TCP: Reliability and Connection Management (pptx, pdf, video: part 1, video: part 2 ) |
3.5-3.7 | |||
19 |
Thursday Nov. 16 |
TCP Congestion Control: AIMD (pptx, pdf, video: part 1, video: part 2 ) |
3.5-3.7 |
Foundation: Original AIMD
paper; System: Original TCP CC paper |
||
21 |
Thursday Nov. 23 |
General Resource Allocation Framework; Nash Bargaining Solution; Primal-Dual; TCP/Reno and Vegas as Primal-Dual (pptx, pdf video: part 1, video: part 2, video: part 3 ) |
Nash Bargaining Solution; TCP as primal-dual; optional: TCP in 4G LTE networks QUIC: Design; Deployment and evaluations |
Assignment Four and Class Project | ||
23 | Thursday Nov. 30 |
Network Layer and Link Layer | Network Layer Overview; Distance Vector Protocols (pptx, pdf, no videos) |
5.1, 4.1, 5.2 |
Chapter 5 of Bersekas/Gallager
(Link to all chapters of the book.) RIPv2 RFC |
|
24 |
Tuesday Dec. 5 |
Distance Vector Protocols (pptx, pdf, video: part 1, video: part 2 ) |
5.2, 5.3 | |||
25 |
Thursday Dec. 7 |
Distance Vector revisions; Link State Protocols (pptx, pdf, video: part 1, video: part 2, video: part 3 ) |
5.2, 5.3, 5.4 | DSDV OSPFv2 RFC | Assignment Five | |
26 | Tuesday Dec. 12 |
BGP Analysis; Forwarding (pptx, pdf, video: part 1, video: part 2 ) |
5.4, 4.3 |
BGP-4 RFC
fixedorbit; Looking glass; Arrow's Theorem Proof |
||
27 | Thursday Dec. 14 |
DHCP; Link Layer (pptx, pdf, video: part 1, video: part 2 ) |
4.3, 6.4 | |||
28 | Thursday Dec. 21 |
Course Summary and Emerging Topics | Course Summary; SDN; Data Center; (pptx, pdf, video: part 1, video: part 2, video: part 3 ) |
6.7 | ||
20 |
Tuesday Nov. 21 |
Guest Lectures |
Traffic Engineering Yuchao Zhang (BUPT) |
|||
22 |
Tuesday Nov. 28 |
Internet of Things Yutong Liu (BUPT) |
Acknowledgment: The materials of this course are heavily based on CPSC 433/533 at Yale University, by courtesy of Dr. Y. Richard Yang.