modelling inter domain routing
play

Modelling Inter-Domain Routing Olaf Maennel Maennel Olaf - PowerPoint PPT Presentation

Modelling Inter-Domain Routing Olaf Maennel Maennel Olaf University of Adelaide University of Adelaide Wolfgang Mhlbauer hlbauer Steve Uhlig Wolfgang M Steve Uhlig Technical University Munich Technical University Munich


  1. Modelling Inter-Domain Routing Olaf Maennel Maennel Olaf University of Adelaide University of Adelaide Wolfgang Mühlbauer ühlbauer Steve Uhlig Wolfgang M Steve Uhlig Technical University Munich Technical University Munich Université catholique de Louvain Université catholique de Louvain Anja Feldmann Feldmann Matthew Roughan Anja Matthew Roughan Technical University Munich Technical University Munich University of Adelaide University of Adelaide

  2. Outline 1. Why modelling inter-domain routing? Why modelling inter-domain routing? 1. 2. A model of the Internet A model of the Internet 2. 3. Some results Some results 3. 4. Conclusion Conclusion 4.

  3. Outline 1. Why modelling inter-domain routing? Why modelling inter-domain routing? 1. 2. A model of the Internet A model of the Internet 2. 3. Some results Some results 3. 4. Conclusion Conclusion 4.

  4. Why modelling inter-domain routing? Create models which are able to • Create models which are able to • answer what-if questions answer what-if questions Understand “ “policies policies” ” and their impact and their impact • Understand •

  5. Typology of what-if questions Goal of our inter-domain model is to potentially our inter-domain model is to potentially Goal of predict an outcome of changes predict an outcome of changes For that we need to know For that we need to know how routes propagate through the network how routes propagate through the network • • which policies are applied on alternative paths which policies are applied on alternative paths • • Knowing that helps Knowing that helps to predict impact of policy changes to predict impact of policy changes • • to predict traffic flows to predict traffic flows • • or to debug the network or to debug the network • •

  6. What-if: BGP policies Understand potential impact of changes in policy: Understand potential impact of changes in policy: Impact of cancelled peering? Impact of cancelled peering? • • How to identify “ “good good” ” new new peerings peerings? ? How to identify • • Possibilities to improve policy config config, , e.g., Possibilities to improve policy e.g., • • check outcome of network configuration network configuration check outcome of • • formulate abstract AS-wide routing policy formulate abstract AS-wide routing policy • • Poor path selection, e.g., Poor path selection, e.g., • • identify highly asymmetric paths identify highly asymmetric paths • • identify long paths identify long paths • • changed connectivity between connectivity between ASes ASes changed • •

  7. What-if: traffic flows Predict traffic flow with the help of simulations: Predict traffic flow with the help of simulations: Inter-domain: Inter-domain: • • Predict where traffic enters/leaves the network? Predict where traffic enters/leaves the network? • • How can I balance traffic among my neighbors neighbors? ? How can I balance traffic among my • • Intra-domain: Intra-domain: • • How traffic flows within my network? How traffic flows within my network? • • by simulating end-to-end by simulating end-to-end traceroutes traceroutes • • IGP/BGP interactions IGP/BGP interactions • •

  8. What-if: debugging Optimize network performance Optimize network performance • • Locate Internet routing instabilities Locate Internet routing instabilities • • Detect problematic routing conditions Detect problematic routing conditions • • Tim Griffin’ ’s BGP wedgies s BGP wedgies Tim Griffin • • Checking what you are doing: Checking what you are doing: • • check if the current state is the desired one check if the current state is the desired one • • emulate a planned configuration/policy change emulate a planned configuration/policy change • •

  9. Outline 1. Why modelling inter-domain routing? Why modelling inter-domain routing? 1. 2. A model of the Internet A model of the Internet 2. 3. Some results Some results 3. 4. Conclusion Conclusion 4.

  10. Where do we start from? Simulation Model init Refinement real routing information

  11. Where do we start from? Simulation Model init Refinement real routing information Build a model of the inter-domain routing system Build a model of the inter-domain routing system

  12. Where do we start from? Simulation Model init Refinement real routing information Simulate BGP path propagation… … Simulate BGP path propagation

  13. Where do we start from? Simulation Model init Refinement real routing information Compare observable (real) AS paths to simulation Compare observable (real) AS paths to simulation

  14. “Simply” reproducing observable paths Simulation Model init Refinement real routing Premise: Premise: information Only observable paths Only observable paths • • give us information about give us information about the AS-level topology and the AS-level topology and potential routing policies potential routing policies Goal: Goal: Reproduce paths in C-BGP simulator • Reproduce paths in C-BGP simulator •

  15. The C-BGP simulator Simulation Full BGP policies and and • • Full BGP policies Model decision process decision process Parse Cisco and and • Parse Cisco • Juniper configs configs Juniper init Refinement real routing information Parser for C-BGP Cisco/Juniper (routing solver) router config configuration BGP MRT compute routes for each router dumps Input Output Decision towards each Filters Filters Process prefix Network available best topology routes routes

  16. What to do? Simulation Recall best path Recall best path Model selection process: selection process: init Refinement real routing 1. Local-pref Local-pref 1. information 2. Shortest AS-path Shortest AS-path 2. 3. Origin type Origin type 3. 4. Lowest MED value Lowest MED value 4. 5. eBGP eBGP over iBGP over iBGP 5. 6. Lowest IGP cost ( Lowest IGP cost (“ “hot-potato hot-potato” ” routing) routing) 6. 7. Tie-break (e.g., Lowest router-ID) Tie-break (e.g., Lowest router-ID) 7.

  17. What to do? Simulation Split AS, if if Split AS,   Model multiple paths multiple paths must must be propagated be propagated init Refinement real routing Filter, Filter, if if   information longer paths longer paths must must be propagated be propagated Get rid of random decisions ( Get rid of random decisions (lowest router-ID lowest router-ID), ),   when supporting information is available when supporting information is available

  18. Splitting ASes prefix p Multiple paths must be propagated … … Multiple paths must be propagated => need multiple routers in model! multiple routers in model! => need

  19. How to propagate longer paths? longer longer path router path router prefix p shorter shorter path router path router How to apply “ “our policies our policies” ” ?? ?? How to apply => filter shorter path on => filter shorter path on “ “longer path router longer path router” ” (at ingress) (at ingress)

  20. How to propagate longer paths? longer longer path router path router prefix p shorter shorter path router path router Propagate paths to appropriate neighbors! Propagate paths to appropriate neighbors!

  21. How to propagate longer path? longer longer path router path router prefix p shorter shorter path router path router Filter also on “ “egress egress” ”-part of shorter path router. -part of shorter path router. Filter also on

  22. Lowest Neighbor ID lowest lowest neighbor ID neighbor ID sim. sim. decision decision obs. obs. prefix p The decision was made by cBGP cBGP “ “randomly randomly” ” The decision was made by => Fix random decision, if supporting information available => Fix random decision, if supporting information available

  23. Outline 1. Why modelling inter-domain routing? Why modelling inter-domain routing? 1. 2. A model of the Internet A model of the Internet 2. 3. Some results Some results 3. 4. Conclusion Conclusion 4.

  24. Terminology Terminology Best match: simulation selects a path that was • Best match: simulation selects a path that was • observed in reality observed in reality RIB-IN: simulation learns a path that was • RIB-IN: simulation learns a path that was • observed in reality, but did not observed in reality, but did not pick that path as best pick that path as best not found: No router at the considered AS in • not found: No router at the considered AS in • the simulation learns about the the simulation learns about the path that was observed in reality path that was observed in reality training data set: paths that were used to build paths that were used to build • • training data set: model (real observed paths) model (real observed paths) validation data set: paths that were paths that were unknown unknown to to • • validation data set: the model, but that are real the model, but that are real observed paths observed paths

Recommend


More recommend