A Method for Implementation of Independent Directed Acyclic Graphs for Resilient Multipath Routing N. SHANKER1, SHAIK TANVEER AHMED2,, B. HARIKRISHNA3 1 PG Scholar, CSE Dept, 2PG Scholar, CSE Dept, 3PG Scholar CSE Dept, 1,2,3 Sreyas Institute of Technology & Science, Nagole, Hyderabad, Telangana. 1 [email protected], [email protected], [email protected] ABSTRACT: In this paper, we develop a new approach for resilient multipath routing. We introduce the concept of Independent Directed Acyclic Graphs (IDAGs), an extension of independent trees. Link-independent (Node-independent) DAGs satisfy the property that any path from a source to the root on one DAG is link-disjoint (node-disjoint) with any path from the source to the root on the other DAG. Given a network, we develop algorithms to compute link-independent and nodeindependent DAGs. The algorithm guarantees that every edge other than the ones emanating from the root may be used in either of the two node-disjoint DAGs in a two-vertex-connected network. In order to achieve resilient multipath routing we introduce the concept of Independent Directed Acyclic Graphs(IDAGs) in this study. Link-independent (Nodeindependent) DAGs satisfy the property that any path from a source to the root on one DAG is link-disjoint (node-disjoint) with any path from the source to the root on the other DAG. Given a network, we develop polynomial time algorithms to compute linkindependent and node-independent DAGs. The algorithm developed in this paper: (1) provides multipath routing; (2) utilizes all possible edges; (3) guarantees recovery from single link failure; and (4) achieves all these with at most one bit per packet as overhead when routing is based on destination address and incoming edge. We show the effectiveness of the proposed IDAGs approach by comparing key performance indices to that of the independent trees and multiple pairs of independent trees techniques through extensive simulations. Index Terms—Multipath routing, Directed Acyclic Graphs, IP Fast Rerouting, Independent Trees, Failure Recovery, Network Protection I. INTRODUCTION The increasing use of streaming multimedia and voiceover-IP, precipitated by decreasing cost of handheld multimedia devices and net books, necessitates increased bandwidth provisioning and fast recovery from network failures. Thus, present day IP networks employ several different strategies for improved end-to-end bandwidth and load balancing (using multipath routing) and fast recovery from link and node failures (using fast rerouting strategies). Multipath routing is a promising routing scheme to accommodate these requirements by using multiple pairs of routes between a source and a destination. With the scheme we can achieve robustness, load balancing, bandwidth aggregation, congestion reduction, and security compared to the single shortest path routing that is usually used in most networks. This approach is similar to those employing multiple routing tables, except that only two tables are required. Every packet may carry an extra bit in its header to indicate the tree to be used for routing. This overhead bit may be avoided by employing a routing based on the destination address and the incoming edge over which the packet was received, as every incoming edge will be present on exactly one of the trees has to carry in its header the routing table to be used for forwarding. When the corresponding forwarding edge is not available, the packet needs to be dropped. This dropping is forced due to the potential looping of packets when transferred from one routing table to another. In the case of DAGs, computed by adding edges to the shortest path tree, one cannot guarantee that a single link failure will not disconnect one or more nodes from the destination. Techniques developed for fast recovery from single link failures provide more than one forwarding edge to route a packet to a destination. The techniques may be classified depending on the nature in which the backup edges are employed. In the authors develop a method to augment any given tree rooted at a destination with “backup forwarding ports.” Whenever the default forwarding edge fails or a packet is received from the node attached to the default forwarding edge for the destination, the packets are rerouted on the backup ports. In the authors present a framework for IP fast reroute detailing three candidate solutions for IP fast reroute that have all gained considerable attention. These are multiple routing configurations (MRC) failure insensitive routing (FIR) [and tunneling using Not-via addresses (Not-via). The common feature of all these approaches is that they employ multiple routing tables. However, they differ in the mechanisms employed to identify which routing table to use for an incoming packet. The readers are referred to for a detailed description of the above techniques. It is certainly possible to use fast recovery techniques (irrespective of whether they guarantee recovery from single link failure or not) for multipath routing. However, all the above techniques require a significantly large number of routing tables, hence a large number of additional bits in the packet header. We will refer to the colored trees approach as the independent trees (ITrees) approach in the rest of this paper. Figure 1 shows an example network where red and blue trees, rooted at node A, are constructed. This tree construction enables recovery from a single link failure by switching from one tree to another. For example, consider a packet that is forwarded from node F to node A on the blue tree. When there are no failures, the packet would take the path F–C–B– A. If link C–B fails, then node C would re-route the packet on the red tree, thus the packet will follow the path: F–C– F–I–H–G–D–A. Assume that a second link failure occurs on link I–H. As only two independent trees were constructed and recovery from arbitrary two link failures cannot be guaranteed, the packet will be dropped 1 when the second link failure is encountered . A B C A B C D E F D E F G H I G H I (a) Moreover, the use of multiple non-disjoint paths is advantageous in load balancing and preventing snooping on data, in addition to improving resiliency to multiple link failures. In this paper, we develop a new approach for resilient multipath routing. We introduce the concept of Independent Directed Acyclic Graphs (IDAGs), an extension of independent trees. Linkindependent (Node-independent) DAGs satisfy the property that any path from a source to the root on one DAG is link-disjoint (nodedisjoint) with any path from the source to the root on the other DAG. Given a network, we develop algorithms to compute linkindependent and node-independent DAGs. The algorithm guarantees that every edge other than the ones emanating from the root may be used in either of the two node-disjoint DAGs in a twovertex-connected network. Similarly, we show that only a small number of edges will remain unused when link-independent DAGs are constructed. The edges that will remain unused in both DAGs are defined by the topological limitation of the network. Thus, the algorithms developed in this paper employ the maximum possible edges in the DAGs. The approach developed in this paper requires at most two bits (and may be reduced to one bit when routing is based on destination address and incoming link) even when both DAGs are used simultaneously. (b) Fig. 1. Illustration of node-independent Trees for the example network. (a) Red Tree. (b) Blue Tree. Node A is the root (destination) node. One approach to enhance the robustness is to allow the packet to be switched multiple times between the trees. Such an approach will fail in the example considered above. The packet will be re-routed back and forth on the path I–F–C. We may analyze when switching back to a tree would guarantee not encountering a previous failure again by observing the properties of the independent tree construction process. However, the inherent limitation of the treebased approach is that it utilizes only 2(jNj 1) directed edges to route to a destination, where jNj denotes the number of nodes in the network. Our goal is therefore to utilize the additional links available in the network to improve robustness. To this end, we seek to construct independent directed acyclic graphs rooted at each node. Figures 3(d) and (e) show two independent directed acyclic graphs rooted at node A. Observe that node I has two red forwarding edges available. Thus in the earlier example, if link I–H fails, the packet may be forwarded on link I–E to reach the destination. Maximum Alternative Routing Algorithm (MARA) constructs a DAG that utilizes all edges in the network to increase the number of paths significantly. However, the algorithm does not provide a mechanism for backup forwarding when encountering a single link or node failure. Another approach is to employ multiple pairs of colored (independent) trees, however such a technique will require the packet to carry information on which pair is being used for routing. Our goal in this paper is to develop an elegant solution to:(1) achieve multipath routing; (2) utilize all possible edges; (3) guarantee recovery from single link failures; and reduce the number of overhead bits required in the packet header. Finally, we introduce another approach to exploit all possible links, that is, multiple pairs of colored trees technique to evaluate the performance of the IDAGs scheme. In the multiple pairs of colored trees technique, the red and blue trees are independent in a given pair, however we cannot guarantee that trees from different pairs are independent. We demonstrate the effectiveness of the proposed IDAGs approach by comparing key performance indices to that of the independent trees and multiple pairs of independent trees techniques. The rest of the paper is organized as follows. Section II introduces the concept of IDAGs and routing with two IDAGs. Sections III and IV describe the construction of node independent and link-independent DAGs, respectively. In section V, we propose an alternative IDAG construction approach using graph expansion. II. INDEPENDENT DIRECTED ACYCLIC GRAPHS We consider a network with a set of nodes and links denoted by N and L, respectively. We assume that links are bi-directional in nature, which may be realized using two unidirectional links. We denote a bidirectional link between nodes i and j as i–j, while the directed link from i to j is denoted by i ! j. When a link i–j fails, we assume that both directed edges i ! j and j ! i have failed. We say that a directed acyclic graph (DAG) is rooted at d, if d is the only node in the DAG that has no outgoing edges. Every other node has at least one outgoing edge. If we traverse a sequence of edges starting from any node, the path will terminate at node d and will be loop-free. Consider two directed acyclic graphs that are rooted at d. A. Resilient Routing with IDAGs We maintain a partial order (precedence relation) among the nodes in both the red and blue DAGs. A node x precedes y, denoted by x y, on a DAG if node y uses node x in at least one of its paths to d. The partial order on a DAG may be viewed simply as reach ability on the DAG, i.e. x y implies that x is reachable on the DAG by y. This relationship is key to the construction as it avoids any cycle formation, hence the DAGs. The DAGs may be used in two different ways to achieve resilient routing. In the first approach, referred to as Red DAG first (RDF), the packets are assumed to be forwarded on the red DAG first. When no forwarding edges are available on the red DAG, the packet is transferred to the blue DAG. When no blue forwarding edges are available, the packet is dropped. The DAG to be employed for routing is carried in an overhead bit (DAG bit) in every packet header. In the second approach, referred to as Any DAG first (ADF), a packet may be transmitted by the source on the red or blue DAG. In addition to the DAG bit, every packet also carries an additional bit that indicates whether the packet has been transferred from one DAG to another (Transfer bit). A packet is routed on the DAG indicated in its packet header. If no forwarding edges are available in that DAG and if the packet has not encountered a DAG transfer already, it is transferred to the other DAG. If no forwarding edges are available on the DAG indicated in the packet header and the packet has already encountered a DAG transfer, the packet is dropped. In both of the approaches described above, a node may forward the packet along any of the available forwarding edges in the DAG indicated in the packet header. Note that if the red and blue DAGs are (link- or node-) independent, then the network is guaranteed to recover from a single (link- or node-) failure when the packet is transferred from one DAG to the other. In addition, the network may tolerate multiple failures as some nodes may have many forwarding entries in each DAG. Given a destination node d in the network, we seek to construct two independent DAGs rooted at the destination. A node may appear in more than 2V-component and the removal of such a node (articulation node) would disconnect the graph. In addition, any two 2V-components may share at most one node in common. Given a destination node d, we identify the root node for every component the unique node through which every path this proves part of the theorem. The global ordering is similar to the voltage levels used. Therefore, every path on the base red DAG will follow a sequence of nodes which are decreasing in the global ordering. Similarly, every path on the base blue DAG will follow a sequence of nodes that are increasing in the global ordering. Thus, the path from a node to the root on the base red DAG is node-disjoint with a path from the source to the root on the base blue DAG. Step 6 of the algorithm ensures that any unused edges on the DAGs are assigned such that any red (blue) path. Our goal in the construction process is to utilize every edge available in the network in either of the two DAGs. Observe that the edges emanating from d cannot be utilized in the DAGs as we require the paths to terminate at d. To this end, we first construct two node independent DAGs in a twovertex-connected network involving every edge, other than the edges emanating from the destination, in either of the two DAGs. We then construct link-independent DAGs in twoedge-connected networks employing all but a few 2 edges emanating from the articulation nodes . III. CONSTRUCTING NODE-INDEPENDENT DAGS Two-vertex-connectivity is the necessary and sufficient requirement for constructing two node-independent DAGs utilizing all the edges except those emanating from the given destination node. This necessary part of the requirement follows directly from the condition required for constructing two node-independent trees a special case of DAG. We show the sufficiency part of the requirement by constructing the desired DAGs. ). A packet is routed on the DAG indicated in its packet header. If no forwarding edges are available in that DAG and if the packet has not encountered a DAG transfer already, it is transferred to the other DAG. If no forwarding edges are available on the DAG indicated in the packet header and the packet has already encountered a DAG transfer, the packet is dropped We first compute two base DAGs using the path augmentation technique, introduced and later employed to construct two independent trees. We then add the edges that are not present in either DAG. We maintain a partial order (precedence relation) among the nodes in both the red and blue DAGs. A node x precedes y, denoted by x y, on a DAG if node y uses node x in at least one of its paths to d. The partial order on a DAG may be viewed simply as reach ability on the DAG, i.e. x y implies that x is reachable on the DAG by y. This relationship is key to the construction as it avoids any cycle formation, hence the DAGs. Thus, maintaining partial ordering on a DAG is the same as maintaining the reach ability for every node in the DAG. Figure shows the procedure to construct two nodeindependent DAGs rooted at node d. Step 1 initializes the partial order for the nodes on the two DAGs. Step 2 computes the first cycle to be augmented. Step 3 computes successive paths to be augmented. The path starts and ends at distinct nodes that are already added to the DAGs, hence the paths from every node to the root of the DAG are nodedisjoint. Note that the difference between the path augmentation employed for DAG construction here and that employed for tree construction is the use of links x ! v1 and y ! vk. As nodes x and y are already added to the DAGs before computing this path, adding these edges provides multiple forwarding edges for nodes x and y. Given the global ordering, the unused links that are not incident on the destination may be assigned to the DAGs as shown in Step 6. Finally, Step 7 assigns all the incoming edges on the destination that are not already on the DAG. It is worth noting that these edges may be assigned arbitrarily to the red or blue DAG. Theorem 1: The procedure NI-DAGs construction: (1) assigns every edge other than the edges emanating from the destination d to one of the two DAGs; and (2) any path from a source to the root in the red DAG is node-disjoint with any path from the source to the root in the blue DAG. Proof: The global order computation defines an ordering across all the nodes in the network. Thus, given a link i–j (i 6= d; j 6= d), either i g j or j g i. Thus, by Step 6, every link in the network that is not incident on d is assigned to either the red or the blue DAG. Step 7 assigns every incoming edge to d to either red or blue DAG. Thus, only the outgoing edges from d are unused in the DAG. This proves part (1) of the theorem. The global ordering is similar to the voltage levels used. Therefore, every path on the base red DAG will follow a sequence of nodes which are decreasing in the global ordering. Similarly, every path on the base blue DAG will follow a sequence of nodes that are increasing in the global ordering. Thus, the path from a node to the root on the base red DAG is node-disjoint with a path from the source to the root on the base blue DAG. Step 6 of the algorithm ensures that any unused edges on the DAGs are assigned such that any red (blue) path would always follow a sequence of nodes that are decreasing (increasing) in the global ordering. As Step 7 considers only directed edges and every edge is assigned only one color, the dis jointness of the red and blue paths. Complexity: The construction of the base DAGs may be achieved in O(jLj) time using depth-first-search numbering and low point values. The global ordering may be computed in O(jNj) time. The addition of every other link (Step 6) may be completed in O(jLj) time (an O(1) computation for each link). Step 7 takes O(jNj) time. Thus, the complexity of the NI-DAG construction is O(jLj). Example: Consider the 9-node network shown in Figure 3(a) where we seek to compute IDAGs rooted at node A. The base DAGs are computed by considering the cycle A–D–E–B followed by paths D–G–H–E and H– I–F–C–B for augmentation and are shown in Figures 3(b) and (c). These paths result in the following partial orders: (1) A D E B, (2) D G H E, and (3) H I F C B. Out of many possible global ordering that satisfy these partial orders, we obtain one global order as: A g D g G g H g E g I g F g C g B. With this global ordering, we compute the direction of the edges that were not considered in the base DAGs. Figures 3(d) and (e) show the final independent DAGs that are constructed. IV. CONSTRUCTING LINK-INDEPENDENT DAGS Two-edge connectivity is a necessary and sufficient condition for constructing two link-independent DAGs. Similar to the requirement of node-independent DAGs, the necessary part of the requirement follows from the independent tree construction. We show the sufficiency part of the requirement by constructing the desired DAGs. Figure 4 shows the procedure to construct two link-independent DAGs. We first divide the network into two-vertex-connected (2V) components (Step 1). A node may appear in more than 2Vcomponent and the removal of such a node (articulation node) would disconnect the graph. In addition, any two 2V-components may share at most one node in common. Given a destination node d, we identify the root node for every component – the unique node through which every path connecting a node in that component and d must traverse (Step 2). In components that contain node d, the root node is assumed to be d. In components that do not contain node d, there is a unique articulation node that will be assigned the root of that component. Let dc denote the root node of component c that does not contain the destination node d. Observe that a link dc ! j, where j 2 c, may not be used as a forwarding edge on any DAG. As every path from j to The DAGs may be used in two different ways to achieve resilient routing. In the first approach, referred to as Red DAG first (RDF), the packets are assumed to be forwarded on the red DAG first. When no forwarding edges are available on the red DAG, the packet is transferred to the blue DAG. When no blue forwarding edges are available, the packet is dropped. The DAG to be employed for routing is carried in an overhead bit (DAG bit) in every packet header. In the second approach, referred to as Any DAG first (ADF), a packet may be transmitted by the source on the red or blue DAG. In addition to the DAG bit, every packet also carries an additional bit that indicates whether the packet has been transferred from one DAG to another (Transfer bit) Thus, only the outgoing edges from d are unused in the DAG. This proves part (1) of the theorem. The global ordering is similar to the voltage levels used. Therefore, every path on the base red DAG will follow a sequence of nodes which are decreasing in the global ordering. Similarly, every path on the base blue DAG will follow a sequence of nodes that are increasing in the global ordering. Thus, the path from a node to the root on the base red DAG is node-disjoint with a path from the source to the root on the base blue DAG. Finally, we introduce another approach to exploit all possible links, that is, multiple pairs of colored trees technique to evaluate the performance of the IDAGs scheme. In the multiple pairs of colored trees technique, the red and blue trees are independent in a given pair, however we cannot guarantee that trees from different pairs are independent A B C A B C A B C A B C A B C D E F D E F D E F D E F D E F G H I G H I G H I G H I G H I (a) (b) (c) (d) (e) Fig. 2. Illustration of the construction of node-independent DAGs. (a) Example network. (b), (c) Base red and blue DAGs. (d), (e) Final red and blue DAGs. d has to traverse dc, the addition of dc ! j would result in a cycle. Thus, the only edges that cannot be assigned to any DAG are those edges emanating from the root node of a component. In each 2V-component, we compute two nodeindependent DAGs to the root of that component (Step 3). We then merge these node-independent DAGs to obtain the desired link-independent DAGs (Step 4). Procedure LI-DAGs Construction 1) Divide the network into two-vertex-connected (2V) com-ponents. 2) In each 2V-component, identify the unique articulation node through which every path from any node in that component must traverse to reach d. We refer to this articulation node as the root node of the component. In the component that contains node d, we assume that the root node of the component is node d itself. 3) In each 2V-component, construct two nodeindependent DAGs to the root node of that component. 4) Merge all the node-independent DAGs to obtain the link-independent DAGs. As every network has a unique two-vertex-connected decomposition, hence unique root nodes for every 2Vcomponent, the number of edges that cannot be used in either DAG is unique and is a property of the given network topology. It is straight-forward to see that the procedure LIDAGs constructions avoids only the edges emanating from the articulation. Although every network topology has a unique two-vertex-connected decomposition, irrespective of the desti-nation node considered, the node selected to be the root node in a component is dependent on the destination node and is unique for a given destination node. The decomposition of a network into two-vertex-connected components and identifying the root node of every component for a given destination may be achieved in O(jLj) time us-ing depth-first-search numbering starting from the destination node. If a node x has a DFS-child y whose lowpoint is the same as dfs[x], then node x is an articulation node. In addition, node x may divide its neighbors belonging to different components by: (1) arranging them in the increasing order of their DFS indices; (2) identifying the DFS indices of its children; and (3) grouping the nodes that fall within the DFS index of two children sequentially into a component. Therefore, the complexity of constructing LIDAGs is the same as that of NI-DAGs. V. ALTERNATIVE APPROACH TO IDAG CONSTRUCTION USING GRAPH EXPANSION We now present an alternative algorithm to construct IDAGs such that Steps 5-7 of the NIDAG construction may be completely avoided. Observe that Steps 5-7 in the NIDAG construction are required because not all links are considered by the base IDAG construction (Steps 1 through 4). If however, we can modify the graph such that the base IDAG construction would consider all links, then Steps 5-7 can be eliminated. To this end, we develop a graph 0 expansion technique that results in an expanded graph G with jNj + jLj nodes and 2jLj links, where jNj and jLj denote the number of nodes and links in the original graph. Consider a link ` 2 L that connects nodes x and y in the original graph. We replace this link ` with a node v` and two links v`–x and v`–y. Figure 5(a) shows the expansion of link `. Since every link in the original graph results in a new node, the total number of nodes in the expanded graph is jLj + jNj. Since every link in the original graph results in two links in the expanded graph, the total number of links in the expanded graph is 2jLj. Observe that all the nodes that correspond to a link in the original graph have exactly two outgoing links. Now, consider the base IDAG construction on the expanded the graph. Since Steps 1 through 4 must account for all nodes being added, all the nodes corresponding to the links in the original graph must be added in steps 1 through 4, thus all links in the original graph are considered. As the number of links in the original graph has been doubled, the complexity of construction of the base IDAG remains the same, O(jLj), using DFS numbering and lowpoint values [16]. Finally, we obtain the colors on the original link x–y by deleting the virtual node vxy and merging the two edges as shown Figure 5(b). (a) Expansion with virtual node v B R R R B B (b) Contraction to remove virtual node Fig. 3. Illustration of the construction of node-independent DAGs using a virtual node. Correctness: Observe that the base IDAG construction using [16] is similar to that of the path augmentation approach. Procedure to Construct Colored DAGs through Graph Expansion 1) Initialize the red and blue DAG, R and B, to contain only the root node d. 2) In the original network G = (N ; L) replace every link ` connecting nodes x and y with a node v` and two links: (v`; x) and (v`; y). Let the resultant expanded 0 0 0 network be denoted by G (N ; L ). 0 3) In the expanded graph G , construct two colored base DAGs (using [16]). 4) Contract each pair of links v`–x, v`–y in the expanded graph back to the original graph with red and blue color assigned in each direction appropriately. Procedure for Multiple Colored Tree Pairs Construction 1) Initialize the link usage frequencies to zero. 2) Consider network links in the descending order of their usage frequency. For each link: a) If the graph remains two-vertex connected without it then remove it from the graph. 3) Construct two independent trees on the two-vertex connected graph of step 2. 4) For each link used in the independent trees increment its link usage frequency. 5) If the number of colored tree pairs is less than M go to step 2. Thus, with the use of partial ordering, it can be easily shown that any red path would traverse a sequence of nodes with decreasing partial order while the blue path would traverse a sequence of nodes with increasing partial order. Thus, any red path and any blue path from a node are node-disjoint. The construction of LIDAGs is performed in the same way as explained before, thus retains the same correctness property. VI. PROCEDURE FOR CONSTRUCTION OF MULTIPLE RED-BLUE TREES Our key goal in this paper is to use the maximum possible number of network edges for data transmission. As mentioned earlier, one possible solution is to construct multiple pairs of colored trees. We would like to compare our IDAGs approach to the multiple pairs of colored trees approach. In this section we introduce the procedure for constructing multiple pairs of colored trees. In order to use the maximum number of edges we construct multiple colored tree pairs that share as few edges as possible. Note that for given pair the red and blue trees are independent; however trees from different pairs are not necessarily independent. The decomposition of a network into two-vertex-connected components and identifying the root node of every component for a given destination may be achieved in O(jLj) time us-ing depth-first-search numbering starting from the destination node. We record the link usage frequency of all links and sort links in the descending order of usage frequency. We then consider links in the given order, removing a link while the network remains two-vertex (edge) connected and compute a pair of independent trees. We repeat this procedure until the desired number of colored tree pairs is obtained. Figure 7 shows the procedure to construct multiple pairs of colored trees rooted at node d. We provide several simulation results of the multiple pairs of colored trees technique in VII. Correctness and Complexity: It is straightforward to show that the above algorithm uses every possible edges. If a given network is minimally two-vertex (edge) connected then every edge is utilized at least once in two colors even M is equal to one. Otherwise, all unused edges are utilized by the construction algorithm if M is sufficiently large. Step 2 takes O(jLj2) time – for each link removal, we need to check for two-edge-connectivity, which takes O(jLj) time (using DFS numbering and low point value checks). Step 3 can be achieved with O(jLj) time using depth-first-search numbering and lowpoint values [16]. Therefore the complexity of the procedure is O(jLj2). Once the M trees are constructed, we require dlog2 M e bits in the packet header to identify the pair of independent trees to be employed for routing. VII. PERFORMANCE EVALUATION We evaluate the performance of two independent DAGs against two colored trees and multiple pairs of colored trees on four real-life network topologies: (1) ARPANET; (2) ITALIAN-NET; (3) MESH-4x4; and (4) NJ-LATA in shown Figure 8. We select one of the nodes to be the destination and compute independent trees and DAGs rooted at that node. We present simulation results for the multiple pairs of colored trees technique which is another ITrees application and is used to exploit all possible links in a network. We believe that these analyses expand our understanding of the resilient multi-path routing. We consider four performance metrics: (1) Average path length;(2) Number of paths; (3) Number of scenarios where an intruder can observe two distinct links and observe all traffic sent by a source; and (4) Average link load. For IDAGs, the expected path length from a source to the destination is computed by assuming that the source and an intermediate node would forward a packet on one of its outgoing DAG edges with equal probability. We then average the expected path length over all nodes in the network. In the case of two independent trees, every node has exactly one path on each tree, thus the average path length computation is straight-forward. The number of paths from a source to the destination is computed as the sum of the number of paths from each of its forwarding neighbor to the destination, in a recursive fashion. We define an edge on a DAG as the critical edge if its removal would disconnect a node from the root. For every node, we compute the number of critical edges in each DAG. . 1 VICENZA MILANO TORINO PISA 1 1 ANCON 2 3 4 4 6 18 5 3 2 5 20 14 12 6 3 ROMA 17 SASSAR 5 6 7 8 9 10 11 12 BARI 16 8 7 CAGLIARI 7 2 10 15 8 11 9 19 4 9 MESSINA 13 CATANZARO 10 PALERMO (a) ARPANET (20 nodes, 32 links) 13 (b) ITALIAN-NET (32 nodes, 69 links) 15 16 (c) MESH-4X4 (16 nodes, 32 links) Fig. 4. Four real-life network topologies used in the simulations. We assume that a source would equally split its traffic to the root across the two DAGs/trees. Thus, any intrusion involving observation of only one link will not expose all the traffic from the source to destination. However, it is possible to observe two critical links and obtain all the traffic from a 0 source to the destination. If Cs and Cs denote the number of critical edges for node s on the two DAGs, we compute the number of scenarios of two-link intrusions that will 0 expose all the traffic from node s as the product C s Cs . Observe that in the case of two independent trees, the number of two-link intrusions that will expose all the traffic 0 14 0 from s is given by Hs Hs , where Hs and Hs denote the path length from s to the root on the two trees. The use of DAGs increases the number of paths available in the network, thus reducing the number of critical links. PP Average link load is given by l s l;s=jlj where l;s is the amount of traffic existing in a link l when a node s transmits on one color. This measure reflects the effect of load distribution per link. Intuitively, the metric will have relatively low value if as many links as possible are used to transmit data traffic. A. Results and Discussion Figure shows the number of paths available from a source to the destination on the four network topologies (plotted in the log-scale) with the IDAGs approach. As all the topologies considered are two-vertex-connected, the number of paths from any node to the destination (together on both the trees) is at least the degree of the node. We observe that when the number of links in the network increases, the number of paths increases significantly. For example, in the ITALIAN network some nodes have thousands of paths. Figure shows the number of path available from a source to the destination on the four real-life networks when employing multiple pairs of colored trees approach. Assume that the number of pairs of colored trees is M. According to our simulation, at least M=6 pairs of colored trees are needed to utilize all possible edges on the four real-life networks. Table I shows the four minimum M values required to exploit all possible edges on each of the networks. If all available paths on one color at a node are distinct, the maximum number 11 (d) NJ-LATA (11 nodes, 23 links) of paths on one color is simply M. In the worst case, all the paths available on one color at a node are the same and the number of paths available on one color from a source to the root is one. The number of distinct paths depends on the network connectivity and topology. For example, many nodes can have M different paths on one color in a dense network. The number of paths available on one color is between 1 and 6 on the four real-life networks since we use M=6 in the simulation. Note that we observed from Figure 9 (d) that some nodes have thousands of paths on the ITALIAN network when the IDAGs approach is applied. We see that the approach with multiple pairs of colored trees has a drawback in terms of the number of path available from Figure 10. TABLE I THE MINIMUM M VALUE TO UTILIZE ALL POSSIBLE EDGES ON EACH REAL-LIFE NETWORK. Topology MESH4X4 NJ-LATA ARPANET ITALIAN-NET M 2 4 4 6 In figure, we plot the product of the number of critical edges using the six pairs of colored trees, IDAGs, and ITrees approaches. We observe that the IDAGs approach reduces the number of two-link intrusion scenarios that will expose all traffic by a source by up to a factor of six compared to the ITrees approach. Also, the figure shows that the metric can be reduced with the multiple pairs of colored trees approach compared to the ITrees approach and even the IDAGs approach. The intuition behind this result is that many nodes can find multiple node (link) disjoint paths by the construction procedure of multiple pairs of colored trees if the given network is dense. If a node has at least two node (link) disjoint paths on one color, it has no critical links on the color. In a dense network, the product of the number of critical edges can be reduced drastically. MESH 4X4 NJ-LATA 100 100 Blue Red Blue Number of paths Number of paths Red 10 1 10 1 4 1 7 Node id 10 13 2 1 3 (a) 4 5 6 Node id 7 8 9 10 (b) Fig.5. Number of paths from a source to destination on the four networks using the six pairs of colored trees approach. 2 Product of number of crtical links 30 6 pairs of colored trees 24 Red Avg. path ratio (IDAGs /ITrees) ITrees 18 12 6 MESH 4X4 NJ-LATA ARPANET ITALIAN-NET MESH4X4 NJ-LATA ARPANET ITALIAN-NET Fig.8. Ratio of average IDAGs path length to average ITrees path length. MESH 4X4 30 18 24 ARPANET NJ-LATA f crtica link l s Fig. 6. Product of the number of critical links using six pairs of colored trees, IDAGs, and ITrees approaches. numb er 1 0 0 6 12 Product Blue IDAGs ITALIAN-NET 1 2 3 4 5 6 0 M Fig. 7. Product of the number of critical links using multiple pairs of colored trees approach on the four real-life networks. Increasing on the four real-life networks. Notice that if M is equal to one, the pairs of colored trees are simply ITrees. The product of the number of critical edges is reduced significantly with larger Ms. However; with M greater than three the values are almost same. That is because the construction algorithm cannot find multiple node (link) disjoint paths any more for larger values of M. Figure shows the ratio of the average path length between a node and the root using the IDAGs approach to that using the ITrees approach. In the IDAGs approach, a node is assumed to forward a packet on any of the outgoing edges in a DAG. The global ordering is similar to the voltage levels used. Therefore, every Thus, in networks with a large number of links, it may be beneficial to: (1) evaluate the impact of adding an edge to a DAG on the average path length (Step 6 of NI-DAGs construction algorithm) before including it in a DAG; and (2) consider only those edges that either reduce the average path length or do not increase the average path length beyond a certain threshold, thus controlling the increase in network load. path on the base red DAG will follow a sequence of nodes which are decreasing in the global ordering. Similarly, every path on the base blue DAG will follow a sequence of nodes that are increasing in the global ordering. MESH 4X4 NJ-LATA 8 Blue Red 6 6 4 4 2 2 0 0 4 1 7 Node id 10 13 2 1 3 4 5 6 Node id 7 8 9 10 (b) (a) ARPANET ITALIAN-NET 8 8 of pa th s Red Blue Red 6 Blue 6 N u m b e r Number of paths Blue N u m b e r Number of paths Red of pa th s 8 4 4 2 2 0 0 1 4 7 10 13 Node id 16 19 4 1 (c) 7 10 13 16 19 Node id 22 25 28 31 (d) Fig. 9. Number of paths from a source to destination on the four networks using the six pairs of colored trees approach. (2) consider only those edges that either reduce the average path length or do not increase the average path length beyond a certain threshold, thus controlling the increase in network load. Figure shows the ratio of the average path length between a node and the root using the six pairs of colored trees and IDAGs approaches to that using the ITrees approach. Each histogram in the figure represents the average value of the red and blue colors of path length ratio. From the figure, IDAGs approach has shorter path length than six pairs of colored trees approach on all four real-life networks. The reason is because the construction algorithm computes multiple pairs of colored trees that share as few edges as possible. Avg. pathlengt rati o h 3 with equal probability. Any multipath routing approach (other than equal-length multiple paths) is likely to employ additional paths that are longer than the shortest path, thus it is likely to increase network load. The figure shows that the overall increase in the network load ranges from approximately 10% to no more than two times the load in the ITrees approach. We observe that as the number of links in the network increases, the number of available paths increases resulting in increased average path length. Thus, in networks with a large number of links, it may be beneficial to: (1) evaluate the impact of adding an edge to a DAG on the average path length (Step 6 of NI-DAGs construction algorithm) before including it in a DAG; and 6 pairs of colored trees / ITrees IDAGs / ITrees 2 1 0 MESH4X4 NJ-LATA ARPANET ITALIANNET Fig. 10. Ratio of average six pairs of colored trees and IDAGs path length to average ITrees path length. The algorithm may construct a pair of colored trees with long paths as the number of multiple pairs of colored trees increases. Figure shows the ratio of the average shortest path length on the IDAGs to the average path length on the ITrees from a node to the root. The shortest path on an IDAG is defined to be the shortest path among all paths available on the IDAG at a node and we can find one shortest path on red and blue DAG at a node respectively. By the disjointness of IDAGs, the two shortest paths at a node are disjoint. We can regard trees composed of the shortest paths on the IDAGs as another pair of colored (independent) trees. From the figure, we find that the network load can decrease with the shortest paths on Avg.pathlengthratio(shortestpathonI DAGs/ITrees) 1.5 Red Blue 1 0.5 0 MESH4X4 NJ-LATA ARPANET ITALIAN-NET Fig. 11. Ratio of average shortest path length on the IDAGs to average path length on the ITrees. 1.5 ratio 6 pairs of colored trees / ITrees IDAGs / ITrees 1 ACKNOWLEDGMENT The research developed in this paper is supported by National Science Foundation under the grant CNS0325979 and Cisco Collaborative Research Initiative. link load . Validity of the algorithm. Through simulations, we showed that the IDAGs approach performs significantly better than the independent trees approach in terms of increasing number of paths offered, reducing the probability of a two-link failure disconnecting a node from the destination, and average link load. Even, a simulation result showed that the trees based on the shortest paths on the IDAGs have better performance than that of the ITrees approach since the average shortest path length on the IDAGs is shorter than the average path length on the ITrees. Multiple pairs of colored trees approach is better in terms of the product of the number of critical links and average link load compared to the ITrees and IDAGs approaches. However, the method is impractical since it needs many overhead bits in the packet header. 0.5 0 REFERENCES MESH4X4 NJ-LATA ARPANET ITALIANNET Fig. 12. Ratio of average six pairs of colored trees and IDAGs link load to average ITrees link load. the IDAGs on the four real-life networks. Since the average shortest path on the IDAGs is shorter than the average path length on the ITrees, the shortest paths on the IDAGs have an advantage in terms of the product of the number of critical edges. Accordingly, we can achieve better performance with even shortest paths on the IDAGs compared to paths on the ITrees. Figure 16 shows the ratio of the average link load using the IDAGs and six pairs of colored trees approaches to that using the ITrees approach. From the figure, we find that average link load decreases with the two methods compared to the ITrees approach and the six pairs of colored trees approach outperforms the IDAGs approach. Therefore, a link is less heavily loaded with the IDAGs or multiple pairs of colored tree approaches compared to the ITrees approach. From the simulation results, the approach with multiple pairs of colored trees performs marginally better in terms of preventing snooping on data and average link load compared to IDAGs approach. However, this approach requires dlog2Me bits in the packet header for routing. The overhead is expensive since header extensions are processed in software, hence increase delay. VIII. CONCLUSION In this paper, we introduced the concept of independent directed acyclic graphs (IDAGs) and developed a methodology for resilient multipath routing using two IDAGs. We developed polynomial time algorithms to construct node-independent and link-independent DAGs using all possible edges in the network. The IDAGs approach was evaluated on four real-life network topologies and compared with ITrees and multiple pairs of colored (independent) trees approaches to prove the [1] S. Cho, T. Elhourani, and S. Ramasubramanian, “Resilient multipath routing with independent directed acyclic graphs,” in Proceedings of IEEE International Conference on Communications, Cape Town, South Africa, May 2010, pp. 1–5. [2] Z. Ye, S. V. Krishnamurthy, and S. K. Tripathi, “A framework for reliable routing in mobile ad hoc networks,” in INFOCOM’03, April 2003, pp. 270–280. [3] P. P. Pham and S. Perreau, “Performance analysis of reactive shortest path and multi-path routing mechanism with load balance,” in IEEE INFOCOM, 2003, pp. 251– 259. [4] J. Tsai and T. Moors, “A review of multipath routing protocols: From wireless ad hoc to mesh networks,” in ACoRN Early Career Researcher Workshop on Wireless Multihop Networking, Jul. 17-18, 2006. [5] S. Murthy and J. Garcia-Luna-Aceves, “Congestionoriented shortest multipath routing,” in IEEE INFOCOM, vol. 3, March 1996, pp. 1028– 1036. [6] W. Lou, W. Liu, and Y. Fang, “A simulation study of security perfor-mance using multipath routing in ad hoc networks,” in IEEE Vehicular Technology Conference, vol. 3, October 2003, pp. 2142–2146. [7] G. Lee and J. Choi, “A survey of multipath routing for traffic engineer-ing,” 2002. [Online]. Available: http://vega.icu.ac.kr/˜gmlee/research/ [8] K. Xi and J. Chao, “Ip fast rerouting for single-link/node failure recovery,” in Proceedings of BROADNETS Internet Technologies Symposium, September 2007. [9] M. Shand and S. Bryant, “IP Fast Reroute Framework,” IETF Internet Draft, Feb. 2008, draft-ietf-rtgwg-ipfrr-framework-08.txtˇ [10] A. Kvalbein, A. F. Hansen, T. Ciciˇc,´ S. Gjessing, and O. Lysne, “Fast IP network recovery using multiple routing configurations,” in IEEE INFOCOM, Apr. 2006. [11] S. Lee, Y. Yu, S. Nelakuditi, Z.-L. Zhang, and C.-N. Chuah, “Proactive vs. reactive approaches to failure resilient routing,” in IEEE INFOCOM, Mar. 2004 Author Details: N SHANKER received his B.Tech. Degree in Computer Science & Engineering from Kottam Tulasi Reddy Memorial College of Engineering (Affiliated to JNTU Hyderabad), Kondair,Gadwal, Mahaboob Nagar District in 2008 & passed M.Tech degree in Computer Science & Engineering from Sreyas Institute of Engineering & Technology,Tattiannaram, Ranga reddy, Hyderabad (TG, India). Presently he is working as a Assistant Professor© Part Time in Nizam college, Basheer Bagh, Hyderabad, Telangana. SHAIK TANVEER AHMED received his MCA. Degree in Master of Computer Applications from Anwar-ul-uloom College (Affiliated to OU Hyderabad), in 2005 & passed M.Tech degree in Computer Science & Engineering from Sreyas Institute of Engineering & Technology,Tattiannaram, Ranga reddy, Hyderabad. Presently he is working as a Assistant Professor in Nizam college, Basheer Bagh, Hyderbad, Telangana. B.Harikrishna received his MCA. Pg in computer applications from Princeton Pg College Ramanthapur (Affiliated to Osmania University Hyderabad), PhD in informatics from osmania university college of engineering &Technology, Hyderabad. Presently he is working as a Assistant Professor© Part Time in Nizam college, Basheer Bagh, Hyderabad, Telangana.
© Copyright 2025 Paperzz