Parallel Redundancy Protocol
The Parallel Redundancy Protocol (PRP) allows seamless communication in the face of a single network disruption (for instance cable, driver, switch or controller failure).
Critical nodes (DANs) have two network connections. To achieve high-availability configuration the first interface is connected to LAN_A and the second to LAN_B. The topologies of LAN_A and LAN_B are open and the networks could be utilizing other redundancy approaches.
A DAN transmits its packets on both interfaces and hence over both networks. In an error-free environment a second DAN receives the same packets on both interfaces, possibly with a time delay between them. The receiving DAN will use the first of these packets, ignoring the second. PRP needs no reconfiguration or path switching.
PRP can be implemented as a software sub-layer or as hardware solution (RedBox). Both solutions are entirely transparent to the application and to network communication.
DAN: Dual Attached Node, critical node with two network interfaces
SAN: Single Attached Node, normal node with only one network interface
RedBox: Redundancy Box, bridging device to attach a network of VDANs or a single VDAN
VDAN: Virtual Dual Attached Node, node that is connected to both networks by a RedBox. A VDAN appears to other nodes like a DAN.
PRP is defined in the standard IEC 62439. The goal of this international standard is provide a deterministic recovery time and a protocol-independent solution applicable to a reasonable set of real-time Ethernet as included in IEC 61784.
After PRP was standardized as IEC 62439-3 (2010), bumpless redundancy was extended to a ring and specified as High-availability Seamless Redundancy (HSR). HSR bases on the same principle as PRP, e.g. to send duplicate frames over two independent paths. While PRP uses two independent networks, HSR uses the two directions on a single ring, which lowers redundancy costs. For this, HSR departed from the original sequence numbering of PRP, which used a sequence number space per connection, while HSR has a sequence number space per source. This prevented direct HSR to PRP-frame conversion.
The new IEC 62439-3 (2012) aligns PRP and HSR and allows the connection of nodes with different redundancy protocols. The new variant is commonly referred to as PRP-1, while the former is referred to as PRP-0 or IEC 62439-3 (2010).
PRP-1 and PRP-0 are not compatible, but can be easily distinguished.
Differences between the two variants:
- A PRP-1 source maintains one single sequence number space. The drop window algorithm for duplicate detection as proposed for PRP-0 can’t be applied any more. The way how duplicates are detected and discarded is left to the implementation.
- PRP-1 duplicate detection requires an aging mechanism to ensure that a node can properly reboot in all situations.
- Padding rules are slightly different. In PRP-1 the trailer is always at the end of the frame and therefore easier to detect.
- The PRP-1 trailer is expanded by a suffix. This makes the detection of trailers more reliable and allows future extensions and coexistence with other protocols based on a trailer.
- Node tables are optional for PRP-1 in order to simplify hardware implementation.
- PRP-1 has a MIB aligned to HSR.