Practical Searches for Stability in iBGP - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Practical Searches for Stability in iBGP

Description:

Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh. Practical ... iBGP is overlaid on physical topology. iBGP used to determine route to external destination ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 54
Provided by: ashley119
Category:

less

Transcript and Presenter's Notes

Title: Practical Searches for Stability in iBGP


1
  • Practical Searches for Stability in iBGP

Ashley Flavel Matthew Roughan Nigel Bean
Aman Shaikh
2
(No Transcript)
3
Routing Protocol
  • A distributed mechanism to determine the best
    route to a destination.
  • Routers propagate their own best route to their
    neighbors.
  • Best route may not be the shortest-path
  • Non-shortest path routing protocols can
    oscillate!
  • Routers persistently altering their decision in
    response to one-another.
  • Nemesis to stability
  • Waldos nemesis is Odlaw

4
What is Routing Oscillation?
Preference to destination
0
1
2
5
What is Routing Oscillation?
Preference to destination
0
1
2
6
What is Routing Oscillation?
Preference to destination
0
1
2
7
What is Routing Oscillation?
Preference to destination
0
1
2
8
What is Routing Oscillation?
Preference to destination
0
1
2
9
What is Routing Oscillation?
Preference to destination
0
1
2
10
What is Routing Oscillation?
Preference to destination
0
1
2
11
What is Routing Oscillation?
Preference to destination
0
1
2
12
What is Routing Oscillation?
Preference to destination
0
1
2
13
What is Routing Oscillation?
Preference to destination
0
Same as earlier step!
1
2
14
Motivation
  • Why is oscillation bad?
  • Network reliability is impossible
  • Network predictability is impossible
  • Debugging a network is impossible
  • Degrades router performance
  • Routing oscillation should never occur!
  • Full control over network

15
Motivation
  • Oscillation does occur in practice!
  • How do we detect oscillations?
  • What are the causes of oscillation inside an AS?
  • MED oscillation
  • Filtering or resetting this attribute prevents
    this form of oscillation
  • iBGP topology oscillation
  • Caused by the interaction between iBGP and the
    IGP.

16
iBGP Topology Oscillation
  • iBGP and IGP run on different topologies!
  • iBGP is overlaid on physical topology
  • iBGP used to determine route to external
    destination
  • IGP used to determine route to internal
    destination
  • They interact
  • Hot-potato routing
  • Lead to oscillation

17
BGP Decision Process
  • Each routers decision is independent and based
    on its set of available routes
  • Set of available routes depends on iBGP topology
  • 1. Highest Local-Preference
  • 2. Shortest AS Path
  • 3. Best Origin
  • 4. Lowest MED
  • 5. Shortest IGP distance to egress router
    (hot-potato)
  • 6. Tie-break

AS-wide steps
Individual router steps
18
Our Approach
  • We create an abstract model of the interaction
    between iBGP and the IGP.
  • Prove oscillatory properties of the abstract
    model
  • Localize where oscillation can occur.
  • Where a configuration is not oscillatory we
    mathematically prove this is the case.

19
iBGP Route Reflection
  • Used in preference to full-mesh of iBGP sessions
    in large networks.
  • Due to scalability concerns
  • Two classes of routers
  • Clients
  • Route-reflectors
  • Multi-level hierarchy possible
  • We focus our attention to two levels

20
iBGP Route Reflection
  • Clients propagate externally learned routes to
    parents

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
21
iBGP Route Reflection
  • Clients propagate externally learned routes to
    parents

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
22
iBGP Route Reflection
  • Clients propagate externally learned routes to
    parents

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
23
iBGP Route Reflection
  • Clients propagate externally learned routes to
    parents

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
24
iBGP Route Reflection
  • Route-reflectors propagate client routes to all
    other iBGP neighbors.

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
25
iBGP Route Reflection
  • Route-reflectors propagate client routes to all
    other iBGP neighbors.

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
26
iBGP Route Reflection
  • Route-reflectors propagate client routes to all
    other iBGP neighbors.

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
27
iBGP Route Reflection
  • Route-reflectors reflect routes learned from
    other route-reflectors to clients

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
28
iBGP Route Reflection
  • Route-reflectors reflect routes learned from
    other route-reflectors to clients

4
Route-reflector (RR)
Client
0
Client-parent iBGP sesssion
RR-RR iBGP sesssion
29
Reliance Graph
  • What happens when routers decisions oscillate?
  • Multiple routers persistently alter their
    decision in response to the decision of others
  • If a router can learn of its best route from
    another router, then it is reliant on it
  • The reliance graph captures all possible
    reliances.

30
Reliance Graph Basics
  • A reliance graph is on a per egress instance
    basis
  • Set of routers which have a direct egress
  • Equally attractive over AS-wide decision steps
  • A directed edge in the reliance graph exists if a
    routers decision is reliant on another.
  • Oscillation requires a cycle in the reliance graph

