1. Overview

In this tutorial, we’ll explain the digital data communications protocol described in RFC 935.

The RFC 935 summarizes the most widely used serial data communications protocols utilized in the data link layer.

There are three main categories of serial data communications protocols: character-oriented, bit-oriented, and byte-count. The Digitial Equipment Corporation developed the DDCMP. The DDCMP implements a character count instead of framing characters.

2. Serial Data Communications Protocols

The three categories of serial data communications protocol divide the transferred data into units called frames. A frame is a sequence of one to several hundred characters. A character is usually equal to one byte. The frame structure, length, and other aspects differ for each protocol.

For example, in character-oriented protocols, the message starts and ends the SYN character (a 7-bit code with an eighth bit used for parity). In bit-oriented protocols, the message starts and ends with the special bit pattern 01111110.

The figure below shows the structure of a frame in a character-oriented protocol:

Character Oriented Frame

The figure below shows the structure of a frame in a bit-oriented protocol:

Bit Oriented Frame

3. Digital Data Communications Protocol

3.1. Frame Structure

The frame structure of DDCMP is visible below:

Digital Communications Frame
  • The CLASS field is a one-character field used to indicate the type of data being transmitted. The SOH character for data messages, the ENQ character for ACK and NACK data messages, and the DLE character for maintenance data messages
  • The COUNT field determines the number of characters in the data field. It defines the end of the frame
  • The FLAG field is two bits long. The higher order bit of the FLAG field indicates whether there is a SYNC character after the frame. The lower order bit of the FLAG field indicates whether the current frame is the last of the series of transmitted frames. The receiver uses this information to determine whether it should start the transmission
  • The SEQ field is the sequence number of the current frame
  • The RESPONSE field is the sequence number of the last frame correctly received
  • The ADDRESS field is used in multipoint connections. Otherwise, it can be ignored. Addresses are usually one byte long
  • The header cyclic redundancy check (CRC) field
  • The DATA field is a variable length 8-bit transparent data
  • The data CRC field

The data length of the frame can be up to 16363 bytes.

3.2. Transparency

Using the byte count allows transparency, meaning control characters can be sent as part of the data. The receiver doesn’t recognize the control characters until the character count has been reached.

3.3. Error Detection

The DDCMP uses two cyclic redundancy checks, one for the header and another for the data. A NACK message means that the received frame is corrupted.

3.4. Sequence Control

The SEQ field achieves frame sequence control. The frames obtain sequence numbers from 0 to 255. And there can be up to 255 frames outstanding. To start data frame transmission, the transmitter must first send a START message, then waits for a STACK message. Once the STACK message arrives, the sender can transmit data messages.

4. Conclusion

In this article, we discussed the DDCMP, and we saw that one of the advantages of DDCMP is that it does not require byte or bit stuffing in the data field.