Description

This book presents a comprehensive introduction to all aspects of
high-speed networking, and is not about any particular protocol or
standard, but is rather a systematic approach to the principles that
guide the research and design of high-speed networks, protocols, and
applications. We avoid generic terms like gigabit networking
and terabit networking since these are dependent on a
particular technology at a particular point in time, and also differ
per link, per flow, and in aggregate. Quantifiers are applied in
specific contexts and in examples as appropriate.

The network is a complex system of systems, and high-speed
networking does not result from the design of individual components or
protocols in isolation. Thus, this book presents a systemic
approach to high-speed networks, where the goal is to provide
high-bandwidth and low latency to distributed applications, and to
deal with the high bandwidth-×-delay product that results from
high-speed networking over long distances.

Axioms

A set of fundamental axioms is
presented that govern the design of all systems:

Know the past, present, and future

Not invented here corollary (1980s: Unix and TCP/IP)

Not invented here corollary (1990s: MS-Windows and x86 PC)

Application primacy

Field of dreams vs. killer app dilemma

Interapplication delay

Network bandwidth and latency

Networking importance in system design

High-performance paths goal

Path establishment corollary

Path protection corollary

Store-and-forward avoidance

Blocking avoidance

Contention avoidance

Efficient transfer of control

Path information assurance tradeoff

Limiting constraints

Speed of light

Channel capacity

Attenuation and transmission power*

Switching speed

Cost and feasibility

Heterogeneity

Policy and administration

Backward compatibility inhibits radical change

Standards both facilitate and impede dilemma

Systemic optimisation principle

Consider side effects

Keep is simple and open

System partitioning corollary

Flexibility and workaround corollary

High-Speed Network Design Principles

The Systemic Optimisation Principle is the basis for a set
of principles and corollaries
that are the basis for the architecture and design of high-speed
networks and enable high-speed communication between users:

Selective optimisation

Second-order effect corollary

Critical path corollary

Functional partitioning and assignment corollary

Resource tradeoff principle

Resource tradeoffs change

Optimal resources utilisation vs. over-engineering tradeoff

Support for multicast

End-to-end argument

Hop-by-hop performance enhancement corollary

Endpoint recursion corollary

Protocol layering principle

Layering as an implementation technique performs poorly

Redundant layer functionality corollary

Layer synergy corollary

Hourglass corollary

Integrated layer processing (ILP) corollary

Balance transparency and abstraction vs. hiding

Support a variety of interface mechanisms

Interrupt vs. polling

Interface scalability corollary

State management principle

Hard state vs. soft state vs. stateless tradeoff

Aggregation and reduction of state transfer

Hierarchy corollary

Scope of information tradeoff

Assumed initial conditions

Minimise control overhead

Control mechanism latency principle

Minimise round trips

Exploit local knowledge

Anticipate future state

Open- vs. closed-loop control

Separate control mechanisyms

Distributed data principle

Partitioning and structuring of data

Location of data

Protocol data unit principle

PDU size and granularity

PDU control field structure

Scalability of control fields

Topic Organisation

Following the introduction (Chap. 1) and initial presentation of
axioms and principles (Chap. 2) subsequent chapters of the book apply
the axioms and principles to all areas of networking and communication
[full table of contents | list of figures | list of
tables]:

Introduction

Fundamentals and design principles

Network architecture and topology

Network control and signalling

Network components

Communication links

Switches and routers

End systems

End-to-end protocols

Networked applications

Future directions and conclusions

A set of design techniques are also introduced in Chap.2) and applied
as appropriate throughout the book:

Scaling time and space

Cheating and masking the speed of light

Specialised hardware implementation

Parallelism and pipelining

Data structure optimisation

Latency reduction

Examples

While the book is not about any particular protocol suites
or systems in particular, examples of the application of these
principles and techniques are given, including:

Target audience

Target Audience: This book is ideally suited to be used for a
graduate-level special topics course in high-speed networking. It
also intended for computer scientists and engineers who want to learn
about high-speed systems design, and who may have
expertise in a narrow aspect of high-speed networking (such as switch
design), but want to gain a broader understanding of all aspects of
high-speed networking and the impact that their designs have on
overall network performance.