modelling inter-domain routing - apricot

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

Upload: others

Post on 26-Feb-2022

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelling Inter-Domain Routing - APRICOT

ModellingInter-Domain Routing

Steve UhligSteve UhligUniversité catholique de LouvainUniversité catholique de Louvain

Wolfgang MWolfgang MühlbauerühlbauerTechnical University MunichTechnical University Munich

AnjaAnja FeldmannFeldmannTechnical University MunichTechnical University Munich

OlafOlaf MaennelMaennelUniversity of AdelaideUniversity of Adelaide

Matthew RoughanMatthew RoughanUniversity of AdelaideUniversity of Adelaide

Page 2: Modelling Inter-Domain Routing - APRICOT

Outline

1.1. Why modelling inter-domain routing?Why modelling inter-domain routing?

2.2. A model of the InternetA model of the Internet

3.3. Some resultsSome results

4.4. ConclusionConclusion

Page 3: Modelling Inter-Domain Routing - APRICOT

Outline

1.1. Why modelling inter-domain routing?Why modelling inter-domain routing?

2.2. A model of the InternetA model of the Internet

3.3. Some resultsSome results

4.4. ConclusionConclusion

Page 4: Modelling Inter-Domain Routing - APRICOT

Why modelling inter-domain routing?

•• Create models which are able toCreate models which are able to

answer what-if questionsanswer what-if questions

•• Understand Understand ““policiespolicies”” and their impact and their impact

Page 5: Modelling Inter-Domain Routing - APRICOT

Typology of what-if questions

Goal ofGoal of our inter-domain model is to potentiallyour inter-domain model is to potentially

predict an outcome of changespredict an outcome of changes

For that we need to knowFor that we need to know

•• how routes propagate through the networkhow routes propagate through the network

•• which policies are applied on alternative pathswhich policies are applied on alternative paths

Knowing that helpsKnowing that helps

•• to predict impact of policy changesto predict impact of policy changes

•• to predict traffic flowsto predict traffic flows

•• or to debug the networkor to debug the network

Page 6: Modelling Inter-Domain Routing - APRICOT

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 How to identify ““goodgood”” new new peeringspeerings??

•• Possibilities to improve policy Possibilities to improve policy configconfig, , e.g.,e.g.,

•• check outcome ofcheck outcome of network configurationnetwork configuration

•• formulate abstract AS-wide routing policyformulate abstract AS-wide routing policy

•• Poor path selection, Poor path selection, e.g.,e.g.,

•• identify highly asymmetric pathsidentify highly asymmetric paths

•• identify long pathsidentify long paths

•• changedchanged connectivity between connectivity between ASesASes

Page 7: Modelling Inter-Domain Routing - APRICOT

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 How can I balance traffic among my neighborsneighbors??

•• 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 traceroutestraceroutes

•• IGP/BGP interactionsIGP/BGP interactions

Page 8: Modelling Inter-Domain Routing - APRICOT

What-if: debugging

•• Optimize network performanceOptimize network performance

•• Locate Internet routing instabilitiesLocate Internet routing instabilities

•• Detect problematic routing conditionsDetect problematic routing conditions•• Tim GriffinTim Griffin’’s BGP wedgiess BGP wedgies

•• Checking what you are doing:Checking what you are doing:•• check if the current state is the desired onecheck if the current state is the desired one•• emulate a planned configuration/policy changeemulate a planned configuration/policy change

Page 9: Modelling Inter-Domain Routing - APRICOT

Outline

1.1. Why modelling inter-domain routing?Why modelling inter-domain routing?

2.2. A model of the InternetA model of the Internet

3.3. Some resultsSome results

4.4. ConclusionConclusion

Page 10: Modelling Inter-Domain Routing - APRICOT

Where do we start from?

Simulation

Refinement

Model

real routinginformation

init

Page 11: Modelling Inter-Domain Routing - APRICOT

Where do we start from?

Simulation

Refinement

Model

real routinginformation

init

Build a model of the inter-domain routing systemBuild a model of the inter-domain routing system

