Ask HN: Good book to learn modern networking?

Modern computer networking is best learned through a mix of classic textbooks, protocol references, and hands-on experimentation. Commenters highlight long-standing staples like “TCP/IP Illustrated,” Tanenbaum’s “Computer Networks,” and Kurose’s “Computer Networking: A Top-Down Approach,” alongside newer resources such as The Illustrated Network, online lectures, RFCs, and browser-focused texts. A recurring theme is that core concepts (Ethernet, IP, TCP, DNS) change slowly and remain crucial, while practical labs—home routers, VLANs, Wireshark traces, and virtual labs—are essential to bridge theory and real-world troubleshooting.

Scope of “modern networking”

  • Many commenters argue “modern” networking still rests on decades-old fundamentals: Ethernet, IP, TCP/UDP, DNS, DHCP, HTTP.
  • Newer topics (cloud, SDN, VPCs, CDNs, QUIC, WebSockets, WebRTC, VXLAN, BGP in DCs, userspace networking, SmartNICs) are seen mostly as additional layers/abstractions.
  • Some stress that IPv4/IPv6 policies and practices have changed significantly; others claim the TCP/IP core “hasn’t changed at all,” reflecting disagreement.

Foundational books and references

  • Strong praise for classics like “TCP/IP Illustrated” (especially volume 1) and “Unix Network Programming” for deep protocol understanding and network programming.
  • A large TCP/IP book from No Starch is positioned as an encyclopedia/reference, not an intro; its age makes some IPv4/IPv6 content outdated.
  • Other recommended overviews: “Computer Networking: A Top-Down Approach,” “Computer Networking: A Systems Approach,” “The Illustrated Network,” “The TCP/IP Guide,” “Interconnections,” and various engineering/architecture texts.
  • Concerns: some textbooks barely treat the physical layer; others are praised for acknowledging SDN and control/forwarding plane separation. Textbook pricing/licensing is criticized.

Web- and browser-oriented material

  • “High-Performance Browser Networking” is repeatedly recommended for web developers: concise, practical, but browser-focused and somewhat dated regarding modern CDNs/VPNs.

Beginner-friendly and alternative formats

  • Suggestions include YouTube series, university lecture videos, zines, short “networking for sysadmins/programmers” books, and CCNA-style materials.
  • Hands-on network programming intros (e.g., Beej-style guides, C socket books, ZeroMQ guide) are recommended for learning by coding.

Hands-on labs and troubleshooting practice

  • Strong consensus that practice is essential: build overcomplicated home networks, VLAN segmentation, guest networks, mDNS across VLANs, Pi-hole, WireGuard/VPNs, PBX setups.
  • Use tools like Wireshark, tcpdump, ping, netstat, ifconfig/route, etc.; one view is that problem-solving these setups builds intuition better than theory alone.
  • Emulators (GNS3, Packet Tracer, mininet) are suggested for virtual labs; one commenter imagines a “LeetCode for networking” with structured troubleshooting scenarios.
  • RFCs and IEEE 802 specs are recommended as primary sources once basics are in place, with Wikipedia as a gentler entry to RFCs.