## 4 Taxonomy of the Existing Multipath Routing Protocols
### Alternative Path Routing
As a result, each intermediate node along the primary path constructs a backup path around its next-hop neighboring node on the primary path via transmitting an _alternative path reinforcement_ message. Through establishing a set of partially disjoint paths between the source and sink nodes, whenever the primary path fails to forward data packets towards the sink node, one of the constructed alternative paths can be utilized to avoid data transmission failure. Simulation results [32] show the lower overhead of braided multipath routing approach compared to the idealized node-disjoint multipath protocol. Furthermore, through performance evaluation of the proposed protocol under a wide range of failure probabilities, it is demonstrated that the proposed  
Figure 5: Braided multiple paths. approach provides about 50% higher resilience against path failures, compared to the idealized node-disjoint multipath protocol. However, since this protocol utilizes only one path for data transmission, the end-to-end throughput is limited to the capacity of a single path. Besides, since this approach is designed based on the principles of Directed Diffusion, the drawbacks of Directed Diffusion can be also applied to this protocol. _Reliable and Energy-Aware Multipath Routing_[55] is designed to mitigate the energy efficiency requirement of wireless sensor networks, while provides reliable data transmission through maintaining a backup path from each source node towards the sink node. Similar to the above presented protocols, the routing operation in this protocol is also initialized by the sink node. In this way, whenever the sink node receives an _interest_ message from a source node and there is no active path towards the source node, it initiates a _service-path_ discovery process through flooding a _service-path request_ message. Upon reception of the _service-path request_ message at the corresponding source node, the receiver node transmits a _service-path reservation_ message towards the sink node (through the reverse path) to confirm the discovered path. While the _service-path reservation_ message moves from the source node towards the sink node, whenever a node along the reverse path receives this message, it reserves a part of its residual battery level for data transmission over this path. The _service-path_ construction process finishes by receiving the _service-path reservation_ message at the sink node. Afterwards, the source node can transmit its data packets towards the sink node through the constructed path. After constructing the _service-path_, sink node initiates another path discovery process to establish a backup path towards the same source node by flooding a _backup path discovery_ message. During this process, the intermediate nodes, which are not a member of the discovered _service-path_, broadcast the received _backup path discovery_ message to their neighbors. Therefore, a node-disjoint path is created to provide fault tolerance in the case of _service-path_ failure. Although this protocol provides energy-efficient and reliable data transmission, however it suffers from the main disadvantage of the alternative path routing strategy: the end-to-end capacity is limited to the capacity of a single path. More importantly, this protocol neglects the effects of wireless interference and link unreliability on the required energy for successful data transmission.