A protocol is a set of rules and that govern the data communications. When computers, terminals, and/or other data processing systems devices exchange data, Consider, for example, the transfer of a file between two computers. There must be a data path between the two computers, either directly or via a communication network. But more is needed.
Typical tasks to be performed are:
1. The source system must either activate the direct data communication path or inform the communication network of the identity of the desired destination system.
2. The source system must ascertain that the destination system is prepared to receive data.
3. The file transfers application on the source system must ascertain that the file management program on the destination system is prepared to accept and store the file for this particular user.
4. If the data file formats used on the two systems are incompatible, one or the other system must perform a format translation function.
It is clear that there must be a high degree of cooperation between the two computer systems. The exchange of information between computers for the purpose of cooperative action is generally referred to as computer communications. Similarly, when two or more computers are interconnected via a communication network, the set of computer stations is referred to as a computer network. Because a similar level of cooperation is required between a user at a terminal and one at a computer, these terms are often used when some of the communicating entities are terminals.
In discussing computer communications and computer networks, two concepts are paramount:
- Protocols
- Computer-communications architecture, or protocol architecture
A protocol is used for communication between entities in different systems. The terms “entity” and “system” are used in a very general sense. Examples of entities are user application programs, file transfer packages, data-base management systems, electronic mail facilities, and terminals.
Examples of systems are computers, terminals, and remote sensors. Note that in some cases the entity and the system in which it resides are coextensive (e.g., terminals). In general, an entity is anything capable of sending or receiving information and a system is a physically distinct object that contains one or more entities.
For two entities to communicate successfully, they must “speak the same language.” What is communicated, how it is communicated, and when it is communicated must conform to some mutually acceptable conventions between the entities involved. The conventions are referred to as a protocol, which may be defined as a set of rules governing the exchange of data between two entities.
# The key elements of a protocol are:
- Syntax: Includes such things as data format and signal levels.
- Semantics: Includes control information for coordination and error handling.
Timing: Includes speed matching and sequencing.
Having introduced the concept of a protocol, we can now introduce the concept of a protocol architecture. It is clear that there must be a high degree of cooperation between the two computers. Instead of implementing the logic for this as a single module, the task is broken up into sub tasks, each of which is implemented separately.
Fig 1: A simplified architecture for file transfer.
As an example, Figure1 suggests the way in which a file transfer facility could be implemented. Three modules are used. Tasks 3 and 4 in the preceding list could be performed by a file transfer module. The two modules on the two systems exchange files and commands. However, rather than requiring the file transfer module to handle the details of actually transferring data and commands, the file transfer modules each rely on a communications service module.
This module is responsible for making sure that the file transfer commands and data are reliably exchanged between systems. Among other things, this module would perform task 2. Now, the nature of the exchange between systems is independent of the nature of the network that interconnects them. Therefore, rather than building details of the network interface into the communications service module, it makes sense to have a third module, a network access module that performs task 1 by interacting with the network.
Let us try to summarize the motivation for the three modules in Figure 1 The file transfer module contains all of the logic that is unique to the file transfer application, such as transmitting passwords, file commands, and file records. There is a need to transmit these files and commands reliably.
However, the same sorts of reliability requirements are relevant to a variety of applications ( e g , electronic mail, document transfer). Therefore, these requirements are met by a separate communications service module that can be used by a variety of applications. The communications service module is concerned with assuring that the two computer systems are active and ready for data transfer and for keeping track of the data that are being exchanged to assure delivery. However, these tasks are independent of the type of network that is being used. Therefore, the logic for actually dealing with the network is separated out into a separate network access module. That way, if the network to be used is changed, only the network access module is affected.
Thus, instead of a single module for performing communications, there is a structured set of modules that implements the communications function. That structure is referred to as protocol architecture.
Data Communications and Networking
In its simplest form, data communication takes place between two devices that are directly connected by some form of point-to-point transmission medium. Often, however, it is impractical for two devices to be directly, point-to-point connected. This is so for one (or both) of the following contingencies: The devices are very far apart. It would be inordinately expensive, for example, to string a dedicated link between two devices thousands of miles apart.
There is a set of devices, each of which may require a link to many of the others at various times. Examples are all of the telephones in the world and all of the terminals and computers owned by a single organization. Except for the case of a very few devices, it is impractical to provide a dedicated wire between each pair of devices. The solution to this problem is to attach each device to a digital communication network.
Fig 1: Simplified Network Model
Figure 1 relates the area to the communications model and also suggests the two major categories into which communications networks are traditionally classified:
- Wide-area networks (WANs) and
- Local-area networks (LANs).
The distinction between the two, both in terms of technology and application, has
become somewhat blurred in recent years, but it remains a useful way of organizing
the discussion.
# Wide-Area Networks:
Wide-area networks have been traditionally been considered to be those that cover a large geographical area, require the crossing of public right-of-ways, and rely at least in part on circuits provided by a common carrier. Typically, a WAN consists of a number of interconnected switching nodes. A transmission from any one device is routed through these internal nodes to the specified destination device. These nodes (including the boundary nodes) are not concerned with the content of the data; rather, their purpose is to provide a switching facility that will move the data from node to node until they reach their destination. Traditionally, WANs have been implemented using one of two technologies:
- Circuit switching and
- Packet switching.
More recently, frame relay and ATM networks have assumed major roles.
# Circuit Switching:
In a circuit switching network, a dedicated communications path is established between two stations through the nodes of the network. That path is a connected sequence of physical links between nodes. On each link, a logical channel is dedicated to the connection. Data generated by the source station are transmitted along the dedicated path as rapidly as possible. At each node, incoming data are routed or switched to the appropriate outgoing channel without delay. The most common example of circuit switching is the telephone network.
# Packet Switching:
In a packet switching network,a quite different approach is used in a packet-switched network. In this case, it is not necessary to dedicate transmission capacity along a path through the network. Rather, data are sent out in a sequence of small chunks, called packets. Each packet is passed through the network from node to node along some path leading from source to destination. At each node, the entire packet is received, stored briefly, and then transmitted to the next node. Packet-switched networks are commonly used for terminal-to-computer and computer-to-computer communications.