Networks and Security

The History of Computer Networking: A Computing Milestone

Packet switching explained: how several people in the 1960s developed the idea of sending data in small pieces, and why it shaped network design.

On this page
  1. Two ways to carry a conversation
  2. Several people, several places
  3. How a packet network works
  4. Why it shaped network design
  5. Trade-offs
  6. A milestone in context

Two ways to carry a conversation

A telephone call in the mid-twentieth century worked by circuit switching. When you placed a call, the phone system set up a continuous path between you and the other party, and that path belonged to you until you hung up. This approach works well for voice, which is a steady stream. It is less suitable for computers, whose data tends to come in bursts: a few characters typed, then silence, then a large file. A reserved circuit sat idle much of the time while still being paid for.

Packet switching takes a different approach. A message is chopped into pieces called packets. Each packet carries a header with an address and some control information, and travels through the network on its own. The packets of many different conversations share the same lines, and equipment along the way forwards each one toward its destination. At the other end, the packets are put back in order and the message is rebuilt.

Several people, several places

Credit for the idea is shared, and the story is a good example of how invention often happens in parallel.

  • Paul Baran at the RAND Corporation in the United States worked in the early 1960s on communications systems that could keep working if parts of them failed. His reports described splitting messages into small blocks and routing them across a web of many links rather than through a few central points. This work was motivated by concerns over resilient military communication, which is the source of the later, oversimplified claim that the internet was designed to survive a war.
  • Donald Davies at the National Physical Laboratory in the United Kingdom independently developed similar ideas in the mid-1960s, aimed at making efficient use of lines for computer users. He is credited with the word “packet” and led the construction of a local experimental network at NPL.
  • Leonard Kleinrock studied the mathematics of queues in networks, at MIT and later UCLA, and his work on how messages wait their turn in a network provided theoretical support. How much he should be credited for the invention itself is sometimes debated.
  • Lawrence Roberts and colleagues at ARPA then took the ideas into the design of the ARPANET, aware of the work in the UK.

Because several groups were working on similar problems, and because each knew a little of the others’ work, statements that “X invented packet switching” are simplifications. A fair reading is that Baran and Davies developed the core concept independently, and others contributed theory and engineering.

How a packet network works

The basic steps are simple to describe.

  1. A sending computer divides data into packets.
  2. Each packet receives a header with the destination address and a sequence number.
  3. Routers, the devices that connect network links, read the header and forward the packet toward its destination.
  4. Packets in the same message may take different routes and may arrive out of order.
  5. The receiving computer reassembles them and can ask for any missing pieces to be sent again.

This is a simplified picture. Real networks differ in whether they establish a virtual connection first (as in the X.25 standard of the 1970s) or send each packet as an independent “datagram” (as the internet’s IP does). The French network CYCLADES, led by Louis Pouzin, was an influential early demonstration of the datagram approach.

Why it shaped network design

Packet switching had a number of consequences that continue to matter.

Efficient sharing. Because capacity is not reserved, many users can share the same lines, and idle gaps in one conversation are filled with another. This kept costs down, which helped make wide area networks affordable for research.

Resilience. A network of many links can route around a failed one. A router can send later packets by a different path. That does not make the network invulnerable, but it avoids dependence on one route.

Simple, general networks. A packet network does not need to know what kind of data it is carrying. Email, files and later voice and video can all be broken into packets. This flexibility is part of why one network could host many services that its designers never imagined, including the web.

A different relationship with the telephone industry. Telephone engineers were initially skeptical of packet switching, which departed from their experience and their business model. Over time, the telecommunications industry adopted it for data and then increasingly for voice.

Trade-offs

Packet networks bring their own challenges. Without reserved capacity, a congested network can delay or drop packets, so it needs rules for backing off when it is busy. Real-time uses such as voice calls are sensitive to delay and uneven arrival. Because packets from many sources are mixed together, security and accountability must be added with other tools rather than being a built-in feature of the connection. Designers spent years on these matters, and some are still being refined.

A milestone in context

Packet switching did not by itself create the internet. It needed agreed rules for addressing and delivery, which later became the internet protocols, and many other pieces such as modems, routers and standards. But the idea of treating data as independent pieces, and building a network around that, was one of the main conceptual steps that made large, shared computer networks workable. The first major application was the ARPANET, whose people are described in the history of ARPANET, and the idea has been the foundation of data networking ever since.

The complete guide to networks and security

The History of Computer Networking
Read the guide

Keep exploring

Guides from other topics

All topics →