Of course, we have come a long way from the primitive pursuits and devices of our forebears. Nowadays, we have computers talk to each other over vast assemblages of wires, fiber optics, microwaves, and the like, to make an appointment for Saturday's soccer match. In the following, we will deal with the means and ways by which this is accomplished, but leave out the wires, as well as the soccer part. These are protocol suites and software packages that supply means to transport data between two computers. We define a network as a collection of hosts that are able to communicate with each other, often by relying on the services of a number of dedicated hosts that relay data between the participants.
Communication is impossible without some sort of language or code.
In computer networks, these languages are collectively referred to as protocols . However, you shouldn't think of written protocols here, but rather of the highly formalized code of behavior observed when heads of state meet, for instance. In a very similar fashion, the protocols used in computer networks are nothing but very strict rules for the exchange of messages between two or more hosts.