This book attempts to provide a unified overview of the broad field of data and computer communications. The organizations of the book reflects an attempt to break this massive subject into comprehensible parts and to build, piece by piece, a survey of the state of the art. The book emphasizes the basic principles and topics of the fundamental importance concerning the technology and architecture of this field, and provides a detailed discussion of leading edge topics.