My networking notes used to be full of layer names, header diagrams, and TCP flags. I knew the terminology, but when someone asked what happens after calling send() , my explanation stopped at "the data goes down the stack." I changed my approach by connecting three things: The spec: what the RFC defines. The code: how Linux or C headers represent it. The wire: what tcpdump or Wireshark captures. This post applies that approach to four exercises, moving from packe...