This book introduces the reader to the principles used in the construction of a large range of modern data communication protocols. The approach we take is rather a formal one, primarily based on descriptions of protocols in the notation of CSP. This not only enables us to describe protocols in a concise manner, but also to reason about many of their interesting properties and formally to prove certain aspects of their correctness with respect to appropriate speci?cations. Only after considering the main principles do we go on to consider actual protocols where these principles are exploited. This is a completely new edition of a book which was ?rst published in 1994, where the main focus of many international efforts to develop data communication systems was on OSI – Open Systems Interconnection – the standardised archit- ture for communication systems developed within the International Organisation for Standardization, ISO. In the intervening 13 years, many of the speci?c protocols - veloped as part of the OSI initiative have fallen into disuse. However, the terms and concepts introduced in the OSI Reference Model are still essential for a systematic and consistent analysis of data communication systems, and OSI terms are therefore used throughout. There are three signi?cant changes in this second edition of the book which p- ticularly re?ect recent developments in computer networks and distributed systems.