Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

12/1/2016

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

You might also like