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

modelling inter domain routing
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Outline

1.

  • 1. Why modelling inter-domain routing?

Why modelling inter-domain routing? 2.

  • 2. A model of the Internet

A model of the Internet 3.

  • 3. Some results

Some results 4.

  • 4. Conclusion

Conclusion

slide-3
SLIDE 3

Outline

1.

  • 1. Why modelling inter-domain routing?

Why modelling inter-domain routing? 2.

  • 2. A model of the Internet

A model of the Internet 3.

  • 3. Some results

Some results 4.

  • 4. Conclusion

Conclusion

slide-4
SLIDE 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

Understand “ “policies policies” ” and their impact and their impact

slide-5
SLIDE 5

Typology of what-if questions

Goal of Goal of

  • ur inter-domain model is to potentially
  • ur inter-domain model is to potentially

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

  • r to debug the network
  • r to debug the network
slide-6
SLIDE 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

How to identify “ “good good” ” new new peerings peerings? ?

  • Possibilities to improve policy

Possibilities to improve policy config config, , e.g.,

e.g.,

  • check outcome of

check outcome of network configuration network configuration

  • formulate abstract AS-wide routing policy

formulate abstract AS-wide routing policy

  • Poor path selection,

Poor path selection, e.g.,

e.g.,

  • identify highly asymmetric paths

identify highly asymmetric paths

  • identify long paths

identify long paths

  • changed

changed connectivity between connectivity between ASes ASes

slide-7
SLIDE 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

How can I balance traffic among my neighbors neighbors? ?

  • 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

slide-8
SLIDE 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

Tim Griffin’ ’s BGP wedgies s BGP wedgies

  • 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

slide-9
SLIDE 9

Outline

1.

  • 1. Why modelling inter-domain routing?

Why modelling inter-domain routing? 2.

  • 2. A model of the Internet

A model of the Internet 3.

  • 3. Some results

Some results 4.

  • 4. Conclusion

Conclusion

slide-10
SLIDE 10

Where do we start from? Simulation Refinement Model

real routing information init

slide-11
SLIDE 11

Where do we start from? Simulation Refinement Model

real routing information init

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

slide-12
SLIDE 12

Where do we start from? Simulation Refinement Model

real routing information init

Simulate BGP path propagation Simulate BGP path propagation… …

slide-13
SLIDE 13

Where do we start from? Simulation Refinement Model

real routing information init

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

slide-14
SLIDE 14

“Simply” reproducing observable paths

Premise: Premise:

  • 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

Simulation Refinement Model

real routing information

init

slide-15
SLIDE 15

The C-BGP simulator

  • Full BGP policies

Full BGP policies and and decision process decision process

  • Parse Cisco

Parse Cisco and and Juniper Juniper configs configs

Parser for Cisco/Juniper router config BGP MRT dumps

Network topology

C-BGP

(routing solver)

configuration

Input Filters Decision Process Output Filters available routes best routes

compute routes for each router towards each prefix

Simulation Refinement Model

real routing information

init

slide-16
SLIDE 16

Recall best path Recall best path selection process: selection process:

1.

  • 1. Local-pref

Local-pref 2.

  • 2. Shortest AS-path

Shortest AS-path 3.

  • 3. Origin type

Origin type 4.

  • 4. Lowest MED value

Lowest MED value 5.

  • 5. eBGP

eBGP over iBGP

  • ver iBGP