Page 12: Modelling Inter-Domain Routing - APRICOT

Where do we start from?

Simulation

Refinement

Model

real routinginformation

init

Simulate BGP path propagationSimulate BGP path propagation……

Page 13: Modelling Inter-Domain Routing - APRICOT

Where do we start from?

Simulation

Refinement

Model

real routinginformation

init

Compare observable (real) AS paths to simulationCompare observable (real) AS paths to simulation

Page 14: Modelling Inter-Domain Routing - APRICOT

“Simply” reproducing observable paths

Premise:Premise:•• Only observable pathsOnly observable paths

give us information aboutgive us information aboutthe AS-level topology andthe AS-level topology andpotential routing policiespotential routing policies

Goal:Goal:•• Reproduce paths in C-BGP simulatorReproduce paths in C-BGP simulator

Simulation

Refinement

Model

real routinginformation

init

Page 15: Modelling Inter-Domain Routing - APRICOT

The C-BGP simulator

•• Full BGP policiesFull BGP policies andanddecision processdecision process

•• Parse CiscoParse Cisco andandJuniper Juniper configsconfigs

Parser for Cisco/Juniper router config

BGP MRTdumps

Network topology

C-BGP(routing solver)

configuration

InputFilters

DecisionProcess

OutputFilters

available routes

best routes

compute routes for each routertowards each

prefix

Simulation

Refinement

Model

real routinginformation

init

Page 16: Modelling Inter-Domain Routing - APRICOT

Recall best pathRecall best pathselection process:selection process:

1.1. Local-prefLocal-pref

2.2. Shortest AS-pathShortest AS-path

3.3. Origin typeOrigin type

4.4. Lowest MED valueLowest MED value

5.5. eBGP eBGP over iBGPover iBGP

6.6. Lowest IGP cost (Lowest IGP cost (““hot-potatohot-potato”” routing) routing)

7.7. Tie-break (e.g., Lowest router-ID)Tie-break (e.g., Lowest router-ID)

What to do?

Simulation

Refinement

Model

real routinginformation

init

Page 17: Modelling Inter-Domain Routing - APRICOT

What to do?

Split AS,Split AS, if if multiple pathsmultiple paths must must be propagated be propagated

Filter,Filter, ifif longer pathslonger paths mustmust be propagated be propagated

Get rid of random decisions (Get rid of random decisions (lowest router-IDlowest router-ID),), when supporting information is availablewhen supporting information is available

Simulation

Refinement

Model

real routinginformation

init

Page 18: Modelling Inter-Domain Routing - APRICOT

Splitting ASes

prefix p

Multiple paths must be propagated Multiple paths must be propagated ……=> need=> need multiple routers in model!multiple routers in model!

Page 19: Modelling Inter-Domain Routing - APRICOT

How to propagate longer paths?

prefix p

How to apply How to apply ““our policiesour policies”” ?? ??=> => filter shorter path on filter shorter path on ““longer path routerlonger path router””(at ingress)(at ingress)

longerlongerpath routerpath router

shortershorterpath routerpath router

Page 20: Modelling Inter-Domain Routing - APRICOT

How to propagate longer paths?

prefix p

Propagate paths to appropriate neighbors!Propagate paths to appropriate neighbors!

longerlongerpath routerpath router

shortershorterpath routerpath router

Page 21: Modelling Inter-Domain Routing - APRICOT

How to propagate longer path?

prefix p

Filter also on Filter also on ““egressegress””-part of shorter path router.-part of shorter path router.

longerlongerpath routerpath router

shortershorterpath routerpath router

Page 22: Modelling Inter-Domain Routing - APRICOT

Lowest Neighbor ID

The decision was made by The decision was made by cBGP cBGP ““randomlyrandomly””=> Fix random decision, if supporting information available=> Fix random decision, if supporting information available

sim.sim.

obs.obs.

lowestlowestneighbor IDneighbor ID

decisiondecision

prefix p

Page 23: Modelling Inter-Domain Routing - APRICOT

Outline

