Computing and Internet Infrastructure
A structured guide to the physical components, layered protocols, cloud abstractions, reliability techniques, and parallel and distributed systems that make modern computing and the internet possible.
Infrastructure Components
Modern computing infrastructure combines two kinds of resources:
Physical infrastructure, including machines, cables, fiber-optic links, radio systems, switches, routers, storage, power, cooling, and buildings.
Conceptual infrastructure, including addresses, rules, protocols, abstractions, service interfaces, and software that coordinate physical resources.
The internet is a network of interconnected networks. Its independently operated systems exchange data through shared protocols rather than through one central machine.
Main devices and facilities
An is a device that sends or receives application data. Laptops, smartphones, servers, cloud virtual machines, printers, sensors, and embedded devices can all serve this role. Applications run on end systems and communicate through network interfaces.
A carries signals between devices. Links may use copper, fiber optics, Wi-Fi, cellular radio, microwave, or satellite transmission. Each has limits such as bandwidth, propagation delay, error rate, and physical distance.
A switch generally connects devices within a local network and forwards frames using local addresses. A connects different networks and forwards IP packets toward a destination. A typical path can pass from a phone over Wi-Fi to a home , through an internet service provider and regional networks, and finally to a cloud or data-center server.
A data center combines servers, storage, networking equipment, power, cooling, physical security, and operations systems. Separating workloads across racks, rooms, buildings, or geographic locations limits the effects of local failures.
Takeaway: The internet depends on cooperation between physical equipment and conceptual systems that give that equipment coordinated behavior.
Layers and
Layering divides network responsibilities into cooperating levels. The layers are conceptual rather than necessarily separate physical boxes:
Application: user-facing services such as HTTP, DNS, email, and streaming.
Transport: communication between application processes, using protocols such as TCP, UDP, and QUIC.
Internet or network: host addressing and packet movement between networks, using IPv4, IPv6, and .
: frame delivery across one local , using technologies such as Ethernet and Wi-Fi.
Physical: transmission of bits as electrical, optical, or radio signals.
explains how these layers cooperate. Application data becomes transport-layer data, then an IP packet, then a -layer frame, and finally physical signals. At the destination, the process is reversed: each layer interprets and removes its own header before passing the remaining data upward.
This design provides modularity. For example, a TCP connection can operate over Ethernet, Wi-Fi, or cellular networking because TCP relies on IP rather than on one particular physical medium.
Takeaway: Layering makes complex systems manageable by separating responsibilities behind defined interfaces.
Packets and Internet Delivery
The internet uses . A message is divided into smaller units called packets or datagrams, and packets from many users share network links. An IP packet generally contains a source IP address, a destination IP address, control information such as a hop limit or packet length, and a payload that may contain a TCP segment or UDP datagram.
uses shared capacity efficiently, but network delivery is not perfectly predictable. Packets may be delayed, lost, duplicated, delivered out of order, or discarded when a is congested. IP provides addressing and forwarding, but it does not itself guarantee reliable or ordered delivery.
A request to a website typically follows this progression:
An application identifies a service, often through a domain name.
The obtains an IP address through name-resolution mechanisms.
The application creates transport-layer data.
The operating system places that data inside an IP packet.
Switches and routers forward the packet toward the destination.
The destination server processes the request and sends packets back.
The receiving system reassembles the data and delivers it to the application.
A single web page may involve many requests and responses, each consisting of multiple packets.
Takeaway: IP moves addressed packets across interconnected networks, while higher layers provide the behavior applications need.
and Transport
determines paths through a network, while forwarding sends an individual packet to its next after a route has been selected. Routers exchange reachability information so that they can adapt when links fail or policies change.
Within an organization or provider, routers commonly use an interior protocol. Between independently administered networks, BGP-4 exchanges network-reachability information and the sequence of autonomous systems through which a route passes. This information supports loop avoidance and policy-based route selection.
A route is not necessarily geographically shortest. Administrative agreements, cost, available bandwidth, congestion, security requirements, reliability, and geographic or regulatory constraints can all influence path selection.
Transport choices
provides a connection-oriented byte stream. Sequence numbers, acknowledgments, retransmission, flow control, and congestion control support reliable and ordered delivery. TCP is appropriate when an application needs complete data in the correct order, such as a file transfer, database connection, or web transaction. Retransmissions and ordered delivery can add delay when an earlier segment is missing.
provides a lightweight datagram service. It uses port numbers and a checksum but does not itself guarantee delivery, ordering, duplicate suppression, or retransmission. UDP is useful when low overhead, low latency, or application-controlled recovery is important, including real-time audio and video, online games, and protocols that add their own reliability or encryption.
Takeaway: chooses network paths, while transport protocols determine how application processes exchange data over those paths.
Cloud Platforms and
Cloud computing exposes computing resources through network-accessible services instead of requiring every customer to own and operate the underlying machines. A cloud platform can provide servers, storage, networks, applications, and services from a shared pool of configurable resources.
Cloud infrastructure has two connected layers:
The physical layer contains servers, storage systems, network equipment, buildings, power, and cooling.
The abstraction layer contains , orchestration, software-defined networks, APIs, and management systems.
allows one physical server to host multiple virtual machines. Containers offer a lighter-weight form of isolation in which applications share parts of the operating-system environment. These abstractions let providers allocate, move, resize, and replace workloads without exposing every physical detail to customers.
Cloud services are commonly grouped as:
Infrastructure as a Service (IaaS): virtual machines, networks, and storage.
Platform as a Service (PaaS): managed runtimes, databases, and development platforms.
Software as a Service (SaaS): complete applications delivered over a network.
Takeaway: Cloud platforms turn pools of physical resources into flexible services through and management software.
and
means that a system continues to provide an acceptable service despite specified failures. Redundancy supplies extra or alternative resources so that one failure does not cause total failure.
Common techniques include:
duplicate power supplies and network paths;
replicated data;
multiple servers behind a load balancer;
automatic failover;
health checks and removal of failed instances;
backups and recovery procedures;
deployment across separate racks, facilities, or regions.
Redundancy must account for shared failure domains. Two servers connected to the same power circuit are not fully independent, and multiple copies on one physical disk do not protect against disk failure. zones and similar arrangements reduce dependence on one location by separating infrastructure and providing redundant connectivity.
can be approximated by:
does not mean failures never happen. It means failures are expected, detected, isolated, and recovered from within the system's design limits.
Takeaway: Reliable service depends on independent alternatives and recovery processes, not merely on having several copies.
Parallel and Distributed Computing
Parallel computing divides work among multiple processing units so that tasks can execute at the same time. The units may be cores in one computer, accelerators in one server, or many servers in a cluster.
A consists of multiple networked computers that cooperate on a task. These computers may not share memory or a clock, and communication can be delayed or interrupted. Distributed designs therefore must address coordination, partial failure, data placement, and consistency.
Data and task parallelism
In data parallelism, the same operation is applied to different portions of a data set. Partial results are combined after processing. MapReduce is an example: a map phase processes records independently, and a reduce phase combines grouped results.
In task parallelism, different workers perform different operations. For example, separate services might authenticate a user, retrieve product data, and calculate recommendations before a front-end service combines the results.
Distributed storage can partition data into shards and replicate each shard across multiple machines. Distribution improves capacity, performance, and , but it also introduces network delays, independent failures, temporary disagreement between replicas, coordination costs, and the risk that retries execute an operation more than once.
Good distributed designs define timeouts, retry policies, consistency expectations, recovery procedures, and the conditions under which an operation is safe to repeat.
Takeaway: Parallelism accelerates work through simultaneous execution, while distributed computing adds the challenge of coordinating independent machines over a network.
Putting the Infrastructure Together
A video-streaming service illustrates how the pieces fit together:
A phone acts as an and connects through a wireless .
Local switches and routers forward packets toward the service provider.
Name-resolution infrastructure helps locate the service.
IP carries packets between networks.
A transport protocol carries application data between the phone and service endpoints.
Internet routers select paths using maintained information.
A cloud load balancer distributes requests among application servers.
Distributed storage supplies video segments from replicated locations.
Multiple data-center zones provide alternatives if one zone fails.
Parallel workers transcode or analyze different video segments simultaneously.
The user experiences one application, but its operation depends on hardware, software, protocols, cloud abstractions, decisions, replication, and recovery mechanisms working together.
Final takeaway: Modern internet services are layered systems in which physical infrastructure, protocols, computation, storage, and fault-tolerance techniques reinforce one another.