This book includes a plain text version that is designed for high accessibility. To use this version please follow this link.
/ LEAD FEATURE
around the world to retrieve files on its behalf. At any one time
there are millions of Web browsers and Web servers talking to
each other across the Internet, joined by the common language
of HTTP. In effect, there is one large software application that
spans the globe and part of it is running on your computer.
In an application program that just runs on one computer,
information is passed back and forth between the program’s
functions by putting it in areas of shared memory that all the
functions can read from and write to. In a distributed system, the
same information flows are needed but the computers involved
don’t share the same memory and so they need another way
of exchanging information. They do this by encapsulating the
application information in packets that are sent from one part
of the system to another over a network. So, our browser needs Figure 1. Delivering a package
to package up its GET request into one or more packets and ask
the operating system to send them to the Web server. But where
exactly should it send the data and how will the response find its When the delivery arrives
way back? We need a destination and a return address.
at the intended building,
/ Location, Location, Location Which buzzer should be
In fact, there are six addresses involved. To see why, it’s best
pushed to ensure that the
to consider a real-world situation that has many parallels with
accessing things over the Internet. Let’s consider delivering a correct recipient accepts
package to someone living in a block of flats.
the package?
We can see from Figure 1 that delivering a package from
the sender in one building to the recipient in another looks
easy! But nothing is ever really so easy: which building? which We use a postal address to get the package to the right
street? which city? which country? When the delivery arrives building and a flat number to identify which buzzer to press.
at the intended building, which buzzer should be pushed to Although we only need to supply the destination address, the
ensure that the correct recipient accepts the package? And if mail service will transfer our package from pickup van to one or
something needs to be sent in return, where should it go? more sorting offices, then perhaps on to an aeroplane or train
and eventually into a delivery van. Each step of this journey
requires that the package be put in a container and sent on to
the next stage. Consequently the package is repeatedly boxed,
addressed to the next stage and transferred to a differently
addressed container as it continues on its way. Even when it
arrives at the correct building, if the wrong buzzer is pushed, or
if the intended recipient isn’t listening for the buzzer, then the
package will not reach its destination.
So, we need a postal address and a flat number together with
a correctly addressed container for the first hop of the journey.
Three addresses: one for the building, one for the person in the
building, and one for the next stage of the journey. If we require
a reply, then we need another three addresses to ensure that
the response can find its way back again. Consequently, in our
analogy, as in a Web request, we require six addresses.
Let’s see how these six addresses relate to our Web request.
The request’s journey from your computer to the Web server
takes it through several intermediate devices (such as comput-
ers and routers).There are 18 such devices between my com-
puter and http://www.thedarkvisitor.com/. For the destination
address, we have to specify which computer on the Internet to
send it to and which of the programs listening for network input
on that computer should be given the request. These are the
IP address and the port number, respectively. Armed with the
destination IP address, each device along the way can deter-
mine the next hop on from itself and can forward the packet by
9
DF1_08-13_Lead Feature.indd 9 29/10/09 5:06:28 pm
Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44  |  Page 45  |  Page 46  |  Page 47  |  Page 48  |  Page 49  |  Page 50  |  Page 51  |  Page 52
Produced with Yudu - www.yudu.com