Resilient Ethernet
Protocol (REP) is a Cisco proprietary protocol that provides an alternative to
Spanning Tree Protocol (STP) to control network loops, handle link failures,
and improve convergence time. REP controls a group of ports connected in a
segment, ensures that the segment does not create any bridging loops, and
responds to link failures within the segment. REP provides a basis for
constructing more complex networks and supports VLAN load balancing.
![](/c/dam/en/us/td/i/templates/note.gif) Note |
REP is supported on
Catalyst switches running IP Base, IP Services, or IP Lite licenses. REP is not
supported on the LAN Base license.
|
A REP segment is a
chain of ports connected to each other and configured with a segment ID. Each
segment consists of standard (non-edge) segment ports and two user-configured
edge ports. A router can have no more than two ports that belong to the same
segment, and each segment port can have only one external neighbor. A segment
can go through a shared medium, but on any link only two ports can belong to
the same segment. REP is supported only on Trunk Ethernet Flow Point (EFP)
interfaces.
The figure below
shows an example of a segment consisting of six ports spread across four
switches. Ports E1 and E2 are configured as edge ports. When all ports are
operational (as in the segment on the left), a single port is blocked, shown by
the diagonal line. When there is a failure in the network, the blocked port
returns to the forwarding state to minimize network disruption.
Figure 1. REP Open
Segment
The segment shown in
the figure above is an open segment; there is no connectivity between the two
edge ports. The REP segment cannot cause a bridging loop, and you can safely
connect the segment edges to any network. All hosts connected to routers inside
the segment have two possible connections to the rest of the network through
the edge ports, but only one connection is accessible at any time. If a failure
occurs on any segment or on any port on a REP segment, REP unblocks all ports
to ensure that connectivity is available through the other gateway.
The segment shown in
the figure below is a ring segment with both edge ports located on the same
router. With this configuration, you can create a redundant connection between
any two routers in the segment.
Figure 2. REP Ring
Segment
REP segments have the
following characteristics:
-
If all ports in a
segment are operational, one port (referred to as the
alternate
port) is in the blocked state for each VLAN. If VLAN load balancing is
configured, two ports in the segment control the blocked state of VLANs.
-
If one or more
ports in a segment is not operational, and cause a link failure, all ports
forward traffic on all VLANs to ensure connectivity.
-
In case of a link
failure, alternate ports are unblocked as quickly as possible. When the failed
link is up, a logically blocked port per VLAN is selected with minimal
disruption to the network.
You can construct
almost any type of network based on REP segments. REP also supports VLAN load
balancing, which is controlled by the primary edge port occurring at any port
in the segment.
In access ring
topologies, the neighboring switch might not support REP as shown in the figure
below. In this case, you can configure the non-REP facing ports (E1 and E2) as
edge no-neighbor ports. These ports inherit all properties of edge ports, and
you can configure them the same as any edge port, including configuring them to
send STP or REP topology change notices to the aggregation switch. In this
case, the STP topology change notice (TCN) that is sent is a multiple
spanning-tree (MST) STP message.
Figure 3. Edge No-Neighbor
Ports
REP has these
limitations:
-
You must configure
each segment port; an incorrect configuration can cause forwarding loops in the
networks.
-
REP can manage
only a single failed port within the segment; multiple port failures within the
REP segment cause loss of network connectivity.
-
You should
configure REP only in networks with redundancy. Configuring REP in a network
without redundancy causes loss of connectivity.
Link
Integrity
REP does not use an end-to-end
polling function between edge ports to verify link integrity. It implements
local link failure detection. The REP Link Status Layer (LSL) detects its
REP-aware neighbor and establishes connectivity within the segment. All VLANs
are blocked on an interface until it detects the neighbor. After the neighbor
is identified, REP determines which neighbor port should become the alternate
port and which ports should forward traffic.
Each port in a segment has a unique port ID. The port ID format is
similar to that used by the spanning tree algorithm: a port number (unique on
the bridge), associated to a MAC address (unique in the network). When a
segment port is coming up, its LSL starts sending packets that include the
segment ID and the port ID. The port is declared as operational after it
performs a three-way handshake with a neighbor in the same segment.
A segment port does not become operational if:
-
No neighbor has the same segment ID.
-
More than one neighbor has the same segment ID.
-
The neighbor does not acknowledge the local port as a peer.
Each port creates an adjacency with its immediate neighbor. Once the
neighbor adjacencies are created, the ports negotiate to determine one blocked
port for the segment, the alternate port. All other ports become unblocked. By
default, REP packets are sent to a BPDU class MAC address. The packets can also
be sent to the Cisco multicast address, which is used only to send blocked port
advertisement (BPA) messages when there is a failure in the segment. The
packets are dropped by devices not running REP.
VLAN Load
Balancing
ne edge port in the
REP segment acts as the primary edge port; the other as the secondary edge
port. It is the primary edge port that always participates in VLAN load
balancing in the segment. REP VLAN balancing is achieved by blocking some VLANs
at a configured alternate port and all other VLANs at the primary edge port.
When you configure VLAN load balancing, you can specify the alternate port in
one of three ways:
-
By entering the
port ID of the interface. To identify the port ID of a port in the segment,
enter the
show interface
rep detail interface configuration command for the port.
-
By entering the
neighbor offset number of a port in the segment, which identifies the
downstream neighbor port of an edge port. The neighbor offset number range is
–256 to +256; a value of 0 is invalid. The primary edge port has an offset
number of 1; positive numbers above 1 identify downstream neighbors of the
primary edge port. Negative numbers indicate the secondary edge port (offset
number -1) and its downstream neighbors.
![](/c/dam/en/us/td/i/templates/note.gif) Note |
You configure offset
numbers on the primary edge port by identifying a port’s downstream position
from the primary (or secondary) edge port. You would never enter an offset
value of 1 because that is the offset number of the primary edge port itself.
|
The figure below shows
neighbor offset numbers for a segment where E1 is the primary edge port and E2
is the secondary edge port. The red numbers inside the ring are numbers offset
from the primary edge port; the black numbers outside of the ring show the
offset numbers from the secondary edge port. Note that you can identify all
ports (except the primary edge port) by either a positive offset number
(downstream position from the primary edge port) or a negative offset number
(downstream position from the secondary edge port). If E2 became the primary
edge port, its offset number would then be 1 and E1 would be -1.
Figure 4. Neighbor Offset
Numbers in a Segment
When the REP segment
is complete, all VLANs are blocked. When you configure VLAN load balancing,you
must also configure triggers in one of two ways:
-
Manually trigger
VLAN load balancing at any time by entering the
rep preempt
segment
segment-id
privileged EXEC command on the switch that has the primary edge port.
-
Configure a
preempt delay time by entering the rep preempt delay
seconds
interface configuration command. After a link failure and recovery, VLAN load
balancing begins after the configured preemption time period elapses. Note that
the delay timer restarts if another port fails before the time has elapsed.
![](/c/dam/en/us/td/i/templates/note.gif) Note |
When VLAN load
balancing is configured, it does not start working until triggered by either
manual intervention or a link failure and recovery.
|
When VLAN load
balancing is triggered, the primary edge port sends out a message to alert all
interfaces in the segment about the preemption. When the secondary port
receives the message, it is reflected into the network to notify the alternate
port to block the set of VLANs specified in the message and to notify the
primary edge port to block the remaining VLANs.
You can also configure
a particular port in the segment to block all VLANs. Only the primary edge port
initiates VLAN load balancing, which is not possible if the segment is not
terminated by an edge port on each end. The primary edge port determines the
local VLAN load balancing configuration.
Reconfigure the
primary edge port to reconfigure load balancing. When you change the load
balancing configuration, the primary edge port again waits for the
rep preempt
segment command or for the configured preempt delay period after a port
failure and recovery before executing the new configuration. If you change an
edge port to a regular segment port, the existing VLAN load balancing status
does not change. Configuring a new edge port might cause a new topology
configuration.