Requirements
We
have just established an ambitious goal for ourselves: to understand how to
build a computer network from the ground up. Our approach to accomplishing this
goal will be to start from first principles, and then ask the kinds of
questions we would naturally ask if building an actual network. At each step,
we will use today’s protocols to illustrate various design choices available to
us, but we will not accept these existing artifacts as gospel. Instead, we will
be asking (and answering) the question of why
networks are designed the way they are. While it is
tempting to settle for just understanding the way it’s done today, it is
important to recognize the underlying concepts because networks are constantly
changing as the technology evolves and new applications are invented. It is our
experience that once you understand the fundamental ideas, any new protocol
that you are confronted with will be relatively easy to digest.
The
first step is to identify the set of constraints and requirements that
influence
network
design. Before getting started, however, it is important to understand that the
expectations
you have of a network depend on your perspective:
■ An application programmer would
list the services that his or her application
needs,
for example, a guarantee that each message the application sends will
be
delivered without error within a certain amount of time.
■ A network designer would
list the properties of a cost-effective design, for
example,
that network resources are efficiently utilized and fairly allocated to
different
users.
■ A network provider would
list the characteristics of a system that is easy to
administer
and manage, for example, in which faults can be easily isolated
and where it is easy
to account for usage.
This post
attempts to distill these different perspectives into a high-level introduction
to the major considerations that drive network design, and in doing so,
identifies the challenges addressed throughout the rest of this blog… happy
reading^^..
No comments:
Post a Comment