Course contents
On this page
Lesson plan

Lesson plan 04: Networking and transport

Trace connection setup and data delivery across DNS, transport, encryption, and application boundaries.

Placement: Part 1: Foundations: understanding work, time, and resources.

Prerequisites: Lesson 03: Local concurrency and execution, plus the earlier dependency chain.

Learning outcomes

  • Trace connection setup and data delivery across DNS, transport, encryption, and application boundaries.
  • Distinguish flow control, congestion control, loss recovery, and head-of-line blocking.
  • Calculate bandwidth-delay product and explain why transport changes cannot eliminate propagation time.
  • Separate a general mechanism, a documented implementation choice, and an illustrative numerical assumption.

Teaching sequence

  1. Establish the motivating situation: A regional database is fast locally but response time degrades over a lossy long-distance link.
  2. Introduce the vocabulary and the correctness obligation before an optimization. Define DNS, routing, sockets.
  3. Develop the mechanism: Trace connection establishment and steady-state data separately; distinguish ordering, retransmission, congestion control, and receiver flow control.
  4. Follow the complete worked example: At 1 Gbit/s and 40 ms RTT, the bandwidth-delay product is 5 MB. Explain the assumptions, intermediate units, and limiting interpretation.
  5. Extend the scenario to changed load, skew, or failure, explaining TCP, UDP, QUIC, TLS, congestion, flow control, loss, head-of-line blocking.
  6. Connect the mechanism to a documented implementation and an alternative with a different workload fit. Close by stating the remaining cost and the next lesson dependency.

Required chapter material

Use a complete execution trace or worked calculation, supported by an annotated static diagram or table. Include language-neutral pseudocode or labeled SQL when it clarifies the mechanism. State preconditions, ownership, visibility, and failure boundaries for algorithms. Describe operational costs as well as the normal path. All questions raised in the narrative must be resolved in the text.

Visual explanation

A layered connection timeline identifies setup exchanges; a stream diagram distinguishes TCP byte ordering from QUIC stream independence under shared congestion control. The accompanying prose explains the arrows, state changes, or table entries so the lesson remains understandable in a plain Markdown reader.

Editorial checks

Confirm that the numerical example agrees with its units and assumptions. Check that a faster path preserves the stated contract, or explicitly identify the changed guarantee. Keep hypothetical figures separate from product measurements. Explain both an appropriate use and a limitation of the case design. Check terminology against the glossary and links against the course index.

Primary source set

Read the lesson · Curriculum