sections of the book, and some readers may choose
to skip them.
Communications networks are described in terms of "layers," in which
each layer has specific jobs (e.g., routing, transport). At their simplest,
communications systems have two layers: physical and logical. The physical layer consists of the wires and cables that make up the communication
system. These can be copper wires, fiber-optic cables, or even the wireless
communications systems that are supplanting them in many parts of the
world. (Many parts of the world had not built the wired infrastructure and
so skipped over it in favor of completely wireless communications.) Both
the PSTN and the Internet use this same type of physical layer. Indeed,
they use the same type of transmission facilities, often sharing them, and
they use the same type of electronic routing and switching devices to move
communications through the network.
Recall that the two communications systems differ in the logical layers
that direct how communications traverse the network. The PSTN establishes a circuit for a call and this circuit is used by the communication for
the entire duration of the call. Internet communications are broken into
packets and each packet is sent over the network individually. Packets from
a single communication could follow different paths. They are subjected
to the possibility of being subdivided into several smaller packets, or even
dropped entirely, at the discretion of a router handling it. Because packets
may arrive out of order, proper sequencing and reassembly of the packets
into the original message are the responsibility of the receiving end, called
a network host or simply a host.
Engineers talk about the Internet having a protocol stack; this model,
shown in figure 2.2, simplifies envisioning the communication system. The
bottom of the Internet protocol stack is the physical layer, consisting of the
connections between nodes. Above this is the link layer, the logical layer
that communicates with the actual physical hardware of the network. The
link layer provides a simple program that moves data from one device in
the network to the next. Then the question is which way a packet should
exit a link. This is settled by the Internet layer, the next level of the protocol
stack. There are various functionalities at the Internet layer,47 but here I
will focus only on packet routing. This is where the IP part of Cerf and
Kahn's TCP/IP is implemented, using a device called a router.
Figure 2.2
Internet protocol stack. Illustration by Nancy Snyder.
A router is a simple computer connecting two or more networks. Each
arriving packet has the numeric IP address of its source and destination.
The router examines a packet's destination address and determines from
this which link out of the router the packet should take. Of course, the
router cannot possibly know all the best routes to all possible destinations
(of which there are currently billions on the Internet). Instead the router
knows something local: it knows the routers to which it is connected and
it knows a little bit about where these are connected. The beauty of the Cerf and Kahn protocol is that even though each router is mostly concerned only about the packet's next hop, packets make it to their destination efficiently.
Routers store routing information in routing tables. These tables are
small databases, recording locations (addresses) of other network devices
and the most efficient routes to them. Internet routing changes as new
devices are added or taken off the network, new networks created, new
ISPs linked to, communication links fail or are restored to service, and so
on. Thus routing tables are constantly updated through the routers sharing
new routing information with one another. (In this, the Internet differs
from its predecessor, the PSTN, where such routing tables had been determined in advance by the phone company.) This on-the-fly updating