4 April - 10 AprilIntroduction to this course. Introduction to physical networks and communication. How to find and read networking information. Network layering. Link level basics.
Reading: Chapter 1
11 April - 17 AprilAll about Ethernet. Addressing. Link layer concepts and protocols. Switching and routing. Encapsulation. 802.11. PPP.
Reading: Chapter 3.
18 April - 24 AprilIP. IPv4 and IPv6. IP addressing. Internet delivery mechanisms and promises. Structure of an IP packet. UDP, TCP, ICMP basics. IP routing basics.
Reading: Chapter 2, 5
25 April - 1 MayUDP. Guest lecture by Reinette Chatre. Protocol implementation using UDP. Mechanisms for protocol design: windowing, retransmits, compression, implicit transmission. UNIX UDP programming.
Reading: Chapter 10
2 May - 8 MayTCP. Stream protocol design. Reliability and timing. Message boundaries and escaping.
Reading: Chapter 12, 15
9 May - 15 MayMore about TCP. Details of windowing, retransmission, timing. Connection setup. Structure of a TCP packet.
Reading: Chapter 13, 14
16 May - 22 MayAddress and name resolution. ARP, DHCP, DNS.
Readings: Chapter 4, 6, 11
23 May - 29 MayHow packets move through the Internet. Gateways, routing, NAT, firewalls. Broadcast and multicast. More about ICMP. TCP congestion control.
Reading: Chapter 7, 9, 16
30 May - 5 JuneNetwork security. Cryptography and protocol security fundamentals. Threat models. Expected value analysis. Common points of attack.
Reading: Chapter 18
6 June - 12 JuneApplication layer: TELNET, FTP, SMTP, HTTP. Review.
Reading: RFCs 854, 959, 2821, 2616. [Do not read in too much detail, but get an overview of how each protocol works. Use supplementary information as appropriate to help with this.]