Rapid Ring Protection Protocol (RRPP) is an Ethernet ring-specific link layer protocol. It can not only prevent data loop from causing broadcast storm efficiently when the Ethernet ring is complete, but also restore communication channels among nodes on the Ethernet ring rapidly when a link is torn down.
Compared with Spanning Tree Protocol (STP), RRPP features:
l Expedited topology convergence
I. RRPP domain
The interconnected devices with the same domain ID and control VLANs constitute an RRPP domain. An RRPP domain contains multiple RRPP rings, in which one ring serves as the primary ring and other rings serve as subrings. You can set a ring as either the primary ring or a subring.
As shown in Figure 1, Domain 1 is an RRPP domain, including two RRPP rings: Ring 1 and Ring 2. All the nodes on the two RRPP rings belong to the RRPP domain.
II. RRPP ring
A ring-shaped Ethernet topology is called an RRPP ring. An RRPP domain is built up on an RRPP ring. An RRPP ring falls into primary ring and subring. Both levels are set to 0 and 1 respectively when configuration.
As shown in Figure 1, Domain 1 contains two RRPP rings: Ring 1 and Ring 2. Ring 1 level is set to 0, meaning the primary ring; Ring 2 level is set to 1, meaning the subring.
For a ring, there are two cases:
l Health state: All the physical links on the Ethernet ring are connected.
l Disconnect state: Some physical link on the Ethernet ring fails.
III. Control VLAN and data VLAN
l Control VLAN is a VLAN specially designed to transfer RRPP packets. The ports accessing an RRPP ring on devices belong to the control VLAN of the ring and only these ports can join this VLAN. IP address configuration is prohibited on the ports of the control VLAN. You can configure a control VLAN for the primary ring (namely the primary control VLAN). However, the control VLAN of a subring (namely the secondary control VLAN) is assigned automatically by the system and its VLAN ID is the control VLAN ID of the primary ring plus 1.
l Data VLAN is a VLAN designed to transfer data packets, including the ports accessing the Ethernet ring and other ports on devices.
Every device on an RRPP ring is referred to as a node. Node mode includes:
l Master node: Each ring has a master node primarily used to make loop detection and loop guard.
l Transit node: All the nodes excluding the master node on the primary ring; and all the nodes on a subring except for the master node and the nodes where the primary ring intersects with the subring.
l Edge node: A node residing on the primary ring and a subring at the same time. The node is a special transit node that serves as a transit node on the primary ring and an edge node on the subring.
l Assistant-edge node: A node residing on the primary ring and a subring at the same time. The node is a special transit node that serves as a transit node on the primary ring and an assistant-edge node on the subring. This node is used in conjunction with the edge node to detect the integrity of the primary ring and perform loop guard.
As shown in Figure 1, Ring 1 is the primary ring and Ring 2 is a subring. Device A is the master node of Ring 1, Device B, Device C and Device D are the transit nodes of Ring 1; Device B and Device C reside on Ring 2 at the same time, so they are the edge nodes of Ring 2. You can specify one of them as an edge node and the other as an assistant edge node. Device E is the master node of Ring 2.
V. Primary port and secondary port
Each master node or transit node has two ports accessing an RRPP ring, in which one serves as the primary port and the other serves as the secondary port. You can determine the role of a port.
1) In terms of functionality, the difference between the primary port and the secondary port of a master node is:
l The primary port and the secondary port are designed to play the role of sending and receiving loop-detect packets respectively.
l When an RRPP ring is in health state, the secondary port of the master node will logically deny data VLANs and permit only the packets of the control VLANs.
l When an RRPP ring is in disconnect state, the secondary port of the master node will permit data VLANs, that is, forward packets of data VLANs.
2) In terms of functionality, there is no difference between the primary port and the secondary port of the transit node. Both are designed for the transfer of protocol packets and data packets over an RRPP ring.
As shown in Figure 1, Device A is the master node of Ring 1. Port 1 and port 2 are the primary port and the secondary port of the master node on Ring 1 respectively. Device B, Device C and Device D are the transit nodes of Ring 1. Their port 1 and port 2 are the primary port and the secondary port on Ring 1 respectively.
VI. Common port and edge port
Each edge node or assistant edge node have two ports accessing a subring, with one being a common port and the other being an edge port. Common port is a port accessing the primary ring and a subring simultaneously; and edge port is a port accessing only a subring.
As shown in Figure 1, Device B and Device C lie on Ring 1 and Ring 1. Device B’s port 2 and Device C’s port 1 access the primary ring and a subring at the same time, so they are common ports. Device B’s port 3 and Device C’s port 3 access only a subring, so they are edge ports.
VII. Multi-domain intersection common port
Of the two ports on a node where rings of different domains intersect, the common port is the one on the primary ring that belongs to different domains at the same time. This port must not be on a subring. The role of the port is determined by user configuration.
The master node uses two timers to send and receive RRPP packets: the Hello timer and the Fail timer.
l The Hello timer is used for the primary port to send Health packets.
l The Fail timer is used for the secondary port to receive Health packets from the master node.
If the secondary port receives the Health packets before the Fail timer expires, the overall ring is in health state. Otherwise, the ring transits into disconnect state until the secondary port receives the Health packet again.
l In an RRPP domain, a transit node learns the Hello timer value and the Fail timer value on the master node through the received Health packets, guaranteeing the consistency of two timer values across a ring.
l The Fail timer value must be greater than or equal to 3 times of the Hello timer value.
Table 1 shows the types of RRPP packets and their functions.
The master node initiates Health packets to detect the integrity of a ring in a network.
The transit node, the edge node or the assistant edge node initiates Link-Down packets to notify the master node the disappearance of a ring in case of a link failure.
The master node initiates Common-Flush-FDB packets to notify the transit nodes to update their own MAC entries and ARP entries when an RRPP ring transits to disconnect state.
The master node initiates Complete-Flush-FDB packets to notify the transit nodes to update their own MAC entries and ARP entries, and release from blocking ports temporarily when an RRPP ring transits into health state.
The edge node initiates Edge-Hello packets to examine the links of the primary ring between the edge node and the assistant edge node.
Assistant edge node initiates Major-Fault packets to notify the edge node of a failure when a link of primary ring between edge node and assistant edge node is torn down.
Here are several typical networking applications.
I. Single ring
Figure 2 Single ring
There is only a single ring in the network topology. In this case, you only need to define an RRPP domain.
II. Multi-domain tangent rings
There are two or more rings in the network topology and only one common node between rings. In this case, you need define an RRPP domain for each ring.
III. Single-domain intersecting rings
Figure 4 Single-domain intersecting rings
There are two or more rings in the network topology and two common nodes between rings. In this case, you only need to define an RRPP domain, and set one ring as the primary ring and other rings as subrings.
IV. Dual homed rings
There are two or more rings in the network topology and two similar common nodes between rings. In this case, you only need to define an RRPP domain, and set one ring as the primary ring and other rings as subrings.
V. Multi-domain intersecting rings
There are two or more domains in a network, and there two different common nodes between any two domains. Figure 6 defines three RRPP domains, each containing one and only one RRPP primary ring. In the case of multi-domain intersection, the rings in different domains are independently configured. Each single domain can contain multiple rings, among which there must be one and only one primary ring. The data VLAN in one domain must be isolated from the data VLAN in another.
I. Polling mechanism
The primary port of the master node sends Health packets across the control VLAN periodically.
l If the ring works properly, the secondary port of the master node will receive Health packets and the master node will maintain it in block state.
l If the ring is torn down, the secondary port of the master node will not receive Health packets after the timeout timer expires. The master node will release the secondary port from blocking data VLAN while sending Common-Flush-FDB packets to notify all transit nodes to update their own MAC entries and ARP entries.
II. Link down alarm mechanism
The transit node, the edge node or the assistant edge node sends Link-Down packets to the master node immediately when they find any port belonging to an RRPP domain is down. Upon the receipt of a Link-Down packet, the master node releases the secondary port from blocking data VLAN while sending Common-Flush-FDB packet to notify all the transit nodes, the edge nodes and the assistant nodes to update their own MAC entries and ARP entries.
III. Ring recovery
The master node may find the ring is restored after a period of time after the ports belonging to the RRPP domain on the transit node, the edge node or the assistant edge node are up again. A temporary loop may arise in the data VLAN in this period. As a result, broadcast storm occurs.
To prevent temporary loops, non-master nodes block them immediately (and permits only the packets of the control VLAN) when they find their ports accessing the ring are up again. The blocked ports are activated only when the nodes ensure that no loop will be brought forth by these ports.
IV. Broadcast storm suppression mechanism in a multi-homed subring in case of primary ring link failure
As shown in Figure 5, Ring 1 is the primary ring, and Ring 2 and Ring 3 are subrings. When two links of the primary ring between the edge node and the assistant edge node are down, the master nodes of Ring 2 and Ring 3 will open their respective secondary ports, and thus a loop among B, C, E and F is generated. As a result, broadcast storm occurs.
In this case, to prevent from generating this loop, the edge node will block the edge port temporarily. The blocked edge port is activated only when the edge node ensures that no loop will be brought forth when the edge port is activated.
Related standard: RFC 3619.