|
DADDY BOB'S COMPUTER Q & A
December 31, 2006
Q.
How is possible for an email to be sent to
two different people and have one get the
complete message while the other gets only
part of the message?
A.
This can happen because of the way the
Internet works. The Internet uses something
called "packets" to transmit information. A
packet is a formatted block of information
of a given size, composed of three main
elements. The header, the payload, and the
trailer. When data is formatted into a
packet, the network can transmit longer
messages more efficiently and reliably.
In
complex networks constructed of multiple
routing and switching nodes, like the modern
Internet, a series of packets sent from one
host computer to another may follow
different routes to reach the same
destination. This technology is called
packet switching.
Packets are routed to their
destination as determined by a routing
algorithm. (An algorithm is defined as a
procedure or a finite set of well-defined
instructions for accomplishing some task
which, given an initial state, will
terminate in a defined end-state. In other
words, an algorithm is a complicated
mathematical formula.)
The routing algorithm
creates a route based on any number of
variables along the routed path. Things like
the priority, the shortest distance, the
fewest hops, etc. Once a route is determined
for a packet and it is sent, it is entirely
possible that the route may be different for
the next packet even if it is part of the
same message.
This can lead to a case
where packets from the same source headed to
the same destination could be routed along
different paths. One packet leaving Georgia
headed to Alabama could go via a server in
California and the next packet via a server
in Florida. In reality, this is more the
norm than the exception.
Messages sent to the same
address may be delivered in an order
different from the order in which they were
sent. The information in the packet's header
and trailer determine the order, and allows
the message to be put back together at the
destination in the correct order.
Now,
suppose that a message is sent to two
different locations and one receives all the
packets, assembles them correctly, and
presents the message correctly to the
addressee. However, the other destination
doesn't receive all the packets and some are
lost along the way and turn up missing.
When the allowable time for the packets to
be received has expired, an attempt is made
to to assemble as many of the packets
in the correct order as possible. If this
results in an abbreviated message, than that
is what is delivered to the addressee.
The
actual process is much more complicated and
involved. Many other things like checksums,
CRC's, (cyclic redundancy check) and other
error checking is used to try to assure that
the message is received as sent. If one is
received and its checksum doesn't check out,
it may be requested to be resent. How many
times this may occur as well as so many
other variables come into play, but this
example should suffice to answer the
question. |