1.1. Why modelling inter-domain routing?Why modelling inter-domain routing?

2.2. A model of the InternetA model of the Internet

3.3. Some resultsSome results

4.4. ConclusionConclusion

Page 24: Modelling Inter-Domain Routing - APRICOT

TerminologyTerminology

•• Best match:Best match: simulation selects a path that wassimulation selects a path that wasobserved in realityobserved in reality

•• RIB-IN:RIB-IN: simulation learns a path that wassimulation learns a path that wasobserved in reality, but did notobserved in reality, but did notpick that path as bestpick that path as best

•• not found:not found: No router at the considered AS inNo router at the considered AS inthe simulation learns about thethe simulation learns about the

path that was observed in realitypath that was observed in reality

•• training data set:training data set: paths that were used to buildpaths that were used to buildmodel (real observed paths)model (real observed paths)

•• validation data set:validation data set: paths that were paths that were unknownunknown to tothe model, but that are realthe model, but that are realobserved pathsobserved paths

Page 25: Modelling Inter-Domain Routing - APRICOT

Observation points

Training-Data-SetTraining-Data-Set : : used as input to modelused as input to model

Validation-DataValidation-Data-Set -Set : : NOT used as inputNOT used as input

459459

11

22

66

2828

120120

302302

validationvalidation

13911391

55

1010

2222

9393

359359

902902

totaltotal

932932totaltotal

600600AkamaiAkamai

44SpaceNetSpaceNet

88AbileneAbilene

1616GEANTGEANT

6565RouteViewsRouteViews

239239RIPERIPE

trainingtrainingSSourceource

Page 26: Modelling Inter-Domain Routing - APRICOT

Initial Results

63 %63 %best path best path (selected)(selected)

93.84 %93.84 %RIB-IN RIB-IN (learned)(learned)

Validation Data-SetValidation Data-Set

99.98%99.98%best path best path (selected)(selected)

99.99%99.99%RIB-IN RIB-IN (learned)(learned)

% unique paths% unique pathsTraining Data-SetTraining Data-Set

Page 27: Modelling Inter-Domain Routing - APRICOT

Lessons learned

Possible to model observable pathsPossible to model observable paths•• selecting the correct best pathselecting the correct best path

•• propagate path among possible alternativespropagate path among possible alternatives

Requirement: Requirement: sufficient informationsufficient information•• enough observation pointsenough observation points

•• diverse location of observation pointsdiverse location of observation points

=> => It is possible to construct a model that can It is possible to construct a model that can answers some what-if questions answers some what-if questions

Page 28: Modelling Inter-Domain Routing - APRICOT

What next?

63% of the paths in the validation data-set63% of the paths in the validation data-setwere correctly predicted.were correctly predicted.

Reasons:Reasons:•• We do not reverse engineer the Internet!We do not reverse engineer the Internet!

•• We do not know the real policies!We do not know the real policies!

•• We We ““onlyonly”” have policies which are have policies which are consistentconsistentwith our observationswith our observations……

=> => It is It is not easy to reverse engineernot easy to reverse engineer policies policies of any AS of any AS without sufficientwithout sufficient observation observation points! points!

Page 29: Modelling Inter-Domain Routing - APRICOT

Outline

1.1. Why modelling inter-domain routing?Why modelling inter-domain routing?

2.2. A model of the InternetA model of the Internet

3.3. Some resultsSome results

4.4. ConclusionConclusion

Page 30: Modelling Inter-Domain Routing - APRICOT

Conclusion

C-BGP is a scalable simulator for largeC-BGP is a scalable simulator for largeintra- andintra- and inter-domain topologiesinter-domain topologies

To answer what-if questions three informationTo answer what-if questions three informationsources are required:sources are required:

•• intra-domain topologyintra-domain topology ((inclincl. router . router configsconfigs))•• inter-domain topology (inter-domain topology (inclincl. local. local BGP views)BGP views)•• traffic informationtraffic information

To make this practical, we need your help!To make this practical, we need your help!

Thanks for your attention!Thanks for your attention!