investigation of global network routing behavior

37
Investigation of Global Investigation of Global Network Routing Behavior Network Routing Behavior BJ Premore Dartmouth College Prof. David Nicol, Advisor December 8, 2000 In collaboration with Jim Cowie, Renesys Corporation Tim Griffin, AT&T Labs-Research Andy Ogielski, Renesys Corporation … and several other colleagues

Upload: alda

Post on 19-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Investigation of Global Network Routing Behavior. BJ Premore Dartmouth College Prof. David Nicol, Advisor December 8, 2000 In collaboration with Jim Cowie, Renesys Corporation Tim Griffin, AT&T Labs-Research Andy Ogielski, Renesys Corporation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Investigation of Global Network Routing Behavior

Investigation of GlobalInvestigation of GlobalNetwork Routing BehaviorNetwork Routing Behavior

BJ PremoreDartmouth College

Prof. David Nicol, Advisor

December 8, 2000

In collaboration with

Jim Cowie, Renesys Corporation

Tim Griffin, AT&T Labs-Research

Andy Ogielski, Renesys Corporation … and several other colleagues

Page 2: Investigation of Global Network Routing Behavior

2

• Objectives– better understand inter-domain routing dynamics– explore impact of implementation tradeoffs– explore extensions before deployment– provide a useful tool for researchers

• Implementation– simulation architecture– BGP functionality– validation

• Research Applications– convergence (ongoing)– security (ongoing)– timing, policy interaction, proposed extensions, etc.

OverviewOverview

Page 3: Investigation of Global Network Routing Behavior

3

• Objectives– better understand inter-domain routing dynamics– explore impact of implementation tradeoffs– explore extensions before deployment– provide a useful tool for researchers

• Implementation– simulation architecture– BGP functionality– validation

• Research Applications– convergence (ongoing)– security (ongoing)– timing, policy interaction, proposed extensions, etc.

OverviewOverview

Page 4: Investigation of Global Network Routing Behavior

4

Simulation ArchitectureSimulation Architecture

SSFNet = SSF Network Models- compositional approach to large network design- not independent

SSF = Scalable Simulation Framework- a modern standard for discrete-event simulation of large, complex systems- multiple implementations- the “engine under the hood”

DML = Domain Modeling Language- model configuration

Page 5: Investigation of Global Network Routing Behavior

5

Simulation LayersSimulation Layers

SSF standard Simulator API

C++ C Java

CSSF RacewayDaSSF SimulatorImplementations

implements implements implements

SSFNetNetworkComponentsas Java Classes

enhances

Model InstancesDML Configurations

configure

Page 6: Investigation of Global Network Routing Behavior

6

Why Another Simulator?Why Another Simulator?

• Fully Integrated Network Environment– control over more than just BGP– eg: TCP/IP, traffic, router & link hardware

• Scalability– designed to handle large, complex simulations– tens of thousands of multi-protocol nodes

• Design Trade-off Toggles– eg: tie-breaking in route selection– eg: apply minAdver timer to withdrawals

• Explore Impact of New Functionality– before it goes live!– eg: MPLS; protocol extensions

Page 7: Investigation of Global Network Routing Behavior

7

Pros and ConsPros and Cons

• We can’t …– expect to model real-world routers perfectly with every

detail

• We can …– capture the most important characteristics– change and tweak the protocol– explore consequences of fundamental design of BGP– explore proposed and novel protocol extensions– evaluate and analyze collective behavior on a large-scale

Page 8: Investigation of Global Network Routing Behavior

8

SSFNet LayerSSFNet Layer

SSF standard

DML configurations

CSSF RacewayDaSSF

Simulator API

SimulatorImplementations

SSFNet

C++ C Java

NetworkComponentsas Java Classes

Model Instances

implements implements implements

enhances

configure

Page 9: Investigation of Global Network Routing Behavior

9

Example SSFNet ComponentsExample SSFNet Components

physical entities

linkrouterhost

logical containers

Net

protocol graph

protocols

BGP

OSPF

FTP

HTTP

Sockets

IP TCP

Page 10: Investigation of Global Network Routing Behavior

10

SSF.OS.BGPSSF.OS.BGP

• Based on RFCs• RFC 1771: BGP-4 and latest drafts• RFC compliant implementation• Includes some RFC-specified extensions (Route

Reflection)• Has features similar to those used by vendors

