DPT and RPR (802.17) are both dual ring-topology networks, where the traffic in each ring rotates in different directions. DPT seems to have come first, it then became a standard of the IEEE in 2004, albeit with a few limitations. So Cisco support a kind of Cisco-proprietary RPR on some of their equipment (the ONS optical platforms) that they consider better.
It seems that the original inspiration for DPT was inspired by a few different things:
1. In APS-protected SONET/SDH rings, the protection ring is not used until a failure occurs (which could be considered by some to be a less-than-efficient use of interfaces and fibre)
2. FDDI’s dual counter-rotating rings.
3. FDDI and token-ring’s wrapping to deal with link failure and the ability of a node to go into pass-through mode when it fails completely
DPT permits up to 64 nodes to be connected in a ring. Traffic goes round the ring in a similar way to ethernet in that each node has a MAC address. Each node builds its own topology map of the ring and makes a decision about which ring to send data on, based on the most efficient (shortest) path to the destination node.
Here’s where DPT differs from something like token-ring: When a packet is received by the destination node, it is removed from the ring immediately, whereas in token-ring, the packet would continue round the ring and be stripped off the ring by the sender. This means that the ring can have multiple packets going across it at the same time – ensuring efficient usage of the available bandwidth. This is part of what is called the Spatial Reuse Protocol.
Here’s where DPT differs from SONET/SDH rings: Both rings are in use at the same time, but essentially they back each other up with APS-like speeds of under 50ms. There’s no APS-protect circuit just sitting there waiting for a failure of the working circuit.
On each ring, there are data packets and control packets. If data on the outer ring is running clockwise, the control packets for that ring are on the inner ring, running counter-clockwise, and vice-versa.
So there’s an upstream flow of control traffic on each ring. These packets are called ‘usage packets’, are generated periodically and serve as a kind of keepalive during normal operation. When there’s congestion however, usage packets are generated to indicate this – these flow around the ring, and the upstream transmitters alter their transmit rate accordingly. This forms part of the Spatial Reuse Protocol Fairness Algorithm (SRP-fa).
Coping with Failures
There are two kinds of failure mode that can be experienced in a ring-network like this (or indeed in pretty much any network!):
– Link failure
– Node failure
Link failure is detected by loss of carrier, SONET/SDH alarms or loss of keep-alive information. The detecting nodes on either side of the failure simply wrap the inner and outer rings together – forming a kind of C-shaped ring. This results in a halving of bandwidth on the ring, since there is now only one ring in operation. In the case of very geographically dispersed nodes, this could also push up latency for packets traversing the ring.
When there is a node failure, Cisco implement something called Intelligent Protection Switching. This enables a node to go into a pass-through mode, where it remains in the ring, but is not seen in the topology by the other ring members. The ring’s integrity and bandwidth are maintained.