The Internet is an unreliable delivery service. It's interesting to
compare the Internet to other communication systems, of which the
best example is the global telephone system.
The telephone system is circuit-based. A
telephone call reserves a channel which can carry continuous
speech, reliably, in both directions simultaneously. This is
immensely costly in resources: the network must be engineered to
provide perfect reliability once a call (or "circuit") has been
established. For these reasons, phone calls tend to be expensive.
On the other hand, the "end-user" equipment is incredibly simple --
a telephone[3]. In the case of the
the telephone system, all of the complexity is in the network, The
edge-systems are trivially simple.
The Internet reverses this. The network (or delivery system) is
simple, and doesn't guarantee anything, except a high probability
of packet delivery. The complexity is in TCP,
which exists only in edge-systems. The edge systems themselves are
poweful computers -- sufficiently powerful, at least, to run TCP.
We can say that the end-user provides the complexity, whilst the
Internet provides a basic service. We could say this this is the
last Big Idea for this lecture.
It's also interesting to compare the Internet
model with other, older network structures. For example, the
AustPac X.25 "Packet Service" was a data transfer system available
in Australia many years before the Internet. It offered reliable
delivery at the network level, but was very, very
expensive -- because the network core was complex. Its commercial
success, whilst quite good by the standards of the day, was never,
ever going to approach that of the Internet.
[3] We're talking
about "Plain Old Telephone Services" here, of course. The situation
changes dramatically if we were to include mobile, cellular
telephone systems, where the handset is also very complex.