Computer Networks

Computer networks take the previous topic's isolation, addressing, and controlled access and scale every one of those ideas up from one machine sharing resources among its own processes to many machines sharing a wire, a radio signal, or a fiber link. Instead of sending a file or a web page in one unbroken stream, a network breaks it into packets, small chunks of data each carrying its own header with a source and destination address, so that if one chunk gets lost or corrupted only that chunk needs to be resent rather than the entire transfer. An IP address identifies a specific machine on the network, playing exactly the same role at network scale that a memory address played inside one machine back in the memory-and-execution topic — a unique location that data can be addressed to and delivered toward. Routing is how a packet actually gets from its source to its destination across a network of many intermediate machines called routers: each router looks only at the destination address and forwards the packet one hop closer, the same kind of shortest-path graph traversal this series' algorithms topic already covered, except the graph here is made of physical routers and the edges are physical links. Once packets can reach a destination, TCP and UDP decide how reliably they arrive: TCP numbers every packet, waits for acknowledgment, and automatically retransmits anything lost or out of order, trading some speed for a guarantee that data arrives complete and in the right sequence — exactly what a file download or a web page needs; UDP skips all of that overhead and just fires packets off with no guarantee of delivery or order, which is wasted effort for a file but ideal for something like a live video call where a late packet is worthless anyway and arriving fast matters more than arriving guaranteed. DNS is the system that turns a human-readable name into the IP address routing actually needs, functioning as the internet's phone book: typing a domain name triggers a DNS lookup that resolves it to an IP address before a single packet can even be addressed. HTTP is the application-level language built on top of all of this — the actual request-and-response format a browser and a web server speak once a TCP connection is established, with a request naming a specific resource and a response carrying it back, which is the exact mechanism this series' own content has been delivered through this entire time. Every layer here builds on the one below it, the same layered discipline this series has applied since digital logic, and the next topic, databases, is what sits on the other end of that HTTP response, organizing the actual data being requested.

Browser wants a page by name
e.g. chipfoundryservices.com
DNS resolves the name to an IP address
the internet's phone book
Data splits into packets, each IP-addressed
routers forward each one hop closer, like a graph traversal
TCP
ordered, acknowledged, retransmits — reliable but slower
UDP
no guarantee, no ordering — fast but lossy
HTTP carries the actual request and response
the language a browser and server speak once connected
Routing: Hop by Hop, Like a Graph Traversal Each router only decides the next hop, not the whole path Source 192.168.1.10 Router 1 one hop closer Router 2 one hop closer Destination 93.184.216.34 a packet header [ source IP | destination IP | sequence number | data ] only the destination IP matters to each router along the way each router has no idea about the full path — exactly like a BFS/DFS frontier node only knowing its own immediate neighbors if one link is down, a packet can take a completely different route
TCP vs. UDP: Reliable or Fast, Rarely Both Same packets underneath, two very different guarantees on top TCP numbers every packet waits for acknowledgment retransmits lost packets a file download or a web page: a missing byte breaks the file, so reliability wins over speed UDP no numbering no acknowledgment no retransmission a live video call: a late packet is already useless, so speed wins over reliability HTTP rides on top of TCP: your browser's request and this article's response both depend on every packet arriving intact

Take computer networks further

Ask the copilot about this term, or have our engineers assess it against your process.