Fault-Tolerant Routing of Network

Document Sample
Fault-Tolerant Routing of Network Powered By Docstoc
					Delivering Packets During the
Routing Convergence Latency
  Interval through Highly
     Connected Detours
             Elias P. Duarte Jr.
              Rogério Santini
        Federal University of Paraná
                Jaime Cohen
  StateUniversity of Paraná at Ponta Grossa
•   Routing Convergence Latency
•   A Case Study: BGPv4
•   Alternative Routing through Detours
•   The Proposed Connectivity Criteria
•   Algorithms for Computing #C(v) and MCC(v)
•   Algorithms for Selecting Detours
•   Experimental Results
  Routing Convergence Latency
• After the network topology changes, routers have
  to update their local tables in order to reflect the
  new topology
• Before ALL routers have consistently updated
  their tables, it is not possible to guarantee that
  existing routes will work
• The time interval required for all routers to reach
  consistency over the new topology is called the
  routing convergence latency interval
 Routing Convergence Latency:
• Network applications may not be able to
  communicate during this interval
  – Applications are increasingly critical for both
    organizations and individuals
• How long does it take?
• The convergence latency of the Internet’s
  exterior gateway protocol BGP has been
  extensively studied
  Internet Routing with BGPv4
• Border Gateway Protocol version 4
• BGP is an exterior routing protocol, used by
  Autonomous Systems (AS’s) to exchange network
  reachability information
• BGP is an application protocol that uses TCP
• BGP implements the distance vector routing
  algorithm, also allowing policy-based routing
• Initially routers exchange their entire BGP table
• Incremental updates are sent when the table
     BGP’s Convergence Latency
• In the protocol specification (RFC 1771) the following
  parameter is defined:
   – HoldTime: employed to determine whether a given BGP
     connection is alive; suggested value = 90 seconds
   – If during this interval the BGP speaker does not receive
     UPDATE or KEEPALIVE messages, the BGP connection is
     closed, and all routes through the neighbor are considered
   – MinRouteAdvertisingInterval: employed to determine the
     minimum time interval between two advertisements of a
     given route; suggested value = 30 seconds
   – Thus BGP’s Convergence Latency Interval is
      • HoldTime + diameter * MinRouteAdvertisingInterval
      BGP’s Convergence Latency
• Previously published results show that
   – BGP experimental average latency is 3 minutes
   – Intervals of 15 minutes have also been reported
   – In theory, the protocol may never even converge...
• During the convergence latency interval:
   – The number of packets lost increases 30 times
   – The response time increases 4 times
   – Several connections are closed, even if both ends are up and
      Alternative Routing Through
• If the regular IP (Internet Protocol) route is not
  working, an alternative route may work
• Re-Routing has been proposed for MPLS
  (MultiProtocol Label Switching)
• We propose the selection of alternative backup
  routes the pass through highly connected detours
     Highly Connected Detours
• A detour is a network node that that acts as a
  bridge between source and destination
• The alternative route is employed when the
  regular route is not working, and the location of
  faults or even of the actual topology is unknown
• If the detour belongs to a highly edge-connected
  component the probability that there is a working
  route throught the detour to the destination is
  higher (the number of distinct paths is higher)
• The network is represented as graph G = (V, E)
Highly Connected Detours
- Node A belongs to higher connected
  component in comparison to node B
    Proposed Connectivity Criteria
• The connectivity number, #C(v), v є G, is defined as the
  edge-connectivity of a non-trivial subgraph of G
  containing v such that the number of edges of any cut
  separating nodes of this subgraph is the largest in any
  subgraph to which v belongs
• Let MCC(v) be the largest subgraph of V containing v
  such that any pair of vertices of this subgraph cannot be
  separated by a cut of size less than #C(v)
#C(v) and MCC(v): Examples


      4       4   3                   3
                      3       3               3
      4       4
Vertex Numbering & Components
with Maximum Edge-Connectivity
• Let #C(v) be the edge connectivity of a non-
  trivial subgraph containing v and such that
  the cardinality of any cut separating nodes
  of this subgraph is maximized
• Let MCC(v) be the largest subset containing
  v and such that any pair of vertices of this
  subgraph cannot be separated by a cut of
  size less than #C(v)
 An Exact Algorithm for Computing
        #C(v) and MCC(v)
• Consider all cuts separating a given vertex v from any
  other vertex of G
• The connectivity number #C(v) is equal to the largest
  number of edges in any of those minimum cuts
• The all-pairs minimum cut separating each vertex of a
  graph from all other is given by a Gomory-Hu Tree or
