210 likes | 321 Vues
Explore the consequences of changing iBGP messages and the impact on routing stability. Learn why an AS should change iBGP attributes, detect oscillations, prevent instability, and evaluate tools for stability checking.
E N D
Doing Don’ts: Modifying BGP Attributeswithin an Autonomous System Luca Cittadini, Stefano Vissicchio, Giuseppe Di Battista Università degli Studi RomaTre IEEE/IFIP Network Operations and Management Symposium (NOMS) - April 2010
The Point ofViewofan AS eBGPpeeringstoexchange information on interdomain routing RouteReflectorhierarchy, to scale iBGP iBGPpeeringstodistributeeBGProuteswithinan AS BR2 BR1 AS X RR2 RR1
About The Role of iBGP • iBGP just propagateseBGProutesacross the AS • Typically, no policy isapplied in iBGP • Policies are appliedonly at the border • Best practices do notrecommendapplyingpolicies in iBGP • Research community oftenassumesthatiBGPmessages are leftuntouched ([Griffin02,Flavel08])
Our Contributions: Doing Don’ts • ConsequencesofchangingiBGPmessages are poorlyunderstood • whyan ISP should (not) modifyiBGPmessages? • whochangesiBGPattributes in the real world? • what are the consequences on iBGPstability? • technique and toolfordetectinginstabilities • how can an ISP changeiBGPattributeswithoutaffectingiBGPstability? • configurationguidelines
Why Should an AS Change iBGP attributes? • attributesinfluence the BGP decisionprocess • An ISP can useiBGPattributeschangingasanadditionalknobtobetterengineeritstraffic • recentCisco IOS releasesallowoperatorstopartiallymodify the decisionprocess
Simple Scenario eBGPannouncement AS-PATH YZD eBGPannouncement AS-PATH ABCD US EU AMS-IX PAIX AS X BR2 BR1 RR2 RR1
Simple Scenario eBGPannouncement AS-PATH YZD eBGPannouncement AS-PATH ABCD US EU iBGPattributes are notchangedbyany router AMS-IX PAIX all the trafficto AS D exitsfrom BR2 AS X BR2 BR1 traffic flow RR2 RR1
Simple Scenario eBGPannouncement AS-PATH YZD eBGPannouncement AS-PATH ABCD US EU AMS-IX PAIX ifmsgfrom BR2: set local-pref 120 ifmsgfrom BR1: set local-pref 120 AS X BR2 BR1 traffic flow traffic flow RR2 RR1
Who engineers iBGP in real world? routeswithdifferent AS-PATH length route-server.phx1>shipbgp 189.90.12.0/24 Paths: (4 available, best #1) 13878 15180 28189 28189 28189 28189, (received & used) 67.17.64.89 from 67.17.80.210 (67.17.80.210) Origin IGP, metric 0, localpref 300, valid, internal, best Community: 3549:4471 3549:30840 Originator: 67.17.81.221, Cluster list: 0.0.0.92 … 28189 28189 28189 28189 28189 28189 28189, (received & used) 67.17.64.89 from 67.17.82.40 (67.17.82.40) Origin IGP, metric 0, localpref 300, valid, internal Community: 3549:4950 3549:34076 Originator: 200.186.0.67, Cluster list: 0.0.2.109, 0.0.5.2 internal router
iBGP Attribute Changing in Internet • We estimated the number of ASes which exhibit simultaneously active routes having different AS-PATH length • conservative approach • dataset: RIBs from RIS and Routeviews (May 2009) • We found that 1,838ASes out of 32,066 (5.7%) change iBGP attributes
What Impact on Routing Stability? • Weuse a custom extensionof the StablePathProblem (SPP) frameworkas the model • anundirectedgraphrepresents (i)BGP peerings a single destinationprefixisoriginatedby 0 210 20 130 10 1 2 at eachnode, permittedpathstoreach the destinationprefix are specified permittedpaths are rankedaccordingto the BGP decisionprocess 0 0 eBGPpaths are collapsed in single edges 420 430 3 4 30
More Flexibility = More Instability • Theo: BGP configurationsthatallowiBGPattributechanging can generate a larger set ofoscillationsthan BGP configurationswhereiBGPattributes are notmodified. ifmsgfrom b2: set local-pref 120 ifmsgfrom b1: set local-pref 120 b1 b2 0 b1 0 b2 b1 0 b2 0 b1 b2 AS A b1 b2 0 0
Detecting Oscillations • We propose a techniquetoautomaticallycheckiBGPconfigurationforroutingstability • Known detection techniques assume thatiBGPattributes are leftunchanged [Flavel08] • ConvenientlytranslatinganiBGPconfigurationintoan SPP instanceallowsustocheckforstabilityevenwheniBGPattributes are changed • The SPP instanceisthencheckedwith a knownpolynomialheuristicalgorithm [Cittadini08]
A Stability Checker Tool • Webuilt and evaluated a prototypetoolabletocheckiBGPconfigurationsforstability
Evaluation of the Tool • Weevaluated the stabilitychecker on bothsynthetic and real-worldconfigurations • in-vitroconfigurationswith up to 1100 iBGPspeakingrouters • threeroutereflectionlevels • 20 eBGProutesinjected • real-worldconfigurationof a medium-sizedItalian ISP forall the prefixes in the full RIB • the entire test takesonlyfewminutes
How Can We Prevent Oscillations? • More flexibilityimpliesincreasedinstability • challenge: changeiBGPattributes • with profit • withoutaffectingroutingstability • requiringlow management complexity • Weprovidetwoconfigurationguidelines • twomainhigh-levelrequirements • routesshouldberankedaccordingtorevenues and costs [GaoRexford00] • internaltransitcostshouldbeminimized
Configuration Guidelines Guideline A.EveryiBGP speaker assignstoeach route a local-preferencevaluesuchthat • LPcust > LPpeer > LPprov configurationisrobusttoexternalfactors routes are rankedaccordingto the commercial relationshipsbetweenASes • Guideline B.Routereflectorsprefer the routes • propagatedfromtheirownclients • LPcust-client> LPcust-non-client > LPpeer-client> LPpeer-non-client internaltransitisminimizedwhilerespectingpoliciesfor commercial relationships Wealsoformallyprovedthattheseguidelines guaranteeroutingstability Tokeep management complexity low, the community attribute can beusedas a tag and the valueof the local-preferenceattribute can bechangedaccordingtotags
Conclusions • Weexplored the possibilityofchangingattributes in iBGP, evaluatingpros
Conclusions • Weexplored the possibilityofchangingattributes in iBGP, evaluatingpros and cons
Thank You! • Questions?