Last updated: 2026-09-18

U
Undergraduate level

Computer Networks Fundamentals

Two things have to be true for one computer's program to talk to another's: both sides need to agree on how bits are packaged and addressed, and both sides need a shared discipline for handling the fact that networks lose, reorder, and delay data. Kurose and Ross's textbook is the standard modern treatment of both halves, and its top-down framing (start from what an application needs, work downward to the wire) is the one followed here1.

Layered Models: OSI and TCP/IP

The seven-layer OSI model is the one most textbooks teach first, and it's a genuinely useful way to think about the separate concerns involved in getting data from one application to another (physical transmission, addressing and routing, reliable delivery, session management, and so on). OSI is a teaching and reference model, not what's actually implemented — the internet runs on the simpler, four-layer TCP/IP model, which collapses several of OSI's layers together. The two map roughly onto each other, but treating OSI as "what's really there underneath TCP/IP" overstates OSI's role; it's a conceptual framework other protocol suites, including TCP/IP, can be compared against, not a specification any of them literally follow layer-for-layer.

IP Addressing and Routing

Every device on an IP network has an address (IPv4's familiar dotted-decimal form, e.g. 192.168.1.1, or IPv6's much larger address space) that identifies where it is on the network, structurally similar to how a postal address has a country, city, and street. Routing is the process of getting a packet from its source to its destination across a chain of intermediate routers, each one forwarding the packet based on its destination address and the router's own routing table — a locally-built map of "which direction gets you closer to which address ranges," rather than any single router knowing the complete path in advance.

The TCP Three-Way Handshake

TCP provides a reliable, ordered, connection-oriented stream on top of IP's unreliable, connectionless packet delivery — and that connection has to be explicitly established before either side sends real data. The handshake that does it, defined in the current TCP specification2, takes exactly three messages:

sequenceDiagram participant Client participant Server Client->>Server: SYN (seq=x) Server->>Client: SYN-ACK (seq=y, ack=x+1) Client->>Server: ACK (ack=y+1) Note over Client,Server: Connection established

Each side proposes its own starting sequence number (rather than always starting at a fixed number like 0) specifically to make an old, delayed packet from a previous connection unlikely to be mistaken for part of a new one, and each ACK confirms receipt of the other side's SYN by acknowledging its sequence number plus one — which is also why the handshake needs three messages rather than two: a simple two-way exchange would let either side confirm it heard the other, but not let both sides confirm the connection is mutually, simultaneously established before data starts flowing.

Congestion Control

Because many independent connections share the same network links, a sender pushing data as fast as its own link allows can still overwhelm a router or link somewhere in the middle of the path, and unlike flow control (which protects a slow receiver), congestion control protects the network itself. The general shape of the solution, common across the specific algorithms that implement it, is for a sender to start cautiously, ramp up its sending rate while there's no sign of trouble, and back off sharply the moment it detects loss or excessive delay — treating dropped packets or rising latency as the network's only real signal that it's approaching capacity, since routers along the path don't otherwise tell a sender when they're getting full.

Wireless Networks

Wireless links introduce problems wired Ethernet mostly avoids: a much higher and more variable error rate (interference, signal fading with distance), and the hidden terminal problem — two devices that can each reach a shared access point, but can't hear each other directly, and so can't tell by listening whether the other is already transmitting, risking a collision at the access point that neither sender detected happening. Wireless protocols compensate with more active coordination than wired Ethernet needs — explicit acknowledgements for every frame, and reservation-based schemes (a device signalling "I'm about to send" before it does) rather than relying purely on listening before transmitting.

Where Security Fits

Everything above gets data from one place to another; none of it, by itself, keeps that data confidential or verifies who's really on the other end. Those are the separate, deliberately layered-in concerns covered on Encryption (confidentiality and authentication via symmetric and asymmetric cryptography) and Firewalls (controlling which traffic is allowed to reach a network in the first place).

References


  1. Kurose, J. F., & Ross, K. W. (2022). Computer Networking: A Top-Down Approach (8th ed.). Pearson. Held by the University of Reading Library.

  2. Eddy, W. (Ed.). (2022). Transmission Control Protocol (TCP) (RFC 9293, STD 7). IETF. https://www.rfc-editor.org/info/rfc9293/