Finally, a protocol may be either standard or nonstandard. A nonstandard protocol is one built for a specific communications situation or, at most, a particular model of a computer. Thus, if K different kinds of information sources have to communicate with L types of information receivers, K × L different protocols are needed without standards and a total of 2 × K × L implementations are required (Figure 11.2a). If all systems shared a common protocol, only K + L implementations would be needed (Figure 11.2b). The increasing use of distributed processing and the decreasing inclination of customers to remain locked into a single vendor
dictate that all vendors implement protocols that conform to an agreed-upon standard.
# Functions:
Before turning to a discussion of communications architecture and the various levels of protocols, let us consider a rather small set of functions that form the basis of all protocols. Not all protocols have all functions; this would involve a significant duplication of effort. There are, nevertheless, many instances of the same type of function being present in protocols at different levels.
This discussion will, of necessity, be rather abstract; it does, however, provide an integrated overview of the characteristics and functions of communications protocols. The concept of protocol is fundamental to all of the remainder of Part Four, and, as we proceed, specific examples of all these functions will be seen.
# We can group protocol functions into the following categories:
- Segmentation and reassembly
- Encapsulation
- Connection control
- Ordered delivery
- Flow control
- Error control
- Addressing
- Multiplexing
- Transmission services.
# Connection Control:
An entity may transmit data to another entity in such a way that each PDU is treated independently of all prior PDUs. This process is known as connectionless data transfer; an example is the use of the datagram. While this mode is useful, an equally important technique is connection-oriented data transfer, of which the virtual circuit is an example.
Connection-oriented data transfer is to be preferred (even required) if stations anticipate a lengthy exchange of data and/or certain details of their protocol must be worked out dynamically. A logical association, or connection, is established between the entities. Three phases occur (Figure 15.3):
- Connection establishment
- Data transfer
- Connection termination
With more sophisticated protocols, there may also be connection interrupt and recovery phases to cope with errors and other sorts of interruptions.
Fig 11.3 :The phases of a connection-oriented data transfer .