Skip to content

How the Internet Works

Follow the journey from ARPANET to the modern web. Understand packet switching, TCP/IP, DNS, and HTTP - the protocols that power everything online.

How the Internet Works guided path map

An ordered sequence of 6 events covering 45 minutes.

How the Internet Works guided path An ordered sequence of 8 dated stops covering 45 minutes. Each card lists a stop number, the year, the title and the publisher. The final stop is emphasised in brand red. HOW THE INTERNET WORKS Source: Computer History Museum Packets, naming, web, and the modern transport layer. next row STOP 1 1969 ARPANET first link computerhistory.org STOP 2 1983 TCP/IP cutover onARPANET datatracker.ietf.org STOP 3 1983 DNS specified (RFC882-883) datatracker.ietf.org STOP 4 1989 BGP-1 published (RFC1105) datatracker.ietf.org STOP 5 1991 World Wide Web publicrelease w3.org STOP 6 1997 HTTP/1.1 standardised(RFC 2068) datatracker.ietf.org STOP 7 2015 HTTP/2 published (RFC7540) datatracker.ietf.org STOP 8 2022 HTTP/3 over QUIC (RFC9114) datatracker.ietf.org 8 stops, in chronological order Arrows mark the next stop in the path, not direct historical causality. The final stop is emphasised in brand red.

Arrows mark the next step in the path, not direct historical causality. Source: Computer History Museum.

1. Invention of packet switching

1961 to 1964.Networking.Invention.Event page

Existing telecommunications relied on circuit switching, where a dedicated physical path was established for each call. This approach was inefficient for computer data, which arrives in bursts, and vulnerable to single points of failure. A nuclear attack could disable entire communication networks by destroying key switching centres.

Packet switching divided data into small, independently-routed packets that could take different paths through a network and be reassembled at the destination. This made networks more efficient for bursty computer traffic and more resilient to failures.

Leonard Kleinrock at MIT developed the mathematical theory of packet switching in his 1961 PhD work. Independently, Paul Baran at RAND Corporation designed distributed packet-switched networks for military survivability in 1964. In the UK, Donald Davies at NPL coined the term "packet" and designed similar systems in 1965-66. These parallel developments converged to form the foundation of modern networking.1, 2, 3, 4

2. ARPANET's first message

29 October 1969.Networking.Protocol deployed.Event page

Despite theoretical work on packet switching, no operational packet-switched computer network existed. Researchers at different institutions could not easily share computing resources or communicate electronically.

The first host-to-host message was sent over ARPANET from UCLA to Stanford Research Institute. This demonstrated that packet switching worked in practice and marked the beginning of the internet.

ARPA (Advanced Research Projects Agency) funded the development of a packet-switched network connecting university research computers. The first Interface Message Processor (IMP) was installed at UCLA on 30 August 1969. On 29 October 1969, Charley Kline at UCLA attempted to log into the SRI computer. The system crashed after transmitting 'LO' (the first two letters of 'LOGIN'), but the connection was successfully re-established.5, 4

3. TCP/IP specification

May 1974 to September 1981.Networking.Standard published.Event page

ARPANET used the Network Control Protocol (NCP), which worked only within a single network. There was no way to interconnect different networks (e.g., ARPANET, satellite networks, radio networks) into a unified internetwork.

The Transmission Control Protocol (TCP) and Internet Protocol (IP) provided a universal protocol suite that could interconnect heterogeneous networks. IP handled routing between networks; TCP handled reliable end-to-end communication.

Vinton Cerf and Robert Kahn published 'A Protocol for Packet Network Intercommunication' in May 1974, describing the initial TCP design. RFC 675 (December 1974) provided the first TCP specification. The protocol was later split into TCP (transport) and IP (network), formalised in RFC 791 (IP) and RFC 793 (TCP) in September 1981.6, 7, 8, 9, 4

4. Domain Name System

November 1983.Networking.Standard published.Event page

The early internet used a single HOSTS.TXT file maintained by SRI-NIC to map hostnames to IP addresses. As the network grew, this centralised approach became unsustainable. Updates were slow, the file grew unwieldy, and there was no hierarchy for organising names.

The Domain Name System (DNS) replaced the flat HOSTS.TXT file with a distributed, hierarchical naming system. DNS introduced domain names (like example.com), delegated authority through a tree structure, and allowed names to be resolved through a network of nameservers.

Paul Mockapetris at USC's Information Sciences Institute designed DNS and published the specification in RFC 882 and RFC 883 in November 1983. The design introduced the concept of zones, authoritative nameservers, and recursive resolution. RFCs 1034 and 1035 (1987) refined the specification and remain the foundational DNS documents.10, 11, 12, 13

5. World Wide Web

March 1989 to August 1991.Networking.Invention.Event page

Information at CERN was scattered across different systems, formats, and machines. Researchers struggled to share documents and data. Existing hypertext systems were isolated and did not work across networks. The internet existed but lacked a user-friendly way to navigate information.

Tim Berners-Lee invented the World Wide Web: a system combining hypertext with internet protocols. The Web introduced URLs (addresses), HTTP (transfer protocol), and HTML (document format). For the first time, anyone could publish and link to information accessible worldwide.