(policy-based filtering)

Page 11: Investigation of Global Network Routing Behavior

11

SSF.OS.BGP4 FunctionalitySSF.OS.BGP4 Functionality

– Finite state machine, timers, RIB– TCP transport– Peering: exterior and interior

– Route reflection

– Messages and path attributes– Policy

– filter based on path attribute– attribute modification

– Monitoring of protocol operation– gather stats on practically any event of interest

Page 12: Investigation of Global Network Routing Behavior

12

Package SSF.OS.BGP4 Package SSF.OS.BGP4 OrganizationOrganization

BGPSession

PeerEntry PeerEntry RIBIn LocRIB RIBOut RIBOutRIBIn

Policy Rule(inbound)

Policy Rule(outbound)

TimersConnRetryKeepAliveHoldMinAdver

Page 13: Investigation of Global Network Routing Behavior

13

Validation MethodologyValidation Methodology• No standards, create our own suite

• Basic behavior in simple topologies– Peering session maintenance (Hold & KeepAlive timer

operation)– Route advertisement and withdrawal– Route selection– Reflection– Internal BGP

• General behavior in complex topologies– End-to-end data delivery– Exercises basic behaviors as well

• Policy testing– Converging and non-converging gadgets [Griffin 1999]

Page 14: Investigation of Global Network Routing Behavior

14

Example: Route Reflection Example: Route Reflection Validation Test TopologyValidation Test Topology

Page 15: Investigation of Global Network Routing Behavior

15

Another Test TopologyAnother Test Topology

Page 16: Investigation of Global Network Routing Behavior

16

Large Network ExampleLarge Network Example

Page 17: Investigation of Global Network Routing Behavior

17

Example With MonitoringExample With Monitoring

Filters

Page 18: Investigation of Global Network Routing Behavior

18

1

1

1

2

DML ExampleDML Example

host [ id 1 interface [ id 1 ]]router [ id 2 interface [ idrange [ from 1 to 4 ] ]]link [ attach 1(1) attach 2(1)]

23 4

Page 19: Investigation of Global Network Routing Behavior

19

DML: Adding ProtocolsDML: Adding Protocols

protocol graph

router [ graph [ ProtocolSession [ name bgp use SSF.OS.BGP4.BGPSession ] ProtocolSession [ name ospf use SSF.OS.OSPF.sOSPF ] ProtocolSession [ name tcp use SSF.OS.TCP.tcpSessionMaster ] ProtocolSession [ name ip use SSF.OS.IP ] ]]

IP

TCP

OSPF

BGP

Page 20: Investigation of Global Network Routing Behavior

20

• Objectives– better understand inter-domain routing dynamics– explore impact of implementation tradeoffs– explore extensions before deployment– provide a useful tool for researchers

• Implementation– simulation architecture– BGP functionality– validation

• Research Applications– convergence (ongoing)– security (ongoing)– timing, policy interaction, proposed extensions, etc.

OverviewOverview

Page 21: Investigation of Global Network Routing Behavior

21

Interesting PossibilitiesInteresting Possibilities

– Better value for MinAdver timer?– Improved route flap dampening?– Policy studies

– How do various configurations affect convergence?– Test effects of policy changes before deployment

– EGP-IGP interaction studies– Are there instability side-effects?– Is it safe to convert between different cost metrics?

– MPLS– Will it have any unexpected effects on routing?

– Security studies

Page 22: Investigation of Global Network Routing Behavior

22

A Security StudyA Security Study

• Black Holes• How many networks can/will be included?• parameters

– severity of misconfiguration or maliciousness– number of misbehaving routers– location of misbehaving routers

• Other Questions– What is the impact of SBGP on routing efficiency?– Can attacks and misconfigurations be detected?– How can we speed up convergence after an attack?

Page 23: Investigation of Global Network Routing Behavior

23

Page 24: Investigation of Global Network Routing Behavior

24

A Convergence StudyA Convergence Study

• Goals• build upon previous work

– Labovitz, Ahuja, Bose & Jahanian 2000– what factors contribute to observed dynamic

behaviors?

• isolate contributions of different parameters– policy, topology, iBGP, timers, etc.

• make recommendations for implementations (eventually)

– what changes can alleviate impact of various factors?

Page 25: Investigation of Global Network Routing Behavior

25

A Convergence StudyA Convergence Study• Model Parameters

