How RRPP works
Polling mechanism
The polling mechanism is used by the master node of an RRPP ring to examine the Health state of the ring network.
The master node sends Hello packets out of its primary port at the Hello interval. These Hello packets travel through each transit node on the ring in turn.
If the ring is complete, the secondary port of the master node receives Hello packets before the Fail timer expires. The master node keeps the secondary port blocked.
If the ring is disconnected, the secondary port of the master node fails to receive Hello packets before the Fail timer expires. The master node releases the secondary port from blocking protected VLANs. It sends Common-Flush-FDB packets to instruct all transit nodes to update their own MAC address entries and ARP/ND entries.
Load balancing
In a ring network, traffic from multiple VLANs might be transmitted at the same time. RRPP can implement load balancing by transmitting traffic from different VLANs along different paths.
You can configure multiple RRPP domains for a ring network. Each RRPP domain transmits the traffic from the specified VLANs (protected VLANs). Traffic from different VLANs can be transmitted according to different topologies in the ring network for load balancing.
As shown in Figure 18, Ring 1 is configured as the primary ring of Domain 1 and Domain 2, which are configured with different protected VLANs. Device A is the master node of Ring 1 in Domain 1. Device B is the master node of Ring 1 in Domain 2. With such configurations, traffic from different VLANs can be transmitted on different links for load balancing in the single-ring network.
Link down alarm mechanism
In an RRPP domain, when the transit node, edge node, or assistant edge node finds that any of its ports is down, it immediately sends Link-Down packets to the master node. When the master node receives a Link-Down packet, it takes the following actions:
Releases the secondary port from blocking protected VLANs.
Sends Common-Flush-FDB packets to instruct all the transit nodes, edge nodes, and assistant edge nodes to update their MAC address entries and ARP/ND entries.
After each node updates its own entries, traffic is switched to the normal link.
Ring recovery
When the ports in an RRPP domain on the transit nodes, edge nodes, or assistant edge nodes come up again, the ring is recovered. However, the master node might detect the ring recovery after a period of time. A temporary loop might arise in the protected VLAN during this period. As a result, a broadcast storm occurs.
To prevent such cases, non-master nodes block the ports immediately when they find the ports accessing the ring are brought up again. The nodes block only the packets from the protected VLAN, and they permit only the packets from the control VLAN to pass through. The blocked ports are activated only when the nodes determine that no loop will be generated by these ports.
Broadcast storm suppression mechanism in case of SRPT failure in a multi-homed subring
As shown in Figure 17, Ring 1 is the primary ring, and Ring 2 and Ring 3 are subrings. When the two SRPTs between the edge node and the assistant edge node are down, the master nodes of Ring 2 and Ring 3 will open their secondary ports. A loop is generated among Device B, Device C, Device E, and Device F, causing a broadcast storm.
To avoid generating a loop, the edge node will temporarily block the edge port. The blocked edge port is activated only when the edge node determines that no loop will be generated when the edge port is activated.
RRPP ring group
In an edge node RRPP ring group, only the activated subring with the smallest domain ID and ring ID can send Edge-Hello packets. In an assistant edge node RRPP ring group, any activated subring that has received Edge-Hello packets will forward these packets to the other activated subrings. When an edge node RRPP ring group and an assistant edge node RRPP ring group are configured, the CPU workload is reduced because of the following reasons:
Only one subring sends Edge-Hello packets on the edge node.
Only one subring receives Edge-Hello packets on the assistant edge node.
As shown in Figure 17, Device B is the edge node of Ring 2 and Ring 3. Device C is the assistant edge node of Ring 2 and Ring 3. Device B and Device C need to send or receive Edge-Hello packets frequently. If more subrings are configured or more domains are configured for load balancing, Device B and Device C will send or receive a large number of Edge-Hello packets.
To reduce Edge-Hello traffic, perform the following tasks:
Assign Ring 2 and Ring 3 to an RRPP ring group configured on the edge node Device B.
Assign Ring 2 and Ring 3 to an RRPP ring group configured on the assistant edge node Device C.
If all rings are activated, only Ring 2 on Device B sends Edge-Hello packets.
Fast detection mechanism
Ideally, an RRPP ring can fast converge because its transit nodes can detect link failures quickly and send out notifications immediately. In practice, some devices on an RRPP ring might not support RRPP. RRPP can detect link failures between these devices only through the timeout mechanism. This results in long-time traffic interruption and failure to implement millisecond-level convergence.
To address this problem, a fast detection mechanism was introduced. The mechanism works as follows:
The master node sends Fast-Hello packets out of its primary port at the interval specified by the Fast-Hello timer. If the secondary port receives the Fast-Hello packets sent by the local master node before the Fast-Fail timer expires, the entire ring is in Health state. Otherwise, the ring transits to Disconnect state.
The edge node sends Fast-Edge-Hello packets out of its common ports at the interval specified by the timer resolution. If the assistant edge node fails to receive the Fast-Edge-Hello packets within three times the timer resolution, the SRPTs transit to Disconnect state.
As shown in Figure 14, when fast detection is enabled for RRPP domain 1, Device A (master node of Ring 1) sends Fast-Hello packets periodically. It determines the ring status according to whether Fast-Hello packets are received before the Fast-Fail timer expires, implementing link status fast detection.
To implement fast detection on an RRPP ring, enable fast detection on the master node, edge node, and assistant edge node of the RRPP ring.