• Algorithms for constructing a Cut Tree include both the
  original and a more recent work by Gusfield
An Example Cut Tree
 Obtaining #C(v) and MCC(v) from
            the Cut Tree
• For graph G, a Cut Tree T of G, and vertex v,
  the value of #C(v) is equal to the largest weight
  of an edge of T which is incident to v in T
• For graph G, a Cut Tree T of G, and vertex v,
  those nodes that can be reached from v in T
  using edges with weights equal to or larger than
  #C(v) belong to MCC(v)
• Let n be the number of vertices in V, and m the number
  of edges in E
• A version of the algorithm by Ford and Fulkerson can
  be employed to compute the cut between two vertices
  and has complexity O(n*m)
• The algorithm by Gusfield executes the algorithm by
  Ford and Fulkerson n-1 vezes, with complexity
• From the Cut Tree, the complexity to obtain #C(v) and
  MCC(v) is linear
  A Heuristic for Computing #C(v)
• Besides the exact algorithm a fast heuristic is
  presented to compute #C(v)
• The heuristic builds a Depth First Tree, and
  seeks, at each step, a small number of cover
  edges to form a 2-edge connected components
• Vertices that belong to those components have
  their connectivity numbers increased by 2, for
  the others the increase in #C(v) just 1
• The algorithm runs in the worst case in
  O((m/n)*(m+n)) steps
          Selecting The Detours
• new-length(v,a,b): is the length of the alternative
  route from node a (source) to vertex b
  (destination) employing v as detour
• The algorithm initially finds detours within the
  neighborhood of both source and destination
• At each step the size of the neighborhood is
• The size of MCC(v) is also employed
• The algorithm returns a list of candidate detours
  ordered from best to worst
  The Algorithm for Detour Selection
 Find_Detours(Graph G=(V,E), vertex a, vertex b)
(1) L <- Empty List;
(2) For each vertex v de V do:
(3)    Compute #C(v), and the size of MCC(v);
(4)    Find new-length(v,a,b);
(5) P <- regular IP route used for a to communicate with b
(6) d <- |P| * 2;
(7) While |L| <= |V|-2 do
(8)    Sort vertices v that belong to V-L and to
       d-neighborhood(a,b) by
(9)    Insert the ordered vertices in the end of L;
(10)   d = d + |P|; // increase the neighborhood
(11) Return L;
Detour Selection: An Example
   Detour Selection: Complexity
• Using the Cut Tree
  – O(n2*m) + O(m*log(n))
• Using the Heuristic
  – O(n+m) + O(m*log(n)), is the graph is sparse
        Experimental Results
• Simulation was executed on over 2,000
  random graphs
• The Waxman method for generating
  Internet-like topologies was employed
• The number of nodes varied from 10 to 100,
  the average vertex degree varied from 3 to 8
Evaluation of the Heuristic #C(v)
• We computed the average exact #C(v) and the
  heurist #C(v) normalized using the average
  vertex degree
• For all graphs considered, 90% of the heuristic
  values obtained is less than 23% of the average
  vertex degree
Evaluation of the Heuristics
 Comparison of #C(V)
      average vertex   average error
          degree         per node

 50       [4,5)           0.207

 60       [7,8)            0.192

 70       [4,5)            0.210

100       [7,8)            0.194
     Dependability Evaluation:
         Fault Coverage
• Consider a pair of network entities that
  CANNOT communicate because of a
  routing fault
• The fault coverage measures how often the
  usage of a routing proxy selected by the
  presented approach allows the system to
  continue working in the presence of faults
     Computing the Fault Coverage
• Initially the shortest paths of all vertice pairs was
  computed; then, for each pair
   – The ordered list of detour candidates was obtained
   – For each edge (x,y) that is not a cut edge and belongs to a
      • (x,y) is marked as faulty and a counter is incremented
      • If the alternative route created by using the 3 best detours does not
        contain edge (x,y) another counter is incremented
• The fault coverage is given by the rate of these two
Fault Coverage: 3 Best Detours that
Do Not Belong to The Regular Route
• Results varied from 87% to 99
  Fault Coverage: 3 Best Detours
• Results were similar
      Conclusions & Future Work
• The main contribution of this work is to present practical
  connectivity criteria to evaluate network nodes as detours
• Both an exact algorithm and a fast heurist were presented to
  compute the proposed criteria
• Highly Connected detours belong to network component with
  more distinct paths...
• ...thus the probability that they will work if regular routes are
  not working (during the converge latency) is higher
• Future (current) work includes finding highly connected
  routes, instead of nodes
• And the implementation of a prototype specific for MPLS re-