Tim Berners-Lee proposed a 'distributed hypertext system' at CERN in March 1989. Working with Robert Cailliau, he developed the first web server (httpd), browser (WorldWideWeb), and HTML by late 1990. The first website (info.cern.ch) went live on 6 August 1991. CERN released the software into the public domain in April 1993.14, 15

6. HTTP, 0.9 to RFC 9110

May 1996 to June 2022.Networking.Standard published.Event page

The original HTTP/0.9 was extremely simple, supporting only GET requests for HTML. As the Web grew, limitations became apparent: no persistent connections (new TCP connection for each request), no content negotiation, no caching headers, and no security.

HTTP evolved through multiple versions: HTTP/1.0 (1996) added headers, methods, and status codes; HTTP/1.1 (1999) added persistent connections and chunked transfer; HTTP/2 (2015) added multiplexing and header compression; HTTP/3 (2022) moved to QUIC, eliminating TCP head-of-line blocking.

RFC 1945 formalised HTTP/1.0 in 1996. RFC 2616 (HTTP/1.1) addressed performance with persistent connections. Google's SPDY research influenced HTTP/2 (RFC 7540). Cloudflare and Google championed QUIC, leading to HTTP/3 (RFC 9114). Each version maintained backward compatibility while addressing specific performance bottlenecks.16, 17, 18, 19, 20

Sources

1Leonard Kleinrock. "Information Flow in Large Communication Nets". MIT, 1961-05-31.peer reviewedwww.lk.cs.ucla.edu/data/files/Kleinrock/Information%20Flow%20in%20Large%20Communication%20Nets.pdf
2Paul Baran. "On Distributed Communications: I. Introduction to Distributed Communications Networks". RAND Corporation, 1964-08.authoritativewww.rand.org/pubs/research_memoranda/RM3420.html
3Donald Davies. "A Digital Communication Network for Computers Giving Rapid Response at Remote Terminals". National Physical Laboratory, 1966.authoritative
4Barry M. Leiner, Vinton G. Cerf, David D. Clark, Robert E. Kahn, Leonard Kleinrock, Daniel C. Lynch, Jon Postel, Larry G. Roberts, Stephen Wolff. "A Brief History of the Internet". Internet Society, 1997.authoritativewww.internetsociety.org/internet/history-internet/brief-history-internet/
5Steve Crocker. "RFC 1: Host Software". Network Working Group, 1969-04-07.authoritativewww.rfc-editor.org/rfc/rfc1
6Vinton G. Cerf, Robert E. Kahn. "A Protocol for Packet Network Intercommunication". IEEE, 1974-05.peer reviewedieeexplore.ieee.org/document/1092259
7Vinton Cerf, Yogen Dalal, Carl Sunshine. "RFC 675: Specification of Internet Transmission Control Program". Network Working Group, 1974-12.authoritativewww.rfc-editor.org/rfc/rfc675
8Jon Postel. "RFC 791: Internet Protocol". DARPA, 1981-09.authoritativewww.rfc-editor.org/rfc/rfc791
9Jon Postel. "RFC 793: Transmission Control Protocol". DARPA, 1981-09.authoritativewww.rfc-editor.org/rfc/rfc793
10Paul Mockapetris. "RFC 882: Domain Names - Concepts and Facilities". ISI, 1983-11.authoritativewww.rfc-editor.org/rfc/rfc882
11Paul Mockapetris. "RFC 883: Domain Names - Implementation and Specification". ISI, 1983-11.authoritativewww.rfc-editor.org/rfc/rfc883
12Paul Mockapetris. "RFC 1034: Domain Names - Concepts and Facilities". ISI, 1987-11.authoritativewww.rfc-editor.org/rfc/rfc1034
13Paul Mockapetris. "RFC 1035: Domain Names - Implementation and Specification". ISI, 1987-11.authoritativewww.rfc-editor.org/rfc/rfc1035
14Tim Berners-Lee. "Information Management: A Proposal". CERN, 1989-03.authoritativewww.w3.org/History/1989/proposal.html
15Tim Berners-Lee, Robert Cailliau. "WorldWideWeb: Proposal for a HyperText Project". CERN, 1990-11-12.authoritativewww.w3.org/Proposal.html
16Tim Berners-Lee, Roy Fielding, Henrik Frystyk Nielsen. "RFC 1945: Hypertext Transfer Protocol - HTTP/1.0". IETF, 1996-05.authoritativewww.rfc-editor.org/rfc/rfc1945
17Roy Fielding, Jim Gettys, Jeffrey Mogul, Henrik Frystyk Nielsen, Larry Masinter, Paul Leach, Tim Berners-Lee. "RFC 2616: Hypertext Transfer Protocol - HTTP/1.1". IETF, 1999-06.authoritativewww.rfc-editor.org/rfc/rfc2616
18Eric Rescorla. "RFC 2818: HTTP Over TLS". IETF, 2000-05.authoritativewww.rfc-editor.org/rfc/rfc2818
19Mike Belshe, Roberto Peon, Martin Thomson. "RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)". IETF, 2015-05.authoritativewww.rfc-editor.org/rfc/rfc7540
20Mike Bishop. "RFC 9114: HTTP/3". IETF, 2022-06.authoritativewww.rfc-editor.org/rfc/rfc9114