Protocols are the rules needed for communication. In human and computer communication, standard protocols eliminate confusion and wasted time misunderstanding one and other.
In computer communication, protocols comprise three main components: interfaces, which define the rules for using a protocol, and provide a service to the software that uses the interface; packet formats, which define the it syntax for the exchange of messages between local and remote systems; procedures, which define the operational rules concerning which packets can be exchanged when.
Communication systems are built up out of multiple layered protocols. The concept of layering is twofold: firstly, common services can be built in all devices or subsystems, and specialised services built out of these for those devices or subsystems that need them; secondly, the details of operation of local, or technology specific features of a protocol can be hidden by one layer from the layer it above.
In this book, we illustrate these different aspects protocols in several different ways: when we want to show the layering of protocols, we make use of a stack diagram, such as 1.1; when we want to show the operational rules of a protocol, we sometimes use a time-sequence diagram such as 1.3, which portraits a particular instance of exchange of packets; in some places, we document the layout of the packets themselves, to show what control functions are conveyed in each transmission, reception or exchange.
In the rest of this chapter, we introduce these aspects of the Internet multimedia protocols, as well as the more subtle question of performance. Later chapters in the book cover these sections in more detail.
First of all, we look at names, addresses and routes.