Polled Protocol Overview
Polled protocols are used to control the flow of data between the
host and the terminal. This protocol defines how each device on
a communications line operates. With polled protocols, the host
computer controls all data flow through a polling mechanism which
uses special characters and sequences to control each device.
Poll Characteristics
Polled protocols have many similar
characteristics, including:
- Sync (normally, but can be async)
- Half-duplex (Only one device sends at a time)
- Block mode, with a Block Check used for error detection
- Unique address for each terminal
Addressing
Each terminal connected to the host is assigned an
address. Every terminal on a communications line must have a unique address.
Block Check
Most polled protocols use a Block Check Character
(BCC) to verify that the data was not corrupted during the transmission. The transmitting station uses
an algorithm to calculate a BCC which is added to the end of the message. The receiving station uses
the algorithm to recalculate the BCC as the message is received. If the BCCs match, the message
was not corrupted. If the BCCs do not match, the message will be rejected.
The receiving station will send an Positive
Acknowledgement (ACK) to messages received with matching BCCs and will send a Negative Acknowledgement
(NAK) to messages received with BCCs that do not match. A NAK will usually generate a retransmission
of the bad message.
Control Characters
Each protocol designates certain characters for
control of the network connection. These characters are called Data Link Characters. Protocols use a
combination of these characters to determine polls, selects, and data blocks.
Bit-oriented protocols (BOP) such as SDLC use a
special character called a FLAG to indicate the beginning and end of a frame (block). The offset
(in bits) of the control characters from the Flags determines the character's value.
Protocol Rules
Every polled protocol implements polls and
selects through different sets of rules. The control characters used by the host to indicate polls
and the appropriate responses are defined by the specific vendor's protocol.
Polled protocols are single thread with only
one conversation (one pair of TD and RD) path for poll and select operations. Bit-oriented Protocols
are multi-thread. Several distinct communications may exist in different states simultaneously.
This is the inherent advantage of BOP over polled protocols.
Poll
The Poll is used to determine if the terminal
has anything to send to the host. The host maintains a list of the terminals on a communications line,
and sequentially polls each terminals on the (poll) list. Some protocols use a controller to connect
several terminals to the communications line. With controllers, the host can poll the controller with
a General poll. The controller determines which terminal will answer the poll. A Poll is illustrated
as follows:
| Host |
Terminal |
| Poll (to a Specific
Address)========================================> |
<========================================ACK
(no message to send)
NAK (poll was garbled)
Data
Error Condition
No Response (not the correct address) |
| Text (to a responding
terminal)========================================> |
<========================================ACK
(BCC match)
Text (BCC did not match)
Error Condition (used for flow control, BCC match but cannot accept further messages)
No Response (not the correct address) |
The terminal will only send one of the above
responses. The actual response sent is dependent on the protocol. The host will send an
acknowledgement that the data was received (BCCs match).
Select
The Select is used to determine if the
terminal is able to accept a message from the host. The terminal will indicate whether it can
accept a message. The terminal's response is dependent on the selected protocol. The host will
send the text message only after the acknowledgement is received from the terminal. A Select is
illustrated as follows:
| Host |
Terminal |
| Select (to a Specific
Address)========================================> |
<========================================ACK
(can accept a message)
Text (some protocols use text as an ACK)
NAK or WACK (cannot accept a message)
Error Condition (busy and cannot accept a message)
No Response (not the correct address) |
| Text (to a responding
terminal)========================================> |
<========================================ACK
(BCC match)
Text (BCC did not match)
Error Condition (used for flow control, BCC match but cannot accept further messages)
No Response (not the correct address) |
Once the host finishes sending data to the
terminal, it may poll the next terminal on the poll list or continue to send to the same
selected terminal.
|