1/30
Table of Contents
1 Overview ........................................................................................................................................ 3 1.1 Background ........................................................................................................................ 3 1.2 Benefits ............................................................................................................................... 3 2 RRPP Implementation .................................................................................................................. 4 2.1 Basic Concepts in RRPP ................................................................................................... 4 2.1.1 RRPP Domain ......................................................................................................... 4 2.1.2 RRPP Ring............................................................................................................... 5 2.1.3 RRPP Control VLAN ............................................................................................... 6 2.1.4 RRPP Protected VLAN ........................................................................................... 6 2.1.5 Master Node ............................................................................................................ 6 2.1.6 Transit Node ............................................................................................................ 7 2.1.7 Edge Node and Assistant-Edge Node ................................................................... 8 2.1.8 Primary Port and Secondary Port .......................................................................... 8 2.1.9 Common Port and Edge Port ................................................................................. 9 2.2 RRPPDUs ........................................................................................................................... 9 2.2.1 RRPPDU Types....................................................................................................... 9 2.2.2 RRPPDU Format ................................................................................................... 11 2.3 Single Ring Fundamentals .............................................................................................. 12 2.3.1 Single-Domain Single Ring................................................................................... 12 2.3.2 Multi-Domain Single Ring ..................................................................................... 17 2.4 Intersecting Ring Fundamentals ..................................................................................... 18 2.4.1 Single-Domain Intersecting Rings........................................................................ 18 2.4.2 Multi-Domain Intersecting Rings .......................................................................... 19 2.4.3 SRPT State Detection Mechanism ...................................................................... 20 3 Application Scenarios ................................................................................................................. 27 3.1 Single-Domain Single Ring ............................................................................................. 27 3.2 Multi-Domain Single Ring ................................................................................................ 27 3.3 Tangent Rings .................................................................................................................. 28 3.4 Single-Domain Intersecting RRPP Rings ....................................................................... 29 3.5 Multi-Domain Intersecting RRPP Rings ......................................................................... 29 3.6 RRPP in Combination with STP...................................................................................... 30
2/30
1 Overview
1.1 Background
Nowadays, most networks use the ring structure to improve reliability. With ring networking technologies, network devices are connected to form rings. To avoid broadcast storms, which are common in a ring network, a loop protection mechanism must be used. The IEEE spanning tree protocols have been widely used for loop protection. However, as STP topology convergence gets slower while network size is growing, transmission performance can be degraded in a large network. To remove the negative impact of network size on topology convergence and shorten topology convergence time, H3C developed RRPP.
1.2 Benefits
RRPP is a link layer protocol dedicated to Ethernet rings. It can prevent broadcast storms caused by data loops when an Ethernet ring is healthy, and rapidly restore the communication paths between the nodes after a link is disconnected on the ring by bringing up the backup link. Compared with STP, RRPP has the following advantages:
z z
Fast topology convergence within 50 ms. Convergence time independent of Ethernet ring size.
On intersecting rings, the topology change of an RRPP ring does not cause topology changes in the other rings, and therefore, data transmission is more stable. In addition, RRPP supports load sharing in Ethernet rings, which improves physical link bandwidth utilization.
3/30
2 RRPP Implementation
2.1 Basic Concepts in RRPP
2.1.1 RRPP Domain
An RRPP domain identified by an integral ID defines a topology range calculated and controlled by the RRPP protocol. It consists of some interconnected devices with the same domain ID, control VLANs, and protected VLANs. A device can belong to multiple RRPP domains. An RRPP domain consists of the following elements:
z z z z z z z
RRPP rings RRPP control VLANs RRPP protected VLANs Master nodes Transit nodes Edge nodes Assistant-edge nodes
In Figure 1, Domain 1 is an RRPP domain that contains Ring 1 and Ring 2 formed by devices S1 through S6. Ring 1 is the primary ring, where S1 is the master node and S2, S3, and S4 are transit nodes. Ring 2 is the subring, where S6 is the master node, and S5 is a transit node. S3 and S2 are the edge node and the assistant-edge node respectively. The primary control VLAN and secondary control VLAN of Domain 1 are VLAN 3 and VLAN 4 respectively.
4/30
S3
Edge
4 4
S6 P
Master
B S
4
Ring 1
3 4
Ring 2
Master
P B S1
4 4 3
3 4
Assistant
4 4
S3
S5
All devices on the single ring are configured to be in the same RRPP domain. All devices on intersecting rings are also configured to be in the same RRPP domain.
For two tangent rings, the devices on each ring are configured to be in the same RRPP domain. That is, two tangent rings need two different RRPP domains, one for each ring.
In an RRPP domain with intersecting rings, to achieve independent topology calculation on each ring without affecting other rings and prevent loops, you need to configure one ring as the primary ring and the others as subrings. The primary ring as a whole serves as a logical node on the subrings, and protocol packets from the
Hangzhou H3C Technologies Co., Ltd.
5/30
subrings are transparently transmitted through the primary ring. In this way, topology calculation is performed on the intersecting rings as a whole. Protocol packets of the primary ring are confined within the primary ring. The level of the primary ring is 0 and that of subrings is 1. For example, to configure Ring 1 in Figure 1 as the primary ring, you should set its ring level to 0 and set the level of all the other rings in the domain, Ring 2 in this example, to 1. By doing this, you can prevent loops in the intersecting ring topology and ensure the connectivity between nodes.
6/30
configure only one as the master node. The master node initiates ring status detection with the polling mechanism and makes operation decisions upon ring topology changes. In Figure 1, S1 is the master node on the primary ring, and S6 is the master node on the subring. A master node can be in one of the following states:
z
Complete state
The master node is in the complete state if it can receive at its secondary port the Hello packets sent out its primary port. In this case, the master node blocks the secondary port to prevent traffic loops.
z
Failed state
When a link in the ring fails, the master node is in the failed state. To avoid traffic interruption in the ring, the master node unblocks the secondary port to forward data traffic.
Note: The state of the master node represents the state of the whole RRPP ring. That is, when the master node is in the complete (failed) state, the RRPP ring is also in the complete (failed) state.
Link-up state
When both the primary port and secondary port are up, the transit node is in the linkup state.
Hangzhou H3C Technologies Co., Ltd.
7/30
Link-down state
When either the primary port or the secondary port is down, the transit node is in the link-down state.
z
Pre-forwarding state
When either the primary port or the secondary port is blocked, the transit node is in the pre-forwarding state.
Link-up state
When the edge port is up, the node is in the link-up state.
z
Link-down state
When the edge port is down, the node is in the link-down state.
z
Pre-forwarding state
When the edge port is blocked, the node is in the pre-forwarding state. The state transition of an edge or edge-assistant node is the same as that of a transit node but it is triggered by the link state change of the edge port only.
8/30
messages on its secondary port, the master node considers the RRPP ring as complete and thus blocks the secondary port to avoid loops. If the master node fails to receive these HELLO messages within the specified period, it considers the ring as having failed and unblocks the secondary port to ensure service continuity. The primary and secondary ports of a transit node are the same in functions. In an RRPP domain, the primary ring is a logical node of each subring and it transmits subring RRPPDUs (except the EDGE-HELLO messages) transparently as data traffic. Therefore, no data packet or subring RRPPDU (except the EDGE-HELLO messages) can pass through a blocked port on the primary ring.
2.2 RRPPDUs
2.2.1 RRPPDU Types
RRPPDU type Description Sent regularly by a master node to check ring completeness. If the sent HELLO messages can finally reach the secondary port of the master node within the predefined period, the ring is considered complete; if not, the ring is considered open, in which case a link may have failed on the ring. Sent by a transit, edge, or edge-assistant node to report link failure to the master node.
HELLO
LINK-DOWN
9/30
RRPPDU type
Description Sent by a master node to notify the transit nodes to update their MAC address tables and ARP/ND tables when it transitions to the failed state.
COMMON-FLUSH-FDB
The nodes on the primary ring must update their MAC address table and ARP/ND tables after receiving COMMON-FLUSH-FDB messages, even if they are from the master node on a subring. Sent by a master node to notify the transit nodes to update their MAC address tables and ARP/ND tables when it transitions to the complete state. The transit nodes thus transition to the link-up state, unblocking the temporarily blocked ports. For the nodes on the primary ring, if the sending master node is on a subring, they will update the MAC address tables and ARP/ND tables, but will not unblock the blocked ports. Sent by the edge node of a subring and received by the assistant-edge node of the same subring to check whether the SRPTs of the subring are in good condition.
COMPLETE-FLUSH-FDB
EDGE-HELLO
The edge node periodically sends EDGE-HELLO messages out the two common ports to the assistant-edge node across the primary ring. If the assistant-edge node receives the messages, the SRPTs are considered as in good condition; if the assistant-edge node does not receive the messages within a specified period of time, the SRPTs are considered as faulty. Sent by an assistant-edge node to report SRPT failure to the edge node. Upon receiving a MAJORFAULT message, the edge node blocks its edge port.
MAJOR-FAULT
10/30
0x0000
0x00
LEVEL
The following table describes each field in an RRPPDU: Field Destination Address MAC 48 Length (in bits) Description Destination MAC address, in the range of 0x000FE2078217 to 0x000FE2078416. Source MAC address, fixed to 0x000fe203fd75. Encapsulation type, 0x8100 indicating encapsulation. fixed to tagged
48
EtherType
4 12 16
Class of service (CoS) priority, fixed to 0xe0. ID of the VLAN to which the packet belongs. Ethernet frame length, fixed to 0x48. Destination service point/source service point, fixed to 0xaaaa. Fixed to 0x03. access access
DSAP/SSAP CONTROL
Hangzhou H3C Technologies Co., Ltd.
16 8
11/30
Description Fixed to 0x00e02b. RRPP protocol data unit length, fixed to 0x40. RRPP version, 0x0001 currently. RRPPDU type:
z z
RRPP Type
z z z z
16 16 48 16 16 8
ID of the RRPP ring to which the packet belongs. ID of the RRPP ring to which the packet belongs. Bridge MAC address of the node sending the packet. Hello timer setting (in seconds) of the sending node. Fail timer setting (in seconds) of the sending node. Level of the RRPP ring to which the packet belongs.
12/30
transit node on the ring in turn. If they can finally reach the secondary port of the master node, the ring is considered complete. In this case, to avoid broadcast loops on the ring, the master node keeps its secondary port blocked. Figure 3 shows a closed RRPP ring.
Single Ring Complete state
S B Master
HELLO P - Primary Port S - Secondary Port B - Blocked Port Data Packet Control Packet
1)
RRPP uses a polling mechanism to check ring faults. With this mechanism, a master node sends Hello messages to the ring regularly. These Hello messages pass through each transit node on the ring in turn. If they fail to reach the secondary port of the master node within a specified period of time, the ring is considered open, in which case at least one link may have failed on the ring. In this case, the master node transitions to the failed state, unblocks the secondary port, and sends COMPLETE-FLUSH-FDB messages out its primary and secondary ports to instruct all the transit nodes to update their MAC address table entries and
Hangzhou H3C Technologies Co., Ltd.
13/30
A node is always monitoring its own port link status, and takes immediate actions upon detecting a failed port.
z
When a master nodes primary port goes down, the master node is able to sense the link fault by itself. It immediately unblocks its secondary port, and sends a COMPLETE-FLUSH-FDB message out its secondary port to instruct all the transit nodes to update their MAC address table entries and ARP/ND entries.
When one port on a transit node goes down, the transit node sends a LINKDOWN message out the other RRPP port that is still up to notify the master node, as shown in Figure 4. Upon receiving the message, the master node unblocks its secondary port and transitions to the failed state. To avoid packet direction errors due to the topology change, the master node updates its own MAC address table and ARP/ND entries and sends a COMMON-FLUSH-FDB message out its primary and secondary ports to instruct all the transit nodes to update their MAC address table entries and ARP/ND entries. See Figure 5 for the process of a master node transitioning from the complete state to the failed state.
Transit Send LINK-DOWN to Master
Link failure
LINK-DOWN
S B Master
14/30
Master COMMON-FLUSH-FDB P - Primary Port S - Secondary Port B - Blocked Port Data Packet Control Packet
The link-down alarm mechanism provides faster fault protection than the polling mechanism. However, if LINK-DOWN messages are lost on the way to the master node, the link faults will be detected later by the master node using the polling mechanism. If the master node fails to receive on its secondary port the Hello messages it sends out within a period of time specified by the Fail timer, it considers the ring topology as faulty, and then takes related actions as described earlier.
15/30
S Master
Figure 6 A transit node blocks its recovered ports and transitions to the pre-forwarding state
When all the links on the ring recover and the master node is able to receive its own Hello packets again, it blocks the secondary port and transitions back to the complete state. Because of the ring topology change, the master node needs to update its MAC address table entries and ARP/ND entries, and sends COMPLETE-FLUSH-FDB messages to instruct all the transit nodes to update their MAC address table entries and ARP/ND entries. When receiving the COMPLETE-FLUSH-FDB message from the master node, the transit nodes in the pre-forwarding state transition to the Link-Up state. Thus the ring is recovered, as shown in Figure 7.
16/30
Transfer to Link-Up State & Unblock port Transfer to Complete state & block S port P S B Master COMPLETE-FLUSH-FDB P - Primary Port S - Secondary Port B - Blocked Port Data Packet Control Packet
In case the COMPLETE-FLUSH-FDB messages fail to reach a transit node, the transit node in the pre-forwarding state unblocks the blocked port automatically, updates its MAC address table entries and ARP/ND entries and transits to the link-up state if it fails to receive any COMPLETE-FLUSH-FDB messages from the master node within the period of time specified by the Fail timer.
17/30
As shown in Figure 8, Ring 1 is configured as the primary ring in both Domain 1 and Domain 2. Domain 1 and Domain 2 have different protected VLANs. In Domain 1, Device A is configured as the primary node on Ring 1, while in Domain 2, Device B is configured as the primary node on Ring 1. Under such configurations, traffic of different VLANs is transmitted along different paths.
18/30
Domain 1 Device A
Transit node
Device D
Device A
Device B
Device D
Device C
As shown in Figure 10, Ring 1 and Ring 2 are respectively configured as the master ring and subring in both Domain 1 and Domain 2. They have different protected
Hangzhou H3C Technologies Co., Ltd.
19/30
VLANs. In Domain 1, Device A is configured as the master node of Ring 1, while in Domain 2, Device D is configured as the master node of Ring 1. In both Domain 1 and Domain 2, Device E is configured as the master node of Ring 2. However, for Domain 1 and Domain 2, the primary and secondary ports on Device E are different. In this way, traffic of different VLANs can be transmitted along different paths in the primary ring and subrings, thus achieving load sharing on the intersecting rings.
20/30
To address the problem, the SRPT state detection mechanism is introduced, which is carried out by the edge and assistant-edge nodes together. When the edge node detects that both the SRPTs are down, it blocks the edge ports on the edge nodes before the secondary ports on the master nodes of the subrings are both unblocked. Thus, loops are avoided. Figure 12 shows how loops are removed with the SRPT state detection mechanism.
Figure 12 Loop removal in a dual-homed ring topology with SRPT state detection
21/30
The edge node of a subring periodically sends EDGE-HELLO messages destined for the assistant-edge node out the two ports connecting the subring to the SRPTs. The EDGE-HELLO messages travel through each node on the SRPTs, as shown in Figure 13. If at least one SRPT is normal for transmitting subring protocol packets, the assistant-edge node can receive these EDGE-HELLO messages within the specified period of time. If the two SRPTs are both disconnected and the subring protocol packets cannot travel through the primary ring, the assistant-edge node cannot receive these EDGE-HELLO messages within the specified period of time.
Major ring
Sub ring
2)
Blocking the edge port of the edge node when the SRPTs are disconnected
Upon detecting that the two SRPTs are both disconnected, the assistant-edge node sends MAJOR-FAULT messages out the edge port to the edge node through the subring. If the subring is normal, the edge node can receive these MAJOR-FAULT
Hangzhou H3C Technologies Co., Ltd.
22/30
messages. Upon receiving the MAJOR-FAULT messages, the edge node blocks its edge port as shown in Figure 14. If the subring fails, the edge port of the edge node will not be blocked. MAJOR-FAULT messages are sent periodically. If the edge node receives them, its edge port stays blocked; if the edge node fails to receive any MAJOR-FAULT message within the specified period of time, its edge port is unblocked automatically.
Edge B P
Master
B S
Major ring
Sub ring
Figure 14 The edge node blocks its edge port upon receiving MAJOR-FAULT messages
3)
As the master node on the subring cannot receive the HELLO messages it sent out due to disconnection of the two SRPTs, it unblocks its secondary port and transitions to the failed state, as shown in Figure 15.
23/30
Edge B P
Master
Major ring
Sub ring
P S Master Assistant
Figure 15 The subrings master node transitions to the failed state due to SRPT disconnection
4)
SRPT recovery
When the primary ring recovers, the SRPTs also recover. Therefore, the assistantedge node stops sending MAJOR-FAULT messages. In this case, if the subring is normal, its master node can receive its own Hello packets again, and thus blocks its secondary port and transitions to the complete state, as shown in Figure 16.
24/30
Major ring
Sub ring
P S Master Assistant
After the subring is recovered, its master node sends COMPLETE-FLUSH-FDB messages out the primary port. Upon receiving the COMPLETE-FLUSH-FDB messages, the edge node unblocks its edge port if the port is blocked, as shown in Figure 17. Thus, communication in the entire network is recovered.
Major ring
Sub ring
P S Master Assistant
Figure 17 The edge node of the subring unblocks the edge port
25/30
If a fault is present on the subring when the SRPTs recover, the subring cannot be recovered. In this case, the master node of the subring does not send COMPLETEFLUSH-FDB messages and the blocked edge port of the edge node will be unblocked only after the Fail timer expires.
3. Ring group
In SRPT state detection, the edge node and assistant-edge node of subrings respectively sends and receives EDGE-HELLO packets frequently. As shown in 1. Figure 11 in the multi-ring dual-homed topology, if you configure S2 and S3 as the edge node and assistant-edge node of both Ring 2 and Ring 3, S2 needs to send EDGE-HELLO packets for both Ring 2 and Ring 3, while S3 needs to receive EDGEHELLO packets for both Ring 2 and Ring 3. The more subrings are configured, the more EDGE-HELLO packets will occur in the network, thus increasing the CPU load of the devices. To reduce Edge-Hello traffic, you can configure a group of subrings on the edge node or assistant-edge node. A ring group configured on the edge node is called an edge node ring group, and a ring group configured on an assistant-edge node is called an assistant-edge node ring group. In an edge node ring group, only an active subring with the smallest domain ID and ring ID sends EDGE-HELLO packets; in an assistant-edge node ring group, a random active subring receives the EDGE-HELLO packets and passes the information to other active subrings. In this way, after subring groups are configured on the edge node and assistant-edge node, only one subring in each group sends/receives EDGE-HELLO packets, thus reducing the device CPU load significantly. You must configure a device as the edge node of these subrings, and another device as the assistant-edge node of these subrings. Additionally, these subrings must have the same SRPTs.
26/30
3 Application Scenarios
3.1 Single-Domain Single Ring
Domain 1 Device A
Device B
Transit node
Transit node
Device D
Device C
A single-domain single-ring network has only one ring. Therefore, you need to define only one RRPP domain and one RRPP ring. A single-domain single-ring network features fast response to topology changes and fast topology convergence.
27/30
A multi-domain single-ring network has only one ring, but multiple VLANs for the purpose of load sharing. Multiple RRPP domains are configured in the network, each having its own protected VLANs. In addition, an RRPP ring has different master nodes in different RRPP domains or has the same master node but different primary/secondary ports in different RRPP domains. Therefore, the protected VLANs of different RRPP domains have different logical topologies.
A tangent-ring network contains two or more rings. Every two rings have only one common node. For each ring, you are required to define an independent RRPP domain. The tangent-ring topology is suitable for large-scale networks that require networks at the same level to be managed as independent domains.
28/30
Transit node
Device D
A single-domain intersecting-ring network contains two or more rings. Every two rings have two common nodes. In this case, you can define one RRPP domain. In the domain, configure a ring as the primary ring and the other rings as subrings. A typical single-domain intersecting-ring topology is dual-homed rings where the master node of a subring is dually uplinked to the primary ring through the edge node and the assistant-edge node for uplink backup.
Device A
Device B
Device D
Device C
Figure 22 Networking diagram for multi-domain intersecting rings Hangzhou H3C Technologies Co., Ltd.
29/30
A multi-domain intersecting-ring network contains two or more rings. Every two rings have two common nodes. To achieve load sharing when data traffic of multiple VLANs exists in the network, you can configure multiple RRPP domains in the network, each having its own protected VLANs. In addition, an RRPP ring has different master nodes in different RRPP domains or has the same master node but different primary/secondary ports in different RRPP domains. In this way, the protected VLANs of different RRPP domains can have different logical topologies.
Copyright 2008 Hangzhou H3C Technologies Co., Ltd. All Rights Reserved Extracting and copying partial or whole contents of the document without H3Cs written permission is prohibited. The information is this document is subject to due modification.
30/30