Networking
The design and implementation of protocols, abstractions, and systems that enable communication between computers — layering, packetization, addressing, routing, reliability, and the end-to-end principle.
Packets, Protocols, and the Layered Model
Networking is the discipline of moving information between computers that do not share memory or a common clock.
The fundamental elements are hosts, links, packets, addresses, and protocols. Layering, encapsulation, and the end-to-end principle are the higher-order structures that allow us to build reliable, scalable, global communication from unreliable point-to-point links.
Sockets and the socket API are the key abstractions that operating systems expose to applications.
This note connects strongly to operating systems (the networking stack lives in the kernel), algorithms (routing, congestion control), embedded systems (networking on small devices), and the general theory of systems (networks as large-scale distributed control systems).
End-to-End, Layering, and Fundamental Limits
The end-to-end principle, the power of layering as a form of abstraction, and the inherent difficulty of providing perfect reliability or low latency in the presence of loss, reordering, and variable delay form the deductive core.
From these follow the design of TCP, IP, routing protocols, and modern congestion control.
Measuring Networks in the Wild
Throughput, latency, jitter, loss rate, and goodput are the primary observables. Queueing discipline, path characteristics, and protocol implementation have direct causal effects on application-visible performance.
The Core Networking Algorithms
Reliable transport, congestion control, routing, and forwarding are the production-grade algorithms that make the Internet (and smaller networks) work.
Each has a clear specification, correctness argument under stated assumptions, and well-understood performance trade-offs.
Distributed Queues under Feedback Control
A network is a classic distributed stock-and-flow system. Links and router queues are the stocks with finite capacity. Packets are the units of flow. Congestion control and routing are the feedback mechanisms that prevent collapse and maximize useful work.
The same archetypal behaviors (congestion collapse, bufferbloat, oscillations) appear at many scales.
Global Scale under Economic and Security Constraints
Building and operating networks at Internet scale is one of the great engineering achievements of the modern era. The constraints of heterogeneity, economics, security, and the difficulty of coordinated change dominate every major design decision.
The substrate here captures the essential objects, flows, and trade-offs that network engineers and researchers work with daily.
Connections
Networking is the communication substrate on which distributed systems, the web, cloud computing, machine learning training clusters, and most scientific computing depend. Its protocols and mechanisms appear throughout the atlas whenever computation spans multiple machines.
This note provides a rich, well-connected node for the entire computer science and systems cluster.