Book Exercise Lanes
This module's exercise system is book-driven. Use these local chunks for targeted volume after you have already learned the concept from the guide.
How To Use This Page
- Finish the relevant concept page first.
- Solve at least one problem of your own from memory (design a subnet, trace a handshake, write a socket skeleton).
- Only then open the matching exercise lane.
- Keep a mistake log with tags such as
wrong layer,wrong subnet,confused TIME_WAIT / CLOSE_WAIT,forgot htons,missing Content-Length, orblocked in event loop.
Lane 1: Layered Model, Addressing, and IP
Use this lane when your main problem is thinking in layers or doing subnet math.
- CN 1.5.1 Layered architecture (Part 1)
- CN 1.5.1 Layered architecture (Part 2)
- CN 1.5.2 Encapsulation
- CN 4.3.2 IPv4 addressing (Part 1)
- CN 4.3.2 IPv4 addressing (Part 2)
- CN 4.3.3 NAT
- CN Homework Problems (Part 1)
Target outcomes:
- 10 correctly solved CIDR problems (network, broadcast, usable range, membership)
- 4 encapsulation diagrams drawn from memory
- 3 "which layer owns this" classifications of real symptoms
Lane 2: TCP and UDP
Use this lane when you understand the layers but confuse TCP's mechanisms or its state machine.
- CN 3.3 UDP (Part 1)
- CN 3.5.1 The TCP connection
- CN 3.5.2 TCP segment structure (Part 1)
- CN 3.5.5 Flow control
- CN 3.5.6 TCP connection management (Part 1)
- CN 3.5.6 TCP connection management (Part 2)
- CN 3.7.1 Classic TCP congestion control (Part 1)
- CN Wireshark lab: exploring TCP/UDP
- UNP 2.6 TCP establishment and termination
- UNP 2.7 TIME_WAIT state
Target outcomes:
- 6 full handshake / close walkthroughs from a packet capture you produced yourself
- 4 state-machine questions answered from memory (
CLOSE_WAIT,TIME_WAIT,FIN_WAIT_2,LAST_ACK) - 3 UDP-vs-TCP choice defenses written in one paragraph each
Lane 3: HTTP, TLS, and Application Protocols
Use this lane when you can describe TCP but your HTTP or TLS explanations are vague.
- CN 2.2.1 Overview of HTTP
- CN 2.2.3 HTTP message format
- CN 2.2.6 HTTP/2
- CN 2.4.3 DNS records and messages (Part 1)
- CN 8.6.1 The big picture (TLS)
- CN 8.6.2 A more complete picture
- CN Wireshark lab: SSL
- RFC 9110 -- HTTP Semantics
- RFC 8446 -- TLS 1.3
Target outcomes:
- 5 HTTP request/response pairs written from memory for realistic endpoints
- 4 "pick the right status code" judgments with one-sentence justifications
- 2 TLS handshake diagrams drawn from scratch
Lane 4: Sockets, Server Architecture, and Debugging
Use this lane when you can discuss protocols but struggle to implement or debug them.
- UNP 4.2 socket
- UNP 4.4 bind
- UNP 4.5 listen (Part 1)
- UNP 4.7 accept
- UNP 4.3 connect
- UNP 5.2 TCP echo server
- UNP 6.2 I/O models
- UNP 6.3 select (Part 1)
- UNP 14.6 advanced polling (Part 1)
- UNP 26.4 TCP echo server using threads
- UNP 30.6 preforked TCP server (Part 1)
- UNP 30.11 one-thread-per-client server
- UNP netstat program
- Beej's Guide to Network Programming
Target outcomes:
- 3 working echo servers (iterative, threaded, event-driven) you wrote yourself
- 2
.pcapcaptures you produced, annotated by hand - 1 short benchmark comparing at least two server architectures under load
Self-Curated Problem Set
Build a custom set with these minimums:
- 5 subnet and CIDR problems
- 5 TCP state-machine or handshake problems
- 3 HTTP-on-the-wire reading exercises
- 2 TLS handshake diagrams
- 3 socket programming mini-exercises
Completion Checklist
- Completed at least one lane in full
- Logged at least 10 real mistakes and corrections
- Produced at least two
.pcapfiles from programs you wrote or ran yourself - Wrote at least one page of prose on a protocol choice you had to defend
- Re-attempted at least three failed exercises after review