# Enhanced Bit Repair IP Fast Reroute Mechanism for Rapid Network Recovery
## 3 The B-REP Mechanism  
This paper deals with the design of new extensions overcoming the limitations of the original B-REP algorithm [39]. However, before we address them, we will describe key features of the original B-REP algorithm. The B-REP algorithm is a kind of proactive FRR mechanism that uses encapsulation (tunneling) techniques. Some existing FRR solutions use various proprietary solutions to define an alternative route. Unlike these, we have proposed that the B-REP uses a standardized header. The B-REP (and its successor EB-REP) for tunneling purposes therefore uses the standardized Bit Index Explicit Replication (BIER) header [71; 72] (Figure 5). We suggest using a BIER header, among other things, that contains a special field called the Bit-String (BS) (Figure 6). The Bit-String is an array of bits, in which each bit indicates exactly one specific router in the BIER domain [73; 74]. Figure 5: Bit Index Explicit Replication (BIER) header. BIFI-id—Bit Index Forwarding Table id. TC—Traffic Class. S—Not used in non-MPLS network. TTL—Time to Live. Ver—Version. BSL—BitString length. OAM—Optional bits. Rsv—Reserved. DSCP—Differentiated Services Code Point. Proto—Next Protocol. BFIR—Bit-Forwarding Ingress Router. The BS field allows the B-REP algorithm to efficiently carry an alternative path. This alternative path is the result of a precalculation of the backup route performed by the Dijkstra algorithm. The backup route is calculated in the case of failure of the protected link and the specific flow routed above it. Thanks to the use of the BS field, the B-REP can efficiently and accurately specify the entire alternative path as the BS value. The BS value consists of the B-REP router identifiers (B-REP R-ID) of each router on the path. The idea behind the B-REP design was the need to protect important customer flows carried via an ISP network. The B-REP FRR protects against link or node errors, but the Reroute calculation of protected interface redirection is based only on the predefined destination IP address (or a few of them). The address must be exactly specified by an administrator. The original B-REP does not support calculations in a wide range of all error-affected prefixes. In addition to the BS field, the B-REP uses two specific tables for its operation. The first table is named the B-REP Table (B-REP T), and the second table is called the B-REP Backup Table (B-REP BT). The B-REP table is initialized and is filled by the B-REP process first. The B-REP table maintains a list of all routers in the area, their B-REP router identifiers (B-REP R-IDs), and the corresponding Bit-String values (Figure 7, Table 2). Two of the values contained in the B-REP table are necessary parameters required for the correct operation of B-REP. The B-REP algorithm requires that each B-REP router must be uniquely identified within the B-REP protection domain. This unique identity of each B-REP router in the area is maintained in the B-REP R-ID. The second parameter is the corresponding Bit-String bit position of each router, which is used to generate the BS values. The BS position is derived from the B-REP R-ID. The B-REP table is created on each B-REP capable router during the algorithm initialization phase independently. The initialization of the B-REP T must end on all routers in the same way. Therefore, for the purpose of the B-REP R-ID assignment process, we assume either manual or dynamic assignment. Manual mode presupposes administrator intervention. Dynamic mode assumes the derivation of a B-REP R-ID from another unique identifier already used by routers. If B-REP routers use some type of Link-State (LS) unicast routing protocol, this mode is the preferred option; the reason being that LS unicast routing protocols, according to their nature, use the Link State Database (LSDB). The LSDB is the same on all routers.