Professional Documents
Culture Documents
Border Gateway Protocol
Border Gateway Protocol
BorderGatewayProtocolWikipedia
BorderGatewayProtocol
FromWikipedia,thefreeencyclopedia
BorderGatewayProtocol(BGP)isastandardizedexteriorgatewayprotocoldesignedtoexchangeroutingand
reachabilityinformationamongautonomoussystems(AS)ontheInternet.[1]Theprotocolisoftenclassifiedasa
pathvectorprotocolbutissometimesalsoclassedasadistancevectorroutingprotocol.TheBorderGateway
Protocolmakesroutingdecisionsbasedonpaths,networkpolicies,orrulesetsconfiguredbyanetwork
administratorandisinvolvedinmakingcoreroutingdecisions.
BGPmaybeusedforroutingwithinanautonomoussystem.InthisapplicationitisreferredtoasInteriorBorder
GatewayProtocol,InternalBGP,oriBGP.Incontrast,theInternetapplicationoftheprotocolmaybereferredtoas
ExteriorBorderGatewayProtocol,ExternalBGP,oreBGP.
Contents
1 Currentversion
2 Uses
3 Operation
3.1 Extensionsnegotiation
3.2 Finitestatemachines
4 BGProuterconnectivityandlearningroutes
4.1 Basicupdateprocessing
4.2 Routeselection
4.2.1 Perneighbordecisions
4.2.2 DecisionfactorsattheLocRIBlevel
4.3 Communities
4.4 Extendedcommunities
4.5 Usesofmultiexitdiscriminators
4.6 MultipathBGP
5 Messageheaderformat
6 BGPproblemsandmitigation
6.1 InternalBGPscalability
6.2 Instability
6.3 Routingtablegrowth
6.4 Loadbalancingproblem
6.5 Securityissues
7 RequirementsofarouterforuseofBGPforInternetandbackboneofbackbonespurposes
8 MultiprotocolExtensionsforBGP(MBGP)
9 Freeandopensourceimplementations
10 Simulators
11 Testequipment
12 Seealso
13 References
14 Furtherreading
15 KeyBGPRFCs
16 Externallinks
Currentversion
https://en.wikipedia.org/wiki/Border_Gateway_Protocol
1/15
12/1/2016
BorderGatewayProtocolWikipedia
ThecurrentversionofBGPisversion4(BGP4orBGP4)codifiedinRFC4271since2006.Earlyversionsofthe
protocolarewidelyconsideredobsoleteandarerarelysupported.[2]RFC4271,whichwentthroughmorethan20
drafts,isbasedontheearlierRFC1771version4.TheRFC4271versioncorrectedanumberoferrors,clarified
ambiguitiesandbroughttheRFCmuchclosertoindustrypractices.Version4ofBGPhasbeeninuseonthe
Internetsince1994.Themajorenhancementinversion4wassupportforClasslessInterDomainRoutinganduse
ofrouteaggregationtodecreasethesizeofroutingtables.
Uses
MostInternetserviceprovidersmustuseBGPtoestablishroutingbetweenoneanother(especiallyiftheyare
multihomed).ComparethiswithSignalingSystem7(SS7),whichistheinterprovidercorecallsetupprotocolon
thePSTN.
VerylargeprivateIPnetworksuseBGPinternally.AnexamplewouldbethejoiningofanumberoflargeOSPF
(OpenShortestPathFirst)networkswhereOSPFbyitselfwouldnotscaletosize.AnotherreasontouseBGPis
multihominganetworkforbetterredundancy,eithertomultipleaccesspointsofasingleISPortomultipleISPs.
Operation
BGPneighbors,calledpeers,areestablishedbymanualconfigurationbetweenrouterstocreateaTCPsessionon
port179.ABGPspeakersends19bytekeepalivemessagesevery60seconds[3]tomaintaintheconnection.[4]
Amongroutingprotocols,BGPisuniqueinusingTCPasitstransportprotocol.
WhenBGPrunsbetweentwopeersinthesameautonomoussystem(AS),itisreferredtoasInternalBGP(iBGP
orInteriorBorderGatewayProtocol).Whenitrunsbetweendifferentautonomoussystems,itiscalledExternal
BGP(eBGPorExteriorBorderGatewayProtocol).RoutersontheboundaryofoneASexchanginginformation
withanotherASarecalledborderoredgeroutersorsimplyeBGPpeersandaretypicallyconnecteddirectly,
whileiBGPpeerscanbeinterconnectedthroughotherintermediaterouters.Otherdeploymenttopologiesarealso
possible,suchasrunningeBGPpeeringinsideaVPNtunnel,allowingtworemotesitestoexchangerouting
informationinasecureandisolatedmanner.ThemaindifferencebetweeniBGPandeBGPpeeringisintheway
routesthatwerereceivedfromonepeerarepropagatedtootherpeers.Forinstance,newrouteslearnedfroman
eBGPpeeraretypicallyredistributedtoalliBGPpeersaswellasallothereBGPpeers(iftransitmodeisenabled
ontherouter).However,ifnewroutesarelearnedonaniBGPpeering,thentheyarereadvertisedonlytoall
eBGPpeers.TheseroutepropagationruleseffectivelyrequirethatalliBGPpeersinsideanASareinterconnected
inafullmesh.
Filteringrouteslearnedfrompeers,theirtransformationbeforeredistributiontopeersorbeforeplumbingthem
intotheroutingtableistypicallycontrolledviaroutemapsmechanism.Thesearebasicallyruleswhichallowthe
applicationofcertainactionstoroutesmatchingcertaincriteriaoneitheringressoregresspath.Theserulescan
specifythattherouteistobedroppedor,alternatively,itsattributesaretobemodified.Itisusuallythe
responsibilityoftheASadministratortoprovidethedesiredroutemapconfigurationonaroutersupportingBGP.
Extensionsnegotiation
Duringthepeeringhandshake,whenOPENmessagesareexchanged,BGPspeakerscannegotiate[5]optional
capabilitiesofthesession,includingmultiprotocolextensionsandvariousrecoverymodes.Ifthemultiprotocol
extensionstoBGP[6]arenegotiatedatthetimeofcreation,theBGPspeakercanprefixtheNetworkLayer
https://en.wikipedia.org/wiki/Border_Gateway_Protocol
2/15