– topology: N ASes each with just 1 router» shape: line, loop, wheel, meshes, grid» size: vary N from 2 to 100

– policy» permit all or typical customer/provider/peer

– link delay» all equal or random

• Advertise, Withdraw, Wait and Watch1. Wait for system to reach stable state, then …2. Designated AS advertises a bogus destination to everyone

else3. Wait for system to reach a stable state again, then …4. Designated AS tells everyone that the bogus route is not

reachable through it any more5. Wait for system to reach a stable state again

Page 26: Investigation of Global Network Routing Behavior

26

Simple TopologiesSimple Topologies

line

loop wheel

emeshimesh grid

Page 27: Investigation of Global Network Routing Behavior

27

Line ExperimentLine Experimentfixed or random link delays

Page 28: Investigation of Global Network Routing Behavior

28

Loop ExperimentLoop Experimentfixed link delays

Page 29: Investigation of Global Network Routing Behavior

29

Wheel ExperimentWheel Experimentfixed link delays

Page 30: Investigation of Global Network Routing Behavior

30

IBGP Full Mesh ExperimentIBGP Full Mesh Experimentfixed link delays

Page 31: Investigation of Global Network Routing Behavior

31

EBGP Full Mesh ExperimentEBGP Full Mesh Experimentfixed link delay

Page 32: Investigation of Global Network Routing Behavior

32

Grid ExperimentGrid Experimentfixed link delay, width=10, no policy

Page 33: Investigation of Global Network Routing Behavior

33

Preliminary ObservationsPreliminary Observations

• Convergence time related to number of alternate paths a router sees

– policy helps reduce

• Agreement with previous results– full mesh experiments in particular

• Full external mesh still the most interesting

– how many alternate paths are actually “seen” depends a lot on timing

– using random link delays reduced convergence time

Page 34: Investigation of Global Network Routing Behavior

34

Coming Soon …Coming Soon …

– Functionality– aggregation– route flap dampening– communities– confederations– and more ...

– Experiments– look for better timer values– how does policy affect convergence?– can we improve route flap dampening?– test extensions and other proposed modifications– and more …

Page 35: Investigation of Global Network Routing Behavior

35

For Further InformationFor Further Information

SSF/Raceway and SSFNet:

http://www.ssfnet.org/

SSF.OS.BGP4:

http://www.cs.dartmouth.edu/~beej/research/bgp/java/(or follow link from www.ssfnet.org)

Page 36: Investigation of Global Network Routing Behavior

36

Net [ id 1 AS_status boundary router [ id 1 graph [ ProtocolSession [ name bgp use SSF.OS.BGP4.BGPSession autoconfig false connretry_time 120 min_as_orig_time 15 reflector false neighbor [ as 0 address 1(1) use_return_address 1(1) hold_time 90 keep_alive_time 30 min_adver_time 30 infilter [ # give low priority to routes learned from 0 clause [ precedence 1 predicate [] action [ primary permit atom [ attribute local_pref type set value 80 ] ] ] ] outfilter [ _extends .filters.permit_all ] ]

This sample DML code configures an AS with a single router running BGP.It performs explicit configuration of all BGP attributes. It is taken from the‘goodgadget’ validation test. (continued next page)

Page 37: Investigation of Global Network Routing Behavior

37

neighbor [ as 2 address 1(2) use_return_address 1(2) hold_time 90 keep_alive_time 30 min_adver_time 30 infilter [ # give high priority to routes learned from 2 clause [ precedence 1 predicate [] action [ primary permit atom [ attribute local_pref type set value 100 ] ] ] ] outfilter [ _extends .filters.permit_all ] ] neighbor [ as 3 address 1(2) use_return_address 1(3) hold_time 90 keep_alive_time 30 min_adver_time 30 infilter [ # deny all routes learned from 3 clause [ precedence 1 predicate [] action [ primary deny ] ] ] outfilter [ _extends .filters.permit_all ] ] ] ProtocolSession [ name socket use SSF.OS.Socket.socketMaster ] ProtocolSession [ name tcp use SSF.OS.TCP.tcpSessionMaster ] ProtocolSession [ name ip use SSF.OS.IP ] ] interface [ idrange [ from 0 to 3 ] ] ] host [ id 101 _extends .basic_host ] link [ attach 1(0) attach 101(0) delay 0.001 ] ]