Distributed Queue Dual Bus

from Wikipedia, the free encyclopedia

Distributed Queue Dual Bus , or DQDB for short , is a network protocol for high-performance transmission. DQDB is designed for transmission rates from 34 Mbit / s to 155 Mbit / s and has the advantage that it works particularly efficiently under heavy loads.

Overview and development

DQDB was developed in coordination with ATM in the mid-1980s . As a result, both standards have a similar definition of cell size. The aim was to meet the requirements for new services such as video telephony or video conferencing.

DQDB was standardized as IEEE 802.6.


DQDB consists of:

  • 2 busses running against each other and facing one another
  • Head stations at the beginning of each bus
  • Coupling of the stations to both buses


Often these 2 buses are laid in a ring, with both head-end stations coinciding. Each station is connected to both buses for reading and writing. The connection to the MAN is handled via a bridge and router .


The head sends a constant stream of 53 byte "empty" cells, which are "swallowed" by a terminating resistor at the respective end of the bus. Each station is allowed to write an empty cell if it is authorized. You can only reach stations that are downstream. This also implicitly decides which bus is used. This in turn also means that the stations must have knowledge of the topology , i. H. which stations are behind and which are ahead.

Access procedure

In order to make access to the medium fair, 2 procedures were provided in the standard:

  • Queue (or Queued-Arbitrated)
  • Isochronous access (or pre-arbitrated)

Control via queue

There is a queue for each bus, which is processed according to the FIFO principle. One bus regulates the control of the queue for the other. The queues are implemented in a distributed manner, i. H. in the stations. This means that every station knows the current status of the network. Stations willing to send are lined up in the queue.

2 counters (per bus) are implemented in each node:

  • Request counter RC, which counts nodes willing to send
  • Countdown counter CD, which indicates how many cells must be allowed through

In each cell there is a busy bit and a request bit, which indicate whether a cell is occupied or whether a (subsequent) station wants to send. If a node has put together a cell for bus A, it sends a request via bus B. All nodes at B thus receive this request bit. If an empty cell arrives, the RC is lowered by one because this cell was requested by someone else, for whom one no longer has to wait. If a request occurs, the RC is increased by one. A cell with an occupied busy bit is ignored.

After sending the request bit, the sender transfers the counter reading from the RC to the CD and sets the RC back to 0.

Isochronous access

Here access is via predetermined (PA) cells, i. This means that each station is only allowed to write cells that are specific to it. The work is also connection-oriented, i.e. H. a connection between two stations must have been accepted beforehand.

Note: Both types of access can be mixed