Digital Data Communications Message Protocol
The Digital Data Communications Message Protocol (DDCMP) is a byte-oriented data communication protocol for use over full-duplex and half-duplex point-to-point and multi-drop links; principally using using synchronous or asynchronous serial lines, although other communication channels (e.g. parallel lines using the PCL11 interface under RSX-11M) were also supported. It used CRCs to allow transmission errors to be detected; sequence numbers allow detection of completely lost messages. Retransmission is used to correct both.
From 1983 onwards serial lines (using DDCMP) were step by step superseded by Ethernet, which was superior in terms of speed and flexibility; DDCMP is nevertheless retained in current VMS DECnet versions.
DDCMP usually carried DECnet traffic, one known exception is ULTRIX:
The DMV11 is supported using TCP/IP and DECnet over full and half duplex point-to-point DDCMP sync lines.
says: "The ULTRIX Operating System, Version 4.5 Software Product Description 26.40.32"
There are Synchronous DDCMP controllers for several buses:
Synchronous DDCMP Controller Capabilities
|Bus||Controller||Point-to-Point V3.2||Point-to-Point V4.0||Tributary||Control||VMS Support|
|UNIBUS||DUP11||X (supported DDCMP versions yet unknown)||-||-||-|
|VAXBI||DSB32||X (supported DDCMP versions yet unknown)||-||-||X|
|QBUS||DPV11||X (supported DDCMP versions yet unknown)||-||-||using: VAX Wide Area Network Device Drivers Software|
|QBUS||DSV11||?||X||-||-||using: VAX Wide Area Network Device Drivers Software|
Synchronous DDCMP Configurations
There are two basic kinds of synchronous DDMCP configurations:
Synchronous Point-to-Point DDCMP
Point-to-point DDCMP connects exactly two DDCMP devices, either:
- A DMC11 and another arbitrary DDCMP device, using the older version (3.2) of DDCMP
- Two arbitrary DDCMP devices (except for DMC11), using the newer version (4.0) of DDCMP
Synchronous Multipoint DDCMP
With Multipoint DDCMP, exactly one Multipoint controller (e.g. a DMP11) acts as the control station of a DDCMP multipoint group.
Multiple other DDCMP Tributary controllers (e.g. DMP11, DMF32) are all connected to the control station.
All DDCMP controllers connected in this way constitute a DDCMP multipoint group.
Multidrop is an established synonym for Multipoint.
Synchronous DDCMP Line Protocols
As of DDCMP version V3.1 there was only DDCMP POINT; from version 4.0 onwards all variants described below were available.
|DDCMP CONTROL||Specifies the line as a multipoint control Station. You can set multiple circuits for CONTROL lines. Each circuit must have a unique physical tributary address.|
|DDCMP DMC||Specifies that the line is in DMC emulator mode. DMC is similar to DDCMP POINT protocol, except that DMC uses an older version of DDCMP (Version 3.2). This protocol should be set for the local line when the remote line is a DMC.|
|DDCMP POINT||Specifies the line as one end of a point-to-point DDCMP connection. You may specify only one circuit per POINT line.|
|DDCMP TRIBUTARY||Specifies that the line is a multipoint tributary end of a DDCMP multipoint group. You may specify only one circuit per TRIBUTARY line.|
This led to the joke calling it "Poor Man's DECnet", because asynchronous serial line controllers were much cheaper then synchronous serial lines or Ethernet controllers, and many computers already had a spare one available.
The drawback of Asynchronous DDCMP is lower speed and less effectivity.
DECnet-RSX (or DECnet-11M as it was called in the beginning) supported Asynchronous DDCMP at least from Version 2.0 (1979) onwards (see SPD), maybe even right from the start (Infos on DECnet-11M V1.x welcome!).
DECnet/VMS started supporting Asynchronous DDCMP not until Version 4.7 as late as 1987.
- 'DDCMP Specification Version 4.0', AA-D599A-TC (1 March 1978)
- Digital Data Communications Message Protocol (DDCMP) - Contains a good, detailed description of failure modes