Computer Networks
Computer networks are the engineered substrate underneath the web, cloud services, mobile apps, streaming media, email, remote login, distributed databases, and modern AI clusters. This section follows the systems viewpoint of Peterson and Davie's Computer Networks: A Systems Approach: protocols are not isolated acronyms, but cooperating mechanisms for naming, framing, routing, reliability, congestion response, security, and application semantics.
The notes are organized topically rather than as a strict chapter mirror. The early pages build from architecture, links, and local networks into IP routing. The middle pages cover transport behavior and congestion control, where end-to-end design and shared-resource feedback meet. The final pages move up to applications, security, and modern data-center networks, including supplemental material on QUIC, HTTP/3, SDN, overlays, service meshes, RDMA, and SmartNICs that extends beyond the older textbook era.
Each detail page includes definitions, key results, a visual anchor, worked examples, runnable Python code, common pitfalls, cross-links, and references. The goal is to make the section useful both for exam review and for engineering intuition: what problem a protocol solves, what state it keeps, what assumptions it makes, and how it fails in real systems.