Learning path

Computer networks

Learn protocol layering, IP addressing, TCP and UDP sockets, HTTP messages, and how routers choose where to send a packet.

About this subject

Computer networks connect machines so programs on them can exchange data. The Internet is organized in layers: links move frames between neighbours, IP moves packets across networks, TCP and UDP connect programs, and application protocols such as HTTP define what the programs say.

This path covers layering and encapsulation, IP addressing and subnets, TCP and UDP sockets on the loopback interface, HTTP request and response messages, and longest-prefix-match forwarding. Each lesson uses a small, complete program that runs on its own. Python has the full sequence. The other languages listed below add lessons that use that language's own idioms and standard library, such as Java threads, C++ smart pointers, C# LINQ, or Node.js streams, and appear only for the topics the language supports. The programs are simplified models chosen to make an idea visible, so they are a foundation for further study rather than a replacement for a full course or for production-grade software.

Before you start: Strings, bytes, dictionaries, and basic threads.

  1. 1

    Python

    Readable code for automation, data, and first programs.

  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8