6.

  • 6. Lowest IGP cost (

Lowest IGP cost (“ “hot-potato hot-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 routing information

init

slide-17
SLIDE 17

What to do?

  • Split AS,

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

  • Filter,

Filter, if if 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

Simulation Refinement Model

real routing information

init

slide-18
SLIDE 18

Splitting ASes

prefix p

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

slide-19
SLIDE 19

How to propagate longer paths?

prefix p

How to apply How to apply “ “our policies

  • ur policies”

” ?? ?? => => filter shorter path on

filter shorter path on “ “longer path router longer path router” ” (at ingress) (at ingress)

longer longer path router path router shorter shorter path router path router

slide-20
SLIDE 20

How to propagate longer paths?

prefix p

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

longer longer path router path router shorter shorter path router path router

slide-21
SLIDE 21

How to propagate longer path?

prefix p

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

  • part of shorter path router.

longer longer path router path router shorter shorter path router path router

slide-22
SLIDE 22

Lowest Neighbor ID

The decision was made by The decision was made by cBGP cBGP “ “randomly randomly” ”

=> Fix random decision, if supporting information available => Fix random decision, if supporting information available

sim. sim.

  • bs.
  • bs.

lowest lowest neighbor ID neighbor ID decision decision

prefix p

slide-23
SLIDE 23

Outline

1.

  • 1. Why modelling inter-domain routing?

Why modelling inter-domain routing? 2.

  • 2. A model of the Internet

A model of the Internet 3.

  • 3. Some results

Some results 4.

  • 4. Conclusion

Conclusion

slide-24
SLIDE 24

Terminology Terminology

  • Best match:

Best match: simulation selects a path that was simulation selects a path that was

  • bserved in reality
  • bserved in reality
  • RIB-IN:

RIB-IN: simulation learns a path that was simulation learns a path that was

  • bserved in reality, but did not
  • bserved in reality, but did not

pick that path as best pick that path as best

  • not found:

not found: No router at the considered AS in 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:

training data set: paths that were used to build paths that were used to build model (real observed paths) model (real observed paths)

  • validation data set:

validation data set: paths that were paths that were unknown unknown to to the model, but that are real the model, but that are real

  • bserved paths
  • bserved paths
slide-25
SLIDE 25

Observation points

Training-Data-Set Training-Data-Set : : used as input to model used as input to model Validation-Data Validation-Data-Set

  • Set :

: NOT used as input NOT used as input

459 459 1 1 2 2 6 6 28 28 120 120 302 302 validation validation 1391 1391 5 5 10 10 22 22 93 93 359 359 902 902 total total 932 932 total total 600 600 Akamai Akamai 4 4 SpaceNet SpaceNet 8 8 Abilene Abilene 16 16 GEANT GEANT 65 65 RouteViews RouteViews 239 239 RIPE RIPE training training S Source

  • urce
slide-26
SLIDE 26

Initial Results

63 % 63 % best path best path (selected)

(selected)

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

(learned)

Validation Data-Set Validation 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 paths Training Data-Set Training Data-Set

slide-27
SLIDE 27

Lessons learned

  • Possible to model observable paths

Possible to model observable paths

  • selecting the correct best path

selecting the correct best path

  • propagate path among possible alternatives

propagate path among possible alternatives

  • Requirement:

Requirement: sufficient information sufficient information

  • enough observation points

enough observation points

  • diverse location of observation points

diverse 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

slide-28
SLIDE 28

What next?

  • 63% of the paths in the validation data-set

63% of the paths in the validation data-set were 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 “ “only

  • nly”

” have policies which are have policies which are consistent consistent with our observations with our observations… …

=> => It is It is not easy to reverse engineer not easy to reverse engineer policies policies

  • f any AS
  • f any AS without sufficient

without sufficient observation

  • bservation

points! points!

slide-29
SLIDE 29

Outline

1.

  • 1. Why modelling inter-domain routing?

Why modelling inter-domain routing? 2.

  • 2. A model of the Internet

A model of the Internet 3.

  • 3. Some results

Some results 4.

  • 4. Conclusion

Conclusion

slide-30
SLIDE 30

Conclusion

  • C-BGP is a scalable simulator for large

C-BGP is a scalable simulator for large intra- and intra- and inter-domain topologies inter-domain topologies

  • To answer what-if questions three information

To answer what-if questions three information sources are required: sources are required:

  • intra-domain topology

intra-domain topology ( (incl

  • incl. router

. router configs configs) )

  • inter-domain topology (

inter-domain topology (incl

  • incl. local

. local BGP views) BGP views)

  • traffic information

traffic 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! Thanks for your attention! Thanks for your attention!