Connection-oriented protocols
contain inherent functions that control the connection as well as
data transfer. These functions are very detailed in the procedures that are followed to enable
reliable and error-free data transfer. When a source open system needs to transfer data to a destination
open system, the connection-oriented protocols actually establish a communication
pipe. The
pipe,
as it is called here, is nothing more than a logical connection between two open
systems. A great deal of information is used to establish this communication pipe, however.
In order to establish a connection, the two open systems must share certain information that
allows them to negotiate terms and finally establish a link. The information includes the common
protocol that will be used, required resources, and available resources. Look at Figure 36.3. This
figure shows the steps taken as communication is established between two open systems when
using TCP, a connection-oriented protocol.
The originating system first sends a connection request to the destination system. This
request contains information that the two systems need to agree upon before the connection can
be established. Some of the information includes the common protocol, protocol parameters,
and required resources.
Protocol parameters
are the window sizes and other possible parameters.
The
window size
is the amount of data that a station can transmit before needing an
acknowledgment from the destination system that all the data was received without error, or
that errors existed and part of the data will need to be retransmitted.
Required resources
can
include necessary bandwidth, specific port numbers, and other network resources.
The destination system receives this connection request; if it can accommodate the common
protocol, protocol attributes, and required resources, it replies with a connection accept. If, for
some reason, the destination system cannot accommodate any of the requirements sent by the
originating system, the destination system responds with a connection deny. A denied connection
can result from a blocked port on the destination system, insufficient bandwidth between
the systems, or other unavailable requested resources.
Assuming that a connection is established between the two systems, data and control information
is exchanged during the life of the connection. This data exchange can be considered a
dialog
. First, the originating system sends data until the window size is reached. That system
then waits for a response from the destination system. The destination system sends control
information that informs the originating system what needs to happen next. The transmission
can be an acknowledgment that all data in the transmission was received without error and that
the originating system can send the next batch of data. In addition, the destination system can
send a message informing the originating system that some of the data was missing, corrupted,
or had other errors that require the data to be retransmitted.
The foregoing procedure can be summarized with the description of three processes. You will
learn more about each of these processes in the following sections:
Sequenced data transfer
Each packet of a session is assigned a sequence number.
Flow control
Acknowledgments are required after a specified amount of data has been sent.
Error control
Verification of contiguous and nonerroneous packets.