A computer network is the infrastructure that allows two or more computers (called hosts) to communicate with each other. The network achieves this by providing a set of rules for communication, called protocols, which should be observed by all participating hosts. The need for a protocol should be obvious: it allows different computers from different vendors and with different operating characteristics to ‘speak the same language’. A network is a combination of hardware and software that sends data from one location to another. The hardware consists of the physical equipment that carries signals from one point of the network to another. The software consists of instruction sets that make possible the service that we expect from a network. This book introduces the fundamental concepts of computer networks. We will first look at constituent network components and various network types, and then describe a reference model for network protocol architectures which we will expand upon throughout the rest of this book. We will also discuss the role of international standards and major standards organizations.