Jump to content

Parallel Redundancy Protocol

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hubert Kirrmann (talk | contribs) at 12:23, 4 February 2017. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Parallel Redundancy Protocol (PRP) is a network protocol that provides seamless data communication in face of the failure of any single network component.
The International Electrotechnical Commission standardized PRP as IEC 62439-3:2016 Clause 4.

PRP can be applied to most Industrial Ethernet networks since it is independent of the protocols, provides seamless failover and integrates existing nodes with single attachment.

Principle

Each PRP network node has two Ethernet ports attached to two different local area networks of arbitrary, but similar topology.

The two LANs are completely separated and are assumed to be fail-independent. A source node (DANP) sends simultaneously two copies of a frame, one over each port. The two frames travel through their respective LANs until they reach a destination node (DANP), in the fault-free case, with a certain time skew. The destination node accepts the first frame of a pair and discards the second. Therefore, as long as one LAN is operational, the destination always receives one frame. This protocol provides a zero-time recovery and allows to check the redundancy continuously to detect lurking failures.

To simplify the detection of duplicates, the frames are identified by their source address and a sequence number that is incremented for each frame sent according to the PRP protocol. The sequence number and the path identifier and an Ethertype are appended just before the Ethernet checksum in a 6-octet PRP trailer. This trailer is ignored (considered as padding) by all nodes that are unaware of the PRP protocol, and therefore these singly attached nodes (SAN) can operate in the same network.
NOTE: all legacy devices should accept Ethernet frames up to 1528 octets, this is below the theoretical limit of 1535 octets.

Non-PRP nodes are either attached to one network only (and therefore can communicate only with other nodes attached to the same network), or are attached through a RedBox, a device that behaves like a doubly attached node.[1]

Node failures are not covered by PRP, but duplicated nodes may be connected via a PRP network.

Each node in PRP has two Ethernet interfaces that use the same MAC address. Therefore, PRP is a layer 2 redundancy, which allows higher layer network protocols to operate without modification. A PRP node needs only one IP address.

Clock synchronization

Since IEC 62439-3:2016, PRP supports a clock synchronization that achieves an accuracy of 1 μs after 15 network elements as profile of IEEE Std 1588 precision time protocol
Clocks can be doubly attached according to PRP, but since the correction is different according to the path, the duplicate discard method of PRP is not applicable. Also, delay measurement frames are not duplicated since they are link-local.
Every second, a master clock sends two copies of a Sync message, but not at exactly the same time, therefore the original Syncs have already different time stamps.
A slave receives the two Sync messages at different times and applies the Best Master Clock algorithm, and when the two Sync come from the same grandmaster, the clock quality is used as a tie-breaker. A slave will normally listen to one port and supervise the other, rather than switching back and forth or using both Syncs.

This method works for several options in 1588, with Layer 2 / Layer 3 operation, and with peer-to-peer / end-to-end delay measurement. IEC 62439-3 defines these two profiles as:

  • L3E2E (Layer 3, end-to-end) that addresses the requirements of ODVA
  • L2P2P (Layer 2, peer-to-peer) that addresses the requirements of power utility in IEC 61850 and has been adopted by IEEE in IEC/IEEE 61850-9-3.

Legacy versions

The original standard IEC 62439-3:2010 incremented the sequence number of the RCT in the PRP frames on a per-connection basis. This gave a good error detection coverage but difficulted the transition from PRP to the High-availability Seamless Redundancy (HSR) protocol, which uses a ring topology instead of parallel networks. The revised standard IEC 62439-3:2012 aligned PRP with HSR using the same duplicate discard algorithm. This allowed building transparent PRP-HSR connection bridges and nodes that can operate both as PRP (DANP) and HSR (DANH).
The old PRP 2010 standard is sometimes referred to as PRP-0 as it is still used in some control systems, and PRP 2012 as "PRP".[2]

See also

References

  1. ^ "Redundancy Box". Zurich University of Applied Sciences. Retrieved 20 August 2014.
  2. ^ "Standardization of PRP". Zurich University of Applied Sciences. Retrieved 20 August 2014.