Weekly outline

  • 4 April - 10 April

    Introduction 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 April

    All about Ethernet. Addressing. Link layer concepts and protocols. Switching and routing. Encapsulation. 802.11. PPP.

    Reading: Chapter 3.

  • 18 April - 24 April

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

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

      TCP. Stream protocol design. Reliability and timing. Message boundaries and escaping.

      Reading: Chapter 12, 15

    • 9 May - 15 May

      More about TCP. Details of windowing, retransmission, timing. Connection setup. Structure of a TCP packet.

      Reading: Chapter 13, 14

    • 16 May - 22 May

      Address and name resolution. ARP, DHCP, DNS.

      Readings: Chapter 4, 6, 11

    • 23 May - 29 May

      How 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 June

      Network security. Cryptography and protocol security fundamentals. Threat models. Expected value analysis. Common points of attack.

      Reading: Chapter 18

    • 6 June - 12 June

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