ashley flavel matthew roughan nigel bean aman shaikh practical searches for stability in ibgp
TRANSCRIPT
![Page 1: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/1.jpg)
Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh
Practical Searches for Stability in iBGP
![Page 2: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/2.jpg)
![Page 3: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/3.jpg)
• 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
• Waldo’s nemesis is Odlaw
Routing Protocol
![Page 4: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/4.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 5: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/5.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 6: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/6.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 7: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/7.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 8: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/8.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 9: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/9.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 10: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/10.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 11: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/11.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 12: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/12.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destination0
1 2
![Page 13: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/13.jpg)
What is Routing Oscillation?
Preference to destination
Preference to destinationSame as earlier step!Same as earlier step! 0
1 2
![Page 14: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/14.jpg)
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
![Page 15: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/15.jpg)
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.
![Page 16: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/16.jpg)
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
![Page 17: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/17.jpg)
BGP Decision Process
• Each router’s decision is independent and based on its set of available routes
• Set of available routes depends on iBGP topology
1. Highest Local-Preference2. Shortest AS Path3. Best Origin4. Lowest MED5. Shortest IGP distance to egress router (hot-potato)6. Tie-break
AS-wide stepsAS-wide steps
Individual router stepsIndividual router steps
![Page 18: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/18.jpg)
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.
![Page 19: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/19.jpg)
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
![Page 20: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/20.jpg)
• Clients propagate externally learned routes to parents
iBGP Route Reflection
Client-parent iBGP sesssion
RR-RRiBGP sesssion
0 1 2 3
8 9 10
4 5
6 7
4 Route-reflector (RR)
0 Client
![Page 21: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/21.jpg)
iBGP Route Reflection
• Clients propagate externally learned routes to parents
0 1 2 3
8 9 10
4 5
6 7
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 22: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/22.jpg)
0 1 2 3
8 9 10
4 5
6 7
iBGP Route Reflection
• Clients propagate externally learned routes to parents
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 23: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/23.jpg)
0 1 2 3
8 9 10
4 5
6 7
iBGP Route Reflection
• Clients propagate externally learned routes to parents
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 24: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/24.jpg)
0 1 2 3
8 9 10
4 5
6 7
iBGP Route Reflection
• Route-reflectors propagate client routes to all other iBGP neighbors.
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 25: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/25.jpg)
0 1 2 3
8 9 10
4 5
6 7
iBGP Route Reflection
• Route-reflectors propagate client routes to all other iBGP neighbors.
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 26: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/26.jpg)
0 1 2 3
8 9 10
4 5
6 7
iBGP Route Reflection
• Route-reflectors propagate client routes to all other iBGP neighbors.
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 27: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/27.jpg)
0 1 2 3
8 9 10
4 5
6 7
iBGP Route Reflection
• Route-reflectors reflect routes learned from other route-reflectors to clients
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 28: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/28.jpg)
• Route-reflectors reflect routes learned from other route-reflectors to clients
0 1 2 3
8 9 10
4 5
6 7
iBGP Route Reflection
Client-parent iBGP sesssion
RR-RRiBGP sesssion
4 Route-reflector (RR)
0 Client
![Page 29: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/29.jpg)
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.
![Page 30: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/30.jpg)
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 router’s decision is reliant on another.
• Oscillation requires a cycle in the reliance graph
0 1 2 3
8 9 10
4 5
6 7
![Page 31: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/31.jpg)
0 1 2 3
8 9 10
4 5
6 7
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
![Page 32: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/32.jpg)
iBGP Pruning• Routers in the egress
instance– Will select its own route– Not reliant on any other router
0 1 2 3
8 9 10
4 5
6 7
![Page 33: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/33.jpg)
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
8 9 10
4 5
6 7
![Page 34: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/34.jpg)
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
8 9 10
4 5
6 7
![Page 35: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/35.jpg)
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
8 9 10
4 5
6 7
![Page 36: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/36.jpg)
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
8 9 10
4 5
6 7
![Page 37: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/37.jpg)
![Page 38: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/38.jpg)
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.
![Page 39: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/39.jpg)
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
![Page 40: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/40.jpg)
• Labels: direct (d), indirect (i)• Preference Relationship: i > d• Outbound Arc Labels: i if node is d, nothing if node is i
Example
4 5
dd
![Page 41: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/41.jpg)
• Labels: direct (d), indirect (i)• Preference Relationship: i > d• Outbound Arc Labels: i if node is d, nothing if node is i
Example
4 5
dd
d d
![Page 42: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/42.jpg)
• Labels: direct (d), indirect (i)• Preference Relationship: i > d• Outbound Arc Labels: i if node is d, nothing if node is i
Example
4 5
dd
i
d d
![Page 43: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/43.jpg)
• Labels: direct (d), indirect (i)• Preference Relationship: i > d• Outbound Arc Labels: i if node is d, nothing if node is i
Example
4 5
dd
i
d i
![Page 44: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/44.jpg)
• Labels: direct (d), indirect (i)• Preference Relationship: i > d• Outbound Arc Labels: i if node is d, nothing if node is i• One stable solution
Example
4 5
dd
i
d i
![Page 45: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/45.jpg)
• Alternative stable solution• If all possible message orderings result in the group settling
to a solution - the system is stable.
Example
4 5
dd
i d
i
![Page 46: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/46.jpg)
State Machinedd ii
di id
4 5
dd
i d
i
![Page 47: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/47.jpg)
Three Node Co-reliance Group
• Will this co-reliance group oscillate?
1 2 3
![Page 48: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/48.jpg)
State Machineddd
iii
idd ddiidi
iid did dii
![Page 49: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/49.jpg)
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
![Page 50: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/50.jpg)
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
![Page 51: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/51.jpg)
What does this mean?• Proof a large practical iBGP configuration’s 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.
![Page 52: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/52.jpg)
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?
![Page 53: Ashley Flavel Matthew Roughan Nigel Bean Aman Shaikh Practical Searches for Stability in iBGP](https://reader035.vdocuments.us/reader035/viewer/2022081518/55142b94550346dd488b5d13/html5/thumbnails/53.jpg)
Where’s Waldo?Where’s Waldo?