# Enhanced Bit Repair IP Fast Reroute Mechanism for Rapid Network Recovery
## 4 The Proposal of the Enhanced B-REP Mechanism  
The B-REP mechanism, which was described in more detail in the previous chapter, was considered in terms of deployment for networks with lower expected throughput. Therefore, we focused on the ability to protect only a few, yet critical, flows from the failure of the protected interface. The simulations confirmed the functionality of this concept. Therefore, we focused on finding a more general approach, with the design of B-REP properties that protect against one or more errors, but for all affected flows. The concept will, of course, still support the original functionalities. However, with the new features, it will also be suitable for more complex networks or networks with higher throughput. Lack of protection against multiple network outages is a weakness of most of the FRR mechanisms analyzed. In this chapter, we present a significant improvement of the B-REP mechanism. For differentiation, we call the enhanced version Enhanced B-REP (EB-REP), with an impact on all tables used. EB-REP enhances the original design to support protection against multiple network outages with FRR calculations for each protected interface, and thus for all network prefixes affected by the failure. EB-REP will work as follows: At the end of a router boot process (or after the EB-REP initial configuration), the EB-REP mechanism must wait for the unicast routing process to complete, i.e., the end of network routing convergence. Then, the EB-REP process initializes the EB-REP table (EB-REP T). This means that EB-REP must assign a unique EB-REP ID and a corresponding Bit-String position value to each router within the EB-REP protection domain. The EB-REP protection domain is a continuous area of EB-REP enabled routers. The table initialization process is identical to the B-REP one. At the end of the process, each EB-REP enabled router has populated an identical local EB-REP table (Table 4). \begin{table}
\begin{tabular}{c c c c} \hline  & **LS R-ID** & **EB-REP ID** & **Router Bit-String Position** \\ \hline R1 & 1.1.1.1 & 1 & 0000 0001 \\ R2 & 2.2.2.2 & 2 & 0000 0010 \\ R3 & 3.3.3.3 & 3 & 0000 0100 \\ R4 & 4.4.4.4 & 4 & 0000 1000 \\ R5 & 5.5.5.5 & 5 & 0001 0000 \\ R6 & 6.6.6.6 & 6 & 0010 0000 \\ R7 & 7.7.7.7 & 7 & 0100 0000 \\ R8 & 8.8.8.8 & 8 & 1000 0000 \\ \hline \end{tabular}
\end{table} 
Table 4: EB-REP Table. Subsequently, each router must prepare an EB-REP backup table (EB-REP BT), which is the main working database of the EB-REP algorithm. To perform this, the EB-REP process first obtains a list of protected interfaces (given by the EB-REP configuration). The EB-REP FRR protection can be enabled on some as well as all interfaces of an EB-REP enabled router. The EB-REP then retrieves from the unicast routing table all network IP addresses that the router uses to route individual packets over protected interfaces. As a next step, the EB-REP will start calculating alternative paths for each identified network IP address (network prefix), which will be used in case of protected link failure. Like B-REP, EB-REP uses the Dijkstra algorithm to calculate an alternative path. The Dijkstra algorithm accurately determines the list of passing routers from a given local router to the egress router of the EB-REP domain (D router) closest to the given destination network IP address. EB-REP identifies routers of the path from the unique Bit-String value of the alternative path. Finally, all this information is written in the EB-REP BT (Table 5). One EB-REP BT entry consists of the output interface used to route the packet of an affected flow, the IP address of the flow itself, and finally, the BS value of the alternative path. Here is the first difference and improvement over the legacy B-REP process. Once the EB-REP FRR is enabled on all interfaces and the EB-REP BT is calculated, the EB-REP mechanism provides FRR protection for all IP addresses affected by a network error (protected interface or neighbor). This approach also has its disadvantages.