|
Figure 2.1
|
Internet growth measured by the number of computers attached
to the Internet in each year from 1981 though 2003. The y-axis is
labeled in millions of computers.
|
|
Figure 2.2
|
Internet growth from 1981 through 2003 plotted on a log scale
illustrates the exponential growth.
|
|
Figure 2.3
|
Example output from the ping program run on the author's workstation. The
destination was www.sears.com, and the program was manually interrupted after
five responses were received.
|
|
Figure 2.4
|
Example output from the ping program for destination berkeley.edu,
which is located on the west coast. Round-trip times are higher than
than those reported in Figure 2.3.
|
|
Figure 2.5
|
Example output from the ping program for destination mit.edu, a
location on the east coast. Round-trip times are significantly higher
than in previous examples.
|
|
Figure 2.6
|
Example output from traceroute run on the author's workstation to
destination berkeley.edu, which is an alias for computer
chaparral.Berkeley.edu.
|
|
Figure 3.1
|
An example API consisting of seven operations. These seven functions
are sufficient for most network applications.
|
|
Figure 3.2
|
Illustration of the API calls used for a trivial interaction. The
client sends one request and receives one reply.
|
|
Figure 3.3
|
The three type names used in our example API. On a given computer
these types are defined to be integers of a specific size.
|
|
Figure 3.4
|
A summary of argument and return types for the example API.
|
|
Figure 3.5
|
Illustration of the echo application, which can be used on any two
computers connected to the Internet. The client program
runs on one computer and the server program runs on another.
|
|
Figure 4.1
|
Illustration of twisted pair wiring. A plastic coating on the surface
of each wire prevents the metal in one wire from touching the metal in the
other. The twists help reduce interference.
|
|
Figure 4.2
|
Enlarged cross-section of a coaxial cable with major parts identified.
Although a coaxial cable is stiffer than a single wire, it can be bent.
|
|
Figure 4.3
|
Illustration of a satellite used to provide communication across an
ocean. The satellite receives radio signals from one ground station, and
transmits them to another.
|
|
Figure 5.1
|
Illustration of how positive and negative voltage can be used to
transmit bits across a wire. In this example, the sender applies a negative
voltage to send a 1 bit or a positive voltage to send a 0 bit.
|
|
Figure 5.2
|
The voltage on a wire as a character is transmitted using RS-232. A
start bit notifies the receiver that a character is starting, and each
bit transmission lasts the same length of time.
|
|
Figure 5.3
|
The minimal wiring required for full-duplex RS-232 communication in
which control wires are omitted. Although the two circuits carry data
independently, it is possible for them to share a single ground wire.
|
|
Figure 5.4
|
An illustration of the voltage emitted by a real device as it
transmits a bit. In practice, voltages are often worse than this example.
|
|
Figure 6.1
|
The waveform of a typical carrier. The carrier oscillates
continuously, even when no data is being sent.
|
|
Figure 6.2
|
(a) A digital signal, and (b) the wave that results from amplitude
modulation using the signal in (a). The carrier is reduced to 2/3 full
strength to encode a 1 bit and 1/3 strength to encode a 0 bit.
|
|
Figure 6.3
|
An illustration of phase shift modulation. Arrows indicate points
at which the carrier abruptly jumps to a new point in the cycle.
|
|
Figure 6.4
|
The use of two modems for long-distance communication across a 4-wire
circuit. The modulator in one modem connects to the demodulator in the
other. A pair of wires is needed for each connection.
|
|
Figure 6.5
|
Illustration of dialup modems that use the voice telephone system
to communicate. To the telephone system, a dialup modem appears to be a
telephone.
|
|
Figure 6.6
|
The concept of frequency division multiplexing. Each pair of source
and destination can send data over the shared channel without interference.
In practice, each end requires a multiplexor and demultiplexor for
2-way communication, and a multiplexor may need circuitry to generate
the carrier waves.
|
|
Figure 7.1
|
An illustration of one reason computer networks use packets. While
one pair of computers communicate, others must wait.
|
|
Figure 7.2
|
Illustration of multiplexing with packets. The sources take turns
using the shared communication channel. (a) Computer 1 uses the
resource to send a packet, and then (b) computer 2 uses the resource
to send a packet.
|
|
Figure 7.3
|
An example frame that uses character soh to mark the beginning
of the frame and eot to mark the end. The format is simple and
unambiguous -- a receiver can tell when the entire frame has arrived, even
if there are delays between characters.
|
|
Figure 7.4
|
An example of byte stuffing. For each occurrence of a character listed
in the left column in the data, the sender transmits the two characters in
the right column.
|
|
Figure 7.5
|
Illustration of byte stuffing, where (a) is an example of data that
includes characters such as soh, and (b) is the frame after byte
stuffing. The dashed lines show the locations in the original data where
characters have been replaced or new characters added.
|
|
Figure 7.6
|
An example 16-bit checksum computation for a string of 12 ASCII
characters. Characters are grouped into 16-bit quantities, added together
using 16-bit arithmetic, and the carry bits are added to the result.
|
|
Figure 7.7
|
Illustration of how a checksum can fail to detect transmission
errors. Reversing the value of the second bit in each data item produces
the same checksum.
|
|
Figure 7.8
|
(a) A diagram of hardware that computes an exclusive or, and
(b) the output value for each of the four combinations of input
values. Such hardware units are used to calculate a CRC.
|
|
Figure 7.9
|
A shift register (a) before and (b) after a shift operation. During a
shift, each bit moves left one position, and the output becomes equal to
the leftmost bit.
|
|
Figure 7.10
|
A diagram of the hardware used to compute a CRC. After bits of a
message have been shifted into the unit, the shift registers contain the
16-bit CRC for the message.
|
|
Figure 7.11
|
A modification of the frame format from Figure 7.3 that includes
a 16-bit CRC.
|
|
Figure 8.1
|
The independent point-to-point connections required for (a) two,
(b) three, and (c) four computers. The number of connections grows
rapidly as the number of computers increases.
|
|
Figure 8.2
|
The disadvantage of a point-to-point network that requires a dedicated
connection for each pair of computers: the total number of connections
passing between two locations can exceed the total number of computers being
connected.
|
|
Figure 8.3
|
Illustration of the star topology in which each computer attaches to
a central point called a hub.
|
|
Figure 8.4
|
Illustration of a ring topology in which computers are connected in a
closed loop. Each computer connects directly to two others.
|
|
Figure 8.5
|
Illustration of a bus topology in which all computers attach to a
single cable.
|
|
Figure 8.6
|
Illustration of Manchester Encoding used with Ethernet. A change
from positive voltage to zero encodes a 0 bit, and a change from zero
to positive voltage encodes a 1 bit.
|
|
Figure 8.7
|
Conceptual flow of bits across an Ethernet. While transmitting a
frame, a computer has exclusive use of the cable.
|
|
Figure 8.8
|
Three computers with wireless LAN hardware positioned at maximal
transmission distance, d. Although computer 2 will receive
all transmissions, computers 1 and 3 will not receive
transmissions from each other
|
|
Figure 8.9
|
The conceptual flow of bits during a transmission on a token ring
network. Except for the sender, computers on the network pass bits of the
frame to the next station. The destination makes a copy.
|
|
Figure 8.10
|
(a) Arrows showing the directions that data flows around
counter-rotating rings, and (b) the same network after a station
has failed. After the failure, stations use the
reverse path to form a closed ring.
|
|
Figure 8.11
|
An ATM switch with six computers attached, and the star topology that
results.
|
|
Figure 8.12
|
Details of a connection between an ATM switch and a computer. Each
connection consists of a pair of optical fibers. One fiber carries data to
the switch, and the other carries data to the computer.
|
|
Figure 9.1
|
Organization of the hardware in a computer attached to a LAN. Because
it is powerful and independent, the network interface hardware does not use
the CPU when transmitting or receiving bits of a frame.
|
|
Figure 9.2
|
The general format of a frame sent across a LAN. The header contains
information such as the addresses of the sender and the recipient.
|
|
Figure 9.3
|
Illustration of the frame format used with Ethernet. The number
in each field gives the size of the field measured in 8-bit octets.
|
|
Figure 9.4
|
Examples of frame types used with Ethernet (type values are given
in hexadecimal). The table lists only a few examples; many other types
have been assigned.
|
|
Figure 9.5
|
Illustration of how type information can be included in a frame's data
area if the frame header does not include a type field.
.SX "frame" "type
|
|
Figure 9.6
|
An example of the 8-octet IEEE LLC/SNAP header, which is used to
specify the type of data. The SNAP portion specifies an organization and
a type defined by that organization.
|
|
Figure 10.1
|
The location of I/O sockets inside a typical computer. Each socket
aligns with an opening in the back of the cabinet, and the computer's bus
connects the socket to other major components such as the processor and
memory.
|
|
Figure 10.2
|
The back of a computer with a NIC installed in one of the sockets. A
cable attaches the exposed connector to the network.
|
|
Figure 10.3
|
Three computers connected to a thick Ethernet. An AUI cable
connects the NIC in each computer to its corresponding transceiver.
|
|
Figure 10.4
|
A connection multiplexor. Although the multiplexor attaches to a
single transceiver, multiple computers can connect to the multiplexor. Each
computer operates as if it connects directly to a transceiver.
|
|
Figure 10.5
|
Three computers connected on a thin wire Ethernet. The medium is
a flexible cable that connects from the NIC on one computer directly to
the NIC on another computer.
|
|
Figure 10.6
|
Three computers connected to an Ethernet hub using twisted pair
wiring. Each computer has a dedicated connection.
|
|
Figure 10.7
|
Illustration of computers in eight offices wired with (a) thick, (b)
thin, and (c) twisted pair Ethernet. Wires can run above the
ceiling or under a raised floor. A wiring closet may contain a hub
or equipment used for network monitoring, control, or debugging.
|
|
Figure 10.8
|
Illustration of the part of an Ethernet interface card exposed
when the card is installed in a computer. The interface can be used with
one of the three basic wiring schemes. Each wiring scheme uses a different
style connector.
|
|
Figure 10.9
|
Popular wiring categories and typical uses for each. Category
5E is an enhanced version of category 5.
|
|
Figure 10.10
|
Three Macintosh computers connected with LocalTalk
wiring. Each computer attaches to a transceiver with a short
LocalTalk cable, and LocalTalk cables connect the transceivers. A
LocalTalk transceiver with only one connection acts as a terminator for
the bus.
|
|
Figure 11.1
|
Optical fibers and fiber modems used to provide a connection between a
computer and a distant Ethernet. The computer and Ethernet hub both use
conventional signals.
|
|
Figure 11.2
|
A repeater R connecting two Ethernets. The repeater connects
directly to the cable.
|
|
Figure 11.3
|
Repeaters used to connect Ethernet segments on three floors of an
office building. Each floor has one segment, and one segment is placed
vertically in the building.
|
|
Figure 11.4
|
Six computers connected to a pair of bridged LAN segments. The bridge,
which uses the same type of connection as a computer, always sends and
receives complete frames.
|
|
Figure 11.5
|
A sequence of events for the example network shown in Figure 11.4 and
the locations of computers that the bridge has learned.
|
|
Figure 11.6
|
A bridge connecting LAN segments in two buildings. An optical fiber
is used to connect the bridge to a remote LAN segment.
|
|
Figure 11.7
|
A bridge using a leased satellite channel to connect LAN segments
at two sites. A satellite bridge can span arbitrary distance.
|
|
Figure 11.8
|
A bridged network that consists of eight segments connected by seven
bridges. Computers can be attached to any of the segments.
|
|
Figure 11.9
|
An example of bridges connected in a cycle. A problem occurs if
all bridges forward broadcast frames.
|
|
Figure 11.10
|
The concept underlying a switched LAN. Electronic circuits in the
switch provide each computer with the illusion of a separate LAN segment
connected to other segments by bridges.
|
|
Figure 12.1
|
An illustration of digitization using eight values. Each vertical
line represents an integer value chosen for one sample.
|
|
Figure 12.2
|
Illustration of a digital circuit with a DSU/CSU on each end.
The DSU/CSU converts between the digital standards used in the telephone
system and those used by computer vendors.
|
|
Figure 12.3
|
Data rates of popular digital circuit standards used in North
America and Europe.
|
|
Figure 12.4
|
An inverse mux using two T1 circuits to provide a connection
with twice the capacity. Inverse multiplexing is attractive economically
for intermediate capacities because two T1 circuits are much less expensive
than a T3 circuit.
|
|
Figure 12.5
|
Data rates of digital circuits according to the STS
hierarchy of standards.
|
|
Figure 12.6
|
Illustration of an STS-1 SONET frame with 810 octets divided into 9
rows of 90 columns. Octets at the beginning of each row provide
clock synchronization and maintenance information.
|
|
Figure 12.7
|
ADSL modems connected to existing local loop wiring. The
modems can use a pair of wires simultaneously with analog
telephone service.
|
|
Figure 13.1
|
A packet switch with two types of I/O connectors: one type is
used to connect to other packet switches, and the other is used to
connect to computers.
|
|
Figure 13.2
|
A small WAN formed by interconnecting packet switches. Connections
between packet switches usually operate at a higher speed than connections
to individual computers.
|
|
Figure 13.3
|
Example of hierarchical addresses in a WAN. Each address consists of
two parts: the first part identifies a packet switch, and the second part
identifies a computer connected to the switch.
|
|
Figure 13.4
|
(a) A network consisting of three packet switches, and (b) the
next-hop forwarding information found in switch 2. Each switch
has different next-hop information.
|
|
Figure 13.5
|
An abbreviated version of the routing table in Figure 13.4b made
possible by hierarchical addressing. When forwarding to a local computer,
the switch uses the second part of the address to select a specific
computer.
|
|
Figure 13.6
|
The network from Figure 13.2 and the corresponding graph. Each node
in the graph corresponds to a packet switch, and each edge between two
nodes represents a connection between the corresponding packet switches.
|
|
Figure 13.7
|
The routing table for each node in the graph of Figure 13.6. The
next-hop field in an entry contains a pair (u,v) to denote the edge
in the graph from node u to node v.
|
|
Figure 13.8
|
Revised version of the routing tables in Figure 13.7. An asterisk in
the column labeled destination denotes a default route.
|
|
Figure 13.9
|
A graph with weights assigned to edges. The shortest path between
nodes 4 and 5 is shown darkened. The distance along the path
is 19, the sum of the weights on the edges.
|
|
Figure 14.1
|
Fields in the 5-octet header found in an ATM cell. Each line in
the diagram represents one octet.
|
|
Figure 14.2
|
Illustration of an ATM VC between two computers.
|
|
Figure 14.3
|
An illustration of three ATM switches and the forwarding table in
each switch that allows a single VC to span the network. Only
those table entries that correspond to the VC are shown.
|
|
Figure 15.1
|
Summary of major characteristics for example technologies. The
technologies suitable for WANs are used in public networks.
|
|
Figure 16.1
|
The historic ISO 7-Layer Reference Model. A layering model is a tool
to help protocol designers construct a suite of protocols that solves
all communication problems.
|
|
Figure 16.2
|
The conceptual path of data as it travels from an application on
computer 1 across a network to an application on computer 2.
|
|
Figure 16.3
|
Examples of older protocol stacks that have been replaced by
TCP/IP protocols. Although the stacks shared many general concepts, the
details differed, making them incompatible.
|
|
Figure 16.4
|
The nested protocol headers that appear in a frame as the
frame travels across a network if the full ISO stack is used. Each
layer of protocol software adds a header to an outgoing frame.
|
|
Figure 16.5
|
The layering principle applied at each layer of the old ISO model.
If protocol software on the sending computer changes the message, the
change must be reversed by the corresponding protocol software on the
receiver.
|
|
Figure 16.6
|
A 4-packet window sliding through outgoing data. The window is shown
(a) when transmission begins, (b) after two packets have been acknowledged,
and (c) after eight packets have been acknowledged. The sender can transmit
all packets in the window.
|
|
Figure 16.7
|
Messages required to send a sequence of four packets using (a)
stop-and-go flow control, and (b) a 4-packet sliding window. Time
proceeds down the page, and each arrow shows one message sent from one
computer to the other.
|
|
Figure 16.8
|
A graph that represents a network of six packet switches. Such
networks can experience congestion.
|
|
Figure 17.1
|
Two physical networks connected by a router, which has a separate
interface for each network connection. Computers can attach to each
network.
|
|
Figure 17.2
|
An internet formed by using three routers to interconnect four
physical networks. Each network can be a LAN or a WAN.
|
|
Figure 17.3
|
The internet concept. (a) The illusion of a single network that TCP/IP
software provides to users and applications, and (b) the underlying physical
structure in which a computer attaches to one physical network, and routers
interconnect the networks.
|
|
Figure 17.4
|
The five layers of the TCP/IP reference model.
|
|
Figure 18.1
|
The five classes of IP addresses in the original classful scheme. The
address assigned to a host is either class A, B, or C;
the prefix identifies a network, and the suffix is unique to a
host on that network.
|
|
Figure 18.2
|
The mapping between the first four bits of an IP address and the
class of the address. The mapping was used with the original classful
scheme.
|
|
Figure 18.3
|
Examples of 32-bit binary numbers and their equivalent in
dotted decimal notation. Each octet is written in decimal with
periods (dots) used to separate octets.
|
|
Figure 18.4
|
The range of decimal values found in the first octet of each
address class.
|
|
Figure 18.5
|
The number of networks and hosts per network in each of the three
primary IP address classes.
|
|
Figure 18.6
|
An example private internet with IP addresses assigned to hosts. The
size of the cloud used to denote a physical network corresponds to the
number of hosts expected on the network; the size of a network determines
the class of address assigned.
|
|
Figure 18.7
|
Illustration of CIDR addressing for a /28 prefix. Note that because
bits are numbered starting at zero, the prefix covers bits 0 through 27. Thus,
bits 28 through 31 correspond to the host suffix.
|
|
Figure 18.8
|
Summary of the special IP address forms.
|
|
Figure 18.9
|
An example of IP addresses assigned to two routers. Each interface
is assigned an address that contains the prefix of the network to which the
interface connects.
|
|
Figure 19.1
|
A simple internet with routers R1 and R2 connecting
three physical networks; each network has two host computers attached.
A computer can only resolve the address of a computer attached to
the same physical network.
|
|
Figure 19.2
|
An example address binding table. Each entry in the table contains a
protocol address and the equivalent hardware address.
|
|
Figure 19.3
|
An example of direct lookup for a class C network. The host
portion of an address is used as an array index.
|
|
Figure 19.4
|
Comparison of address resolution using a table lookup (T),
closed-form computation (C), and dynamic message exchange (D).
|
|
Figure 19.5
|
An ARP message exchange. (a) Computer W begins to broadcast an
ARP request that contains computer Y's IP address. (b) All computers
receive the request, and (c) computer Y sends a response directly to
W.
.SH "ARP Message Format
|
|
Figure 19.6
|
The format for an ARP message when used to bind Internet protocol
addresses to Ethernet hardware addresses.
|
|
Figure 19.7
|
Illustration of an ARP message encapsulated in an Ethernet frame. The
entire ARP message travels in the data area of the frame; the network
hardware neither interprets nor modifies contents of the ARP message.
|
|
Figure 19.8
|
Illustration of the type field in an Ethernet header used to
specify the frame contents. A value of 0x806 informs the receiver
that the frame contains an ARP message.
|
|
Figure 19.9
|
Layered protocol software in a computer and the conceptual boundary
between the network interface layer and higher layers. Software above the
boundary uses protocol addresses; software below the boundary translates
each protocol address to an equivalent hardware address.
|
|
Figure 20.1
|
The general form of an IP datagram with a header followed by data. The
header contains information that controls where and how the datagram is to
be sent.
|
|
Figure 20.2
|
(a) An example internet with three routers connecting four physical
networks, and (b) the conceptual routing table found in
router R2. Each entry in the table lists a destination
network and the next hop along a route to that network.
|
|
Figure 20.3
|
(a) An internet of four networks and three routers with an IP address
assigned to each router interface, and (b) the routing table found in
the center router. Each entry in the table lists a destination,
a mask, and the next hop used to reach the destination.
|
|
Figure 20.4
|
Fields in the IP datagram header. Both the source and destination
addresses are Internet addresses.
|
|
Figure 21.1
|
An IP datagram encapsulated in a hardware frame. The entire datagram
resides in the frame data area. In practice, the frame format used with
some technologies includes a frame trailer as well as a frame header.
|
|
Figure 21.2
|
An IP datagram as it appears at each step during a trip across an
internet. Whenever it travels across a physical network, the datagram
is encapsulated in a frame appropriate to the network.
|
|
Figure 21.3
|
An example of a router that connects two networks with different MTU
values. A frame that travels across network 1 can contain 1500
octets of data, while a frame that travels across network 2 can
contain at most 1000 octets of data.
|
|
Figure 21.4
|
An IP datagram divided into three fragments. Each fragment carries
some data from the original datagram, and has an IP header similar to the
original datagram.
|
|
Figure 21.5
|
An example internet in which hosts can generate datagrams that require
fragmentation. Once a datagram has been fragmented, the fragments are
forwarded to the final destination, which reassembles them.
|
|
Figure 22.1
|
The general form of an IPv6 datagram. Extension headers are
optional -- the minimum datagram has a base header followed by data.
|
|
Figure 22.2
|
The format of an IPv6 base header. The header contains fewer fields
than the IPv4 datagram header.
|
|
Figure 22.3
|
Two IPv6 datagrams in which (a) contains a base header plus data, and
(b) contains a base header, route header, and data. The NEXT HEADER
field in each header specifies the type of the item that follows.
|
|
Figure 22.4
|
The IPv6 options extension header. Because the size of the options
header can vary from one datagram to another, the HEADER LEN
field specifies the exact length.
|
|
Figure 22.5
|
Illustration of fragmentation in IPv6. The fragmentable part of the
original datagram (a), is placed in the payload area of fragments
(b, c, and d). Each fragment begins with a copy of the
unfragmentable part and a fragment extension header.
|
|
Figure 23.1
|
A list of ICMP messages. Each message is identified by an
8-bit type field.
|
|
Figure 23.2
|
Two levels of encapsulation that occur when an ICMP message is
sent. The ICMP message is encapsulated in a datagram, which is encapsulated
in a frame for transmission across a physical network.
|
|
Figure 24.1
|
The format of a UDP user datagram. Each user datagram begins
with an eight octet header followed by the data being sent.
|
|
Figure 24.2
|
The encapsulation of a UDP message in an IP datagram. The entire
UDP message, including the header and data areas resides in the data
area of the IP datagram.
|
|
Figure 25.1
|
An example internet that illustrates why TCP is an end-to-end
transport protocol. TCP views IP as a mechanism that allows TCP software
on a host to exchange messages with TCP software on a remote host.
|
|
Figure 25.2
|
Example of retransmission. Items on the left correspond to events in
a computer sending data, items on the right correspond to events in a
computer receiving data, and time goes down the figure. The sender
retransmits lost data.
|
|
Figure 25.3
|
Timeout and retransmission on two connections that have different
round-trip delays. TCP optimizes throughput by using a round-trip estimate
to compute a retransmission timer.
|
|
Figure 25.4
|
A sequence of messages that illustrates TCP flow control when the
maximum segment size is 1000 octets. A sender can transmit enough
data to fill the currently advertised window.
|
|
Figure 25.5
|
The 3-way handshake used to close a connection. Acknowledgements
sent in each direction are used to guarantee that all data has arrived
before the connection is terminated.
|
|
Figure 25.6
|
The TCP segment format. Each message sent from TCP on one machine to
TCP on another (both data and acknowledgements) uses this format.
|
|
Figure 26.1
|
Illustration of how NAT is used. A device running NAT is placed
on the connection between a site and the Internet.
|
|
Figure 26.2
|
Illustration of basic NAT translation. NAT rewrites the source
address in outgoing datagrams and the destination address in incoming
datagrams.
|
|
Figure 26.3
|
An example NAT translation table for the mapping illustrated
in Figure 26.2. An entry specifies the direction of packet flow
and the changes that should occur.
|
|
Figure 26.4
|
An example NAPT translation table for TCP connections from
private computers 10.0.0.1 and 10.0.0.2. NAPT changes both the IP
source address and TCP port number. In the example, both connections
use TCP source port 30000 (unlikely, but possible).
|
|
Figure 26.5
|
Illustration of a dedicated NAT device that provides connections
for multiple computers. The NAT box connects to an ISP (e.g., through
a DSL connection or a cable modem).
|
|
Figure 27.1
|
(a) An architecture where static routing is used, and (b) a static
routing table used in a host.
|
|
Figure 27.2
|
Three networks connected by two routers. In such situations,
dynamic routing can be used to propagate information about remote
networks.
|
|
Figure 27.3
|
The Internet routing architecture. Each autonomous system chooses
an IGP to use internally; an EGP is used to communicate between autonomous systems.
|
|
Figure 27.4
|
The flow of routes and data illustrated with ISPs. After a router in
ISP1 advertises routes to customers, data can arrive for those customers.
|
|
Figure 27.5
|
The format of a RIP version 2 update message. The message
contains a list of destinations and a distance to each. RIP
measures distance in hops.
|
|
Figure 27.6
|
(a) An internet consisting of seven networks interconnected by
routers, and (b) a corresponding OSPF graph. In the simplest case,
each router corresponds to a node in the graph.
|
|
Figure 28.1
|
A client and server using TCP/IP protocols to communicate across an
internet. The client and server each interact with a protocol in the
transport layer.
|
|
Figure 28.2
|
Two servers on a single computer accessed by clients on two other
computers. Client 1 can access server 1, while client 2
accesses server 2.
|
|
Figure 30.1
|
The sequence of socket procedure calls in the example client and
server. The server must call listen before a client calls
connect.
|
|
Figure 31.1
|
Values for the most significant segment of a domain name.
DNS does not distinguish between names in upper or lower case.
|
|
Figure 31.2
|
A graphical representation that illustrates one way a DNS hierarchy
might be structured in a corporation. Names for individual computers can
be added to the diagram as well.
|
|
Figure 31.3
|
Two examples of ways the domain name hierarchy from Figure 31.2 can
be divided among three servers. Each organization chooses how to divide
names among its servers.
|
|
Figure 32.1
|
An example e-mail message. Lines of the header begin with a
keyword and a colon; a blank line separates the header from the body .
|
|
Figure 32.2
|
Examples of keywords found in Internet mail.
|
|
Figure 32.3
|
The path of an e-mail message. The mail transfer program on the
sender's computer becomes a client of the remote mail server.
|
|
Figure 32.4
|
An example SMTP transfer between a client on computer
example.com and a server on computer foobar.com. Each line is
labeled to show whether the client or server transmits the line.
|
|
Figure 32.5
|
An example database used by a mail exploder. Each entry is
assigned a name and contains a list of e-mail addresses.
|
|
Figure 32.6
|
The path of a message as it passes from a sender's interface through
a mail gateway. On the gateway computer, an exploder handles incoming
e-mail, and a conventional mail transfer program sends a copy to each
recipient.
|
|
Figure 32.7
|
The path of e-mail when POP is used to access a mailbox. The mail can
arrive from the sender's computer or a mail gateway. To retrieve messages
from the mailbox, a user runs a program that becomes a client of the POP
server.
|
|
Figure 33.1
|
Conceptual organization of the most basic IP telephone system.
An IP telephone uses the controller to find another IP telephone and
establish a call.
|
|
Figure 33.2
|
The interconnection of an IP telephone system with the Public
Switched Telephone Network. Gateways handle both voice and signaling.
|
|
Figure 33.3
|
The set of protocols various groups have proposed for use with
IP telephony and the layer at which each operates.
|
|
Figure 33.4
|
The layering of some of the protocols that comprise the H.323 standard.
|
|
Figure 33.5
|
The six basic SIP methods.
|
|
Figure 33.6
|
An example of the messages exchanged by SIP to set up a
telephone call.
|
|
Figure 34.1
|
The names of commands found in the BSD interface for FTP. Many
vendors support a variant of the BSD interface.
|
|
Figure 34.2
|
TCP connections between an FTP client and server during a file
transfer, with an arrow showing the direction in which each connection
was formed. Although the control connection remains open, the data
connection is closed after the transfer completes.
|
|
Figure 35.1
|
The general form of an HTML document. The head contains information
about the document; the body contains the document itself.
|
|
Figure 35.2
|
The HTML document from Figure 35.1 with some of the unnecessary
white space removed. A browser produces the same output for both documents.
|
|
Figure 35.3
|
Illustration of image alignment. As requested in the tag, text on the
line is positioned in the middle of the image.
|
|
Figure 35.4
|
Example HTTP header returned by a server. The
status code 200 on the first line indicates that the server
honored the request; additional lines give further information
about the requested item.
|
|
Figure 35.5
|
Major components of a Web browser. Dark arrows show the flow of
data; other arrows show control paths. The data paths from clients to
interpreters are not shown.
|
|
Figure 35.6
|
An example of XML for a corporate phone book. Each data item
is given a name.
|
|
Figure 36.1
|
An example CGI program written in UNIX shell language.
|
|
Figure 36.2
|
Examples of environment variables passed to a CGI program.
|
|
Figure 36.3
|
An example CGI program that stores long-term state information.
|
|
Figure 36.4
|
An example CGI program that maintains short-term state.
|
|
Figure 37.1
|
Illustration of three active document representations and the
programs that translate or transport the document. The darkened arrows
show the direction a document moves.
|
|
Figure 37.2
|
An example applet that counts the number of times a user clicks
a button.
|
|
Figure 37.3
|
Illustration of the display after the applet in Figure 37.2 begins
execution.
|
|
Figure 37.4
|
The display after the user has clicked the button once.
|
|
Figure 37.5
|
An example applet that interacts with the HTTP and HTML facilities
in a browser.
|
|
Figure 37.6
|
Illustration of the display produced by the applet in Figure 37.5.
|
|
Figure 37.7
|
A JavaScript program that performs the same function as the Java
applet in Figure 37.2. JavaScript is embedded in an HTML page.
|
|
Figure 38.1
|
An example procedural call graph in a conventional
program. An arrow from one procedure to another means that
the first procedure contains a call to the second.
|
|
Figure 38.2
|
The example program from Figure 38.1 divided into a client
and a server.
|
|
Figure 38.3
|
(a) The original call in a conventional program, and (b) the
remote version of the same call implemented with communication stubs.
|
|
Figure 39.1
|
An example of ASN.1 encoding for integers. Each integer is preceded
by a length field that specifies the number of octets used to encode the
integer value.
|
|
Figure 40.1
|
Illustration of a firewall that is used to protect an organization
against unwanted interaction with the Internet.
|
|
Figure 40.2
|
Illustration of the location of a packet filter. The filter software
is configured to discard specified packets as they pass from one network
to another.
|
|
Figure 40.3
|
The architecture of a firewall with a secure host bracketed by
two packet filters. One filter restricts incoming packets, and the
other restricts outgoing packets.
|
|
Figure 40.4
|
(a) The physical Internet connections between routers at three
sites of an organization, and (b) the equivalent logical connections
created by VPN software running on the routers.
|
|
Figure 40.5
|
IP-in-IP encapsulation used over a VPN. (a) A datagram, (b) the
encrypted version of the datagram, and (c) the encrypted version
encapsulated in another datagram for transmission across the Internet.
|
|
Figure 41.1
|
The first few steps that TCP/IP protocol software takes to
obtain configuration information. T1 and T2 denote
timeout values.
|
|
Figure 41.2
|
The format that BOOTP uses for request and response messages. The
message is sent using UDP, which is encapsulated in IP.
|
|
Figure 41.3
|
The DHCP message format, a slightly modified version of
the BOOTP format.
|