Principles of Protocol Design
This book introduces the reader to the principles used in a large
range of modern data communication protocols, including simple
point-to-point data transfer protocols, multi-peer protocols and
protocols for ensuring data security. After presenting the general
principles in use, the book considers each of the OSI layers in turn,
presenting commonly used protocols and classifying them according to
the type of service which they support and the protocol mechanisms
used to supply this service.
The presentation uses CSP notation to give a concise description of
the protocols considered, and to permit verification of useful
properties. OSI terms are used throughout, to ensure a uniform
notation for protocols at all levels.
This is a completely new and revised edition of
the book, whose first edition was published in 1994. There are three
significant changes in this second edition of the book which
particularly reflect recent developments in computer networks and
- The rise of the Internet has led to the development of large
numbers of new protocols, particularly in the Application Layer. A new
chapter has been introduced to discuss some of the more important of
- These new protocols typically use new styles of encoding,
particularly ASCII encodings such as MIME and XML, and rely on
middleware solutions based on a variety of support protocols.
Chapters 8 and 10 have been extended to deal with these topics.
- There is today much more focus on security issues in networks.
Chapter 6, which deals with the general concepts of security, has been
heavily revised and brought up to date, while Chapters 8, 9, 10 and 11
now include sections discussing specific technologies such as IPsec,
SSL/TLS, and secure protocols for e-mail and web-based applications.
The text was originally written for third or fourth year students in
Computer Science or Electrical Engineering, and is intended to be
suitable for most final-year undergraduate or postgraduate courses on
advanced data communications or computer networks. The reader is
expected to have a software background, in particular including a
basic knowledge of functional programming and concurrent programming,
combined with some knowledge of computer systems architecture and data
transmission. Although the approach used is a formal one, previous
knowledge of formal methods, for example based on languages such as
VDM or Z, is not essential, but to get the most out of the book you
should know about the sort of discrete mathematics which is used in
computer science and be aware of the basic concepts of mathematical
The book contains a large number of exercises for the reader, and for
bona fide teachers a set of solutions for selected exercises is
available on application to the author.
There are two appendices which respectively summarise the notation
used, and describe the standardisation of protocols. The book
concludes with a bibliography and a list of more than 140
internationally standardised protocols referred to in the text.
- CSP Descriptions and Proof Rules
- Protocols and Services
- Basic Protocol Mechanisms
- Multi-peer Consensus
- Naming, Addressing and Routing
- Protocol Encoding
- Protocols in the OSI Lower Layers
- Application Support Protocols
- Application Protocols
For a more detailed table of contents
This completely new and revised edition of the book is published by
Springer with the following bibliographic details:
Robin Sharp: "Principles of Protocol Design"
Springer-Verlag Berlin Heidelberg, 2008.