0
1
2
3
4
5
6
7
8
9
10
31
Reliance Graph
  • All iBGP sessions can be bi-directional edges in
    reliance graph.
  • We can prune most of these edges!
  • iBGP pruning
  • Some neighbors will never propagate a route
  • Based on route-reflection
  • IGP pruning
  • Some neighbors will never propagate a best route
  • Based on IGP distances

0
1
2
3
4
5
6
7
8
9
10
32
iBGP Pruning
  • Routers in the egress instance
  • Will select its own route
  • Not reliant on any other router

0
1
2
3
4
5
6
7
8
9
10
33
iBGP Pruning
  • Routers in the egress instance
  • Will select its own route
  • Not reliant on any other router
  • Clients can only select a route learned from
    their parent.
  • Do not propagate any information to their parents

0
1
2
3
4
5
6
7
8
9
10
34
iBGP Pruning
  • A route-reflector can only be reliant on another
    route-reflector if that route-reflector has a
    client in the egress instance.

0
1
2
3
4
5
6
7
8
9
10
35
iBGP Pruning
  • A route-reflector can only be reliant on another
    route-reflector if that route-reflector has a
    client in the egress instance.
  • We can prune further using IGP distances
  • Route-reflectors only reliance on their best
    client

0
1
2
3
4
5
6
7
8
9
10
36
Co-reliance groups
  • We partition the reliance graph into strongly
    connected components
  • Termed co-reliance groups
  • Oscillation can only occur within a non-singleton
    co-reliance group.
  • The only possible location for a non-singleton
    co-reliance group
  • route-reflectors with clients in the egress
    instance

0
1
2
3
4
5
6
7
8
9
10
37
(No Transcript)
38
Will a co-reliance group oscillate?
  • Maybe.
  • Not everything in a striped sweater is Waldo
  • Analyze each co-reliance group independently
  • Oscillation can only occur within a co-reliance
    group.

39
Co-reliance group algebra
  • A co-reliance group only contains
    route-reflectors with clients in the egress
    instance
  • Each route-reflector has egresses which it can
    learn via
  • a client (direct route), and
  • another route-reflector (indirect)
  • Irrelevant which indirect route is chosen
  • Each router in co-reliance group only has two
    route choices!
  • Direct (d) or Indirect (i)

0
1
3
4
5
40
Example
  • Labels direct (d), indirect (i)
  • Preference Relationship i gt d
  • Outbound Arc Labels i if node is d, nothing if
    node is i

d
d
4
5
41
Example
  • Labels direct (d), indirect (i)
  • Preference Relationship i gt d
  • Outbound Arc Labels i if node is d, nothing if
    node is i

d
d
d
4
5
d
42
Example
  • Labels direct (d), indirect (i)
  • Preference Relationship i gt d
  • Outbound Arc Labels i if node is d, nothing if
    node is i

d
d
d
4
5
d
i
43
Example
  • Labels direct (d), indirect (i)
  • Preference Relationship i gt d
  • Outbound Arc Labels i if node is d, nothing if
    node is i

d
d
d
4
5
i
i
44
Example
  • Labels direct (d), indirect (i)
  • Preference Relationship i gt d
  • Outbound Arc Labels i if node is d, nothing if
    node is i
  • One stable solution

d
d
d
4
5
i
i
45
Example
  • Alternative stable solution
  • If all possible message orderings result in the
    group settling to a solution - the system is
    stable.

d
d
i
i
4
5
d
46
State Machine
dd
ii
di
id
d
d
i
i
4
5
d

47
Three Node Co-reliance Group
  • Will this co-reliance group oscillate?

1
2
3
48
State Machine
ddd
idd
ddi
idi
iid
did
dii
iii
49
How many reliance graphs?
  • So far we have focused on a single egress
    instance
  • Analyzing all egress instances results in a
    combinatorial explosion.
  • Some border routers never used in combination.
  • Filters on border routers
  • We can further scope the problem
  • Prioritize the checking of current egress
    instances

50
Practical Analysis
  • Based on topology and routing state of a Tier 2
    AS
  • Approx 500 routers.
  • 954 egress instances found (maximum number of
    egress routers 17).
  • Power set of these egresses raised the number of
    egress instances to 204,621
  • Results
  • Stable
  • Under 15 minutes to run
  • Further optimizations possible
  • Can run in parallel
  • Can reduce co-reliance groups to equivalent forms
  • Can keep a library of co-reliance groups

51
What does this mean?
  • Proof a large practical iBGP configurations
    stability.
  • Not a simulation.
  • Can determine the oscillatory properties of
  • configuration changes prior to their
    implementation
  • the current network state
  • the network as it evolves (e.g. due to failures)
  • Guarantee the stability of a configuration.
  • Pinpoint the routers responsible for oscillatory
    modes.

52
Conclusion and Future Work
  • We can determine the oscillatory properties of a
    network configuration.
  • Fast
  • Scalable for realistic networks
  • It is a proof of stability or you find where the
    oscillation is.
  • Future Work
  • How do you fix oscillation?

53
Wheres Waldo?
Write a Comment
User Comments (0)
About PowerShow.com