Network protocols, RFCs, and internet infrastructure.
- TCP/IP Illustrated, Vol. 1 - W. Richard Stevens. The bible of TCP/IP. Start here.
- Computer Networking: A Top-Down Approach - Kurose & Ross. Best textbook for the full stack, top to bottom.
- Computer Networks - Tanenbaum & Wetherall. Classic systems-oriented perspective.
- High Performance Browser Networking - Ilya Grigorik. Free online. Excellent on HTTP/2, WebSocket, WebRTC.
- Interconnections - Radia Perlman. Bridges, routers, switches, and protocols.
- RFC 793 - Transmission Control Protocol (TCP). The original spec: connection establishment, flow control, reliability. Read alongside Stevens.
- RFC 791 - Internet Protocol (IP). The fundamental datagram format and addressing that underpins the entire internet. Short and readable.
- RFC 1035 - Domain Name System (DNS). How names become addresses. Focus on the message format and resolution algorithm.
- RFC 2616 - HTTP/1.1 (historical, superseded by RFC 7230-7235). The protocol every web developer uses daily.
- RFC 7540 - HTTP/2. Multiplexed streams, header compression, server push. Major performance improvement over HTTP/1.1.
- RFC 9000 - QUIC. UDP-based multiplexed transport with built-in encryption. Replaces TCP+TLS for HTTP/3.
- RFC 8446 - TLS 1.3. Simplified handshake, forward secrecy by default. Understand the security model.
- RFC 4271 - Border Gateway Protocol (BGP-4). How autonomous systems exchange routing information. The glue of the internet.
- RFC 3550 - RTP: Real-Time Transport Protocol. Audio/video streaming over UDP with timing reconstruction and loss detection.
- RFC 6455 - The WebSocket Protocol. Full-duplex communication over a single TCP connection. The HTTP upgrade mechanism.
- RFC 7049 - CBOR. Binary JSON alternative designed for constrained environments and IoT.
- Ben Eater's Networking Series - Hardware-level networking built from scratch, showing how bits become frames and packets.
- Jim Kurose's Computer Networking Lectures - Companion lectures to the Kurose & Ross textbook, by the author himself.
- End-to-End Arguments in System Design - Saltzer, Reed, Clark (1984). Foundational design principle.
- Congestion Avoidance and Control - Van Jacobson (1988). The paper that saved the internet from congestion collapse.
- BBR: Congestion-Based Congestion Control - Cardwell et al. (2016). Google's modern approach to congestion control.
- The Design Philosophy of the DARPA Internet Protocols - David Clark (1988). Why the internet is designed the way it is.
- A Protocol for Packet Network Intercommunication - Cerf & Kahn (1974). The original TCP/IP paper.
- The QUIC Transport Protocol: Design and Internet-Scale Deployment - Langley et al. (2017). QUIC at Google scale.
- Beej's Guide to Network Programming - Classic hands-on intro to socket programming.
- Wireshark Documentation - Learn to capture and analyze packets.
- Implement DNS in a Weekend - Julia Evans. Build a DNS resolver from scratch.
- Let's Code a TCP/IP Stack - Implement a TCP/IP stack in C.
- Protohackers - Programming challenges based on network protocols.
- Chord: A Scalable Peer-to-peer Lookup Service - Stoica et al. (2001)
- Kademlia: A Peer-to-peer Information System Based on the XOR Metric - Maymounkov & Mazières (2002)
- libp2p Specification - Modular peer-to-peer networking stack.
- Stanford CS144: Introduction to Computer Networking - Build a TCP implementation from scratch.
- MIT 6.829: Computer Networks - Graduate-level networking.