Date post: | 05-Apr-2018 |
Category: |
Documents |
Upload: | cecilia-voinea |
View: | 215 times |
Download: | 0 times |
of 58
7/31/2019 mpls rfc
1/58
[Docs][txt|pdf][draft-ietf-mpls-arch][Diff1][Diff2][Errata]Updatedby:6178PROPOSEDSTANDARDErrataExistNetwor
Wor
ingGroupE.RosenRequestforComments:3031CiscoSystems,Inc.Category:StandardsTrac
A.ViswanathanForce10Networ s,Inc.R.CallonJuniperNetwor s,Inc.January2001
MultiprotocolLabelSwitchingArchitecture
StatusofthisMemo
ThisdocumentspecifiesanInternetstandardstrac protocolfortheInternetcommunity,andrequestsdiscussionandsuggestionsforimprovements.Pleaserefertothecurrenteditionofthe"InternetOfficialProtocolStandards"(STD1)forthestandardizationstateandstatusofthisprotocol.Distributionofthismemoisunlimited.
CopyrightNotice
Copyright(C)TheInternetSociety(2001).AllRightsReserved.
Abstract
ThisdocumentspecifiesthearchitectureforMultiprotocolLabelSwitching(MPLS).
TableofContents
1Specification......................................32IntroductiontoMPLS...............................3
2.1Overview...........................................42.2Terminology........................................62.3AcronymsandAbbreviations.........................92.4Ac
nowledgments....................................93MPLSBasics........................................93.1Labels.............................................93.2UpstreamandDownstreamLSRs.......................103.3LabeledPac
et.....................................113.4LabelAssignmentandDistribution..................113.5AttributesofaLabelBinding......................113.6LabelDistributionProtocols.......................113.7UnsolicitedDownstreamvs.Downstream-on-Demand....123.8LabelRetentionMode...............................12
3.9TheLabelStac
....................................133.10TheNextHopLabelForwardingEntry(NHLFE)........133.11IncomingLabelMap(ILM)...........................14
Rosen,etal.StandardsTrac
[Page1]RFC3031MPLSArchitectureJanuary2001
7/31/2019 mpls rfc
2/58
3.12FEC-to-NHLFEMap(FTN).............................143.13LabelSwapping.....................................153.14ScopeandUniquenessofLabels.....................153.15LabelSwitchedPath(LSP),LSPIngress,LSPEgress.163.16PenultimateHopPopping............................183.17LSPNextHop.......................................203.18InvalidIncomingLabels............................203.19LSPControl:OrderedversusIndependent............203.20Aggregation........................................213.21RouteSelection....................................233.22Lac
ofOutgoingLabel.............................243.23Time-to-Live(TTL).................................243.24LoopControl.......................................253.25LabelEncodings....................................263.25.1MPLS-specificHardwareand/orSoftware.............263.25.2ATMSwitchesasLSRs...............................263.25.3InteroperabilityamongEncodingTechniques.........283.26LabelMerging......................................283.26.1Non-mergingLSRs...................................293.26.2LabelsforMergingandNon-MergingLSRs............303.26.3MergeoverATM.....................................313.26.3.1MethodsofEliminatingCellInterleave.............313.26.3.2Interoperation:VCMerge,VPMerge,andNon-Merge..31
3.27TunnelsandHierarchy..............................323.27.1Hop-by-HopRoutedTunnel...........................323.27.2ExplicitlyRoutedTunnel...........................333.27.3LSPTunnels........................................333.27.4Hierarchy:LSPTunnelswithinLSPs.................333.27.5LabelDistributionPeeringandHierarchy...........343.28LabelDistributionProtocolTransport..............353.29WhyMorethanoneLabelDistributionProtocol?.....363.29.1BGPandLDP........................................363.29.2LabelsforRSVPFlowspecs..........................363.29.3LabelsforExplicitlyRoutedLSPs..................363.30Multicast..........................................374SomeApplicationsofMPLS..........................37
4.1MPLSandHopbyHopRoutedTraffic.................374.1.1LabelsforAddressPrefixes........................374.1.2DistributingLabelsforAddressPrefixes...........374.1.2.1LabelDistributionPeersforanAddressPrefix.....374.1.2.2DistributingLabels................................384.1.3UsingtheHopbyHoppathastheLSP...............394.1.4LSPEgressandLSPProxyEgress....................394.1.5TheImplicitNULLLabel............................404.1.6Option:Egress-TargetedLabelAssignment...........404.2MPLSandExplicitlyRoutedLSPs....................424.2.1ExplicitlyRoutedLSPTunnels......................424.3LabelStac
sandImplicitPeering..................43
Rosen,etal.StandardsTrac
[Page2]RFC3031MPLSArchitectureJanuary2001
4.4MPLSandMulti-PathRouting........................444.5LSPTreesasMultipoint-to-PointEntities..........444.6LSPTunnelingbetweenBGPBorderRouters...........45
7/31/2019 mpls rfc
3/58
4.7OtherUsesofHop-by-HopRoutedLSPTunnels........474.8MPLSandMulticast.................................475LabelDistributionProcedures(Hop-by-Hop).........475.1TheProceduresforAdvertisingandUsinglabels....485.1.1DownstreamLSR:DistributionProcedure.............485.1.1.1PushUnconditional..................................495.1.1.2PushConditional....................................495.1.1.3PulledUnconditional................................495.1.1.4PulledConditional..................................505.1.2UpstreamLSR:RequestProcedure....................515.1.2.1RequestNever.......................................515.1.2.2RequestWhenNeeded..................................515.1.2.3RequestOnRequest...................................515.1.3UpstreamLSR:NotAvailableProcedure...............525.1.3.1RequestRetry.......................................525.1.3.2RequestNoRetry.....................................525.1.4UpstreamLSR:ReleaseProcedure....................525.1.4.1ReleaseOnChange....................................525.1.4.2NoReleaseOnChange..................................535.1.5UpstreamLSR:labelUseProcedure...................535.1.5.1UseImmediate.......................................535.1.5.2UseIfLoopNotDetected...............................535.1.6DownstreamLSR:WithdrawProcedure.................535.2MPLSSchemes:SupportedCombinationsofProcedures.54
5.2.1SchemesforLSRsthatSupportLabelMerging........555.2.2SchemesforLSRsthatdonotSupportLabelMerging.565.2.3InteroperabilityConsiderations....................576SecurityConsiderations............................587IntellectualProperty..............................588Authors'Addresses.................................599References.........................................5910FullCopyrightStatement...........................61
1.Specification
The eywords"MUST","MUSTNOT","REQUIRED","SHALL","SHALLNOT","SHOULD","SHOULDNOT","RECOMMENDED","MAY",and"OPTIONAL"inthis
documentaretobeinterpretedasdescribedinRFC2119.
2.IntroductiontoMPLS
ThisdocumentspecifiesthearchitectureforMultiprotocolLabelSwitching(MPLS).
NotethattheuseofMPLSformulticastisleftforfurtherstudy.
Rosen,etal.StandardsTrac
[Page3]
RFC3031MPLSArchitectureJanuary2001
2.1.Overview
Asapac etofaconnectionlessnetwor layerprotocoltravelsfromoneroutertothenext,eachrouterma
esanindependentforwardingdecisionforthatpac et.Thatis,eachrouteranalyzesthepac et'sheader,andeachrouterrunsanetwor layerroutingalgorithm.Eachrouterindependentlychoosesanexthopforthepac et,basedonits
7/31/2019 mpls rfc
4/58
analysisofthepac et'sheaderandtheresultsofrunningtheroutingalgorithm.
Pac etheaderscontainconsiderablymoreinformationthanisneededsimplytochoosethenexthop.Choosingthenexthopcanthereforebethoughtofasthecompositionoftwofunctions.Thefirstfunctionpartitionstheentiresetofpossiblepac etsintoasetof"ForwardingEquivalenceClasses(FECs)".ThesecondmapseachFECtoanexthop.Insofarastheforwardingdecisionisconcerned,differentpac
etswhichgetmappedintothesameFECareindistinguishable.Allpac etswhichbelongtoaparticularFECandwhichtravelfromaparticularnodewillfollowthesamepath(orifcertain indsofmulti-pathroutingareinuse,theywillallfollowoneofasetofpathsassociatedwiththeFEC).
InconventionalIPforwarding,aparticularrouterwilltypicallyconsidertwopac etstobeinthesameFECifthereissomeaddressprefixXinthatrouter'sroutingtablessuchthatXisthe"longestmatch"foreachpac et'sdestinationaddress.Asthepac ettraversesthenetwor ,eachhopinturnreexaminesthepac etandassignsittoaFEC.
InMPLS,theassignmentofaparticularpac ettoaparticularFECisdonejustonce,asthepac etentersthenetwor .TheFECtowhich
thepac
etisassignedisencodedasashortfixedlengthvalue
nownasa"label".Whenapac etisforwardedtoitsnexthop,thelabelissentalongwithit;thatis,thepac etsare"labeled"beforetheyareforwarded.
Atsubsequenthops,thereisnofurtheranalysisofthepac et'snetwor layerheader.Rather,thelabelisusedasanindexintoatablewhichspecifiesthenexthop,andanewlabel.Theoldlabelisreplacedwiththenewlabel,andthepac etisforwardedtoitsnexthop.
IntheMPLSforwardingparadigm,onceapac etisassignedtoaFEC,nofurtherheaderanalysisisdonebysubsequentrouters;all
forwardingisdrivenbythelabels.Thishasanumberofadvantagesoverconventionalnetwor layerforwarding.
Rosen,etal.StandardsTrac
[Page4]RFC3031MPLSArchitectureJanuary2001
-MPLSforwardingcanbedonebyswitcheswhicharecapableof
doinglabelloo
upandreplacement,butareeithernotcapableofanalyzingthenetwor layerheaders,orarenotcapableofanalyzingthenetwor
layerheadersatadequatespeed.
-Sinceapac etisassignedtoaFECwhenitentersthenetwor ,theingressroutermayuse,indeterminingtheassignment,anyinformationithasaboutthepac
et,evenifthatinformationcannotbegleanedfromthenetwor layerheader.Forexample,pac etsarrivingondifferentportsmaybeassignedtodifferentFECs.Conventionalforwarding,ontheotherhand,
7/31/2019 mpls rfc
5/58
canonlyconsiderinformationwhichtravelswiththepac etinthepac
etheader.
-Apac etthatentersthenetwor ataparticularroutercanbelabeleddifferentlythanthesamepac etenteringthenetworatadifferentrouter,andasaresultforwardingdecisionsthatdependontheingressroutercanbeeasilymade.Thiscannotbedonewithconventionalforwarding,sincetheidentityofapac et'singressrouterdoesnottravelwiththepac et.
-Theconsiderationsthatdeterminehowapac etisassignedtoaFECcanbecomeevermoreandmorecomplicated,withoutanyimpactatallontheroutersthatmerelyforwardlabeledpac
ets.
-Sometimesitisdesirabletoforceapac
ettofollowaparticularroutewhichisexplicitlychosenatorbeforethetimethepac etentersthenetwor ,ratherthanbeingchosenbythenormaldynamicroutingalgorithmasthepac ettravelsthroughthenetwor .Thismaybedoneasamatterofpolicy,ortosupporttrafficengineering.Inconventionalforwarding,thisrequiresthepac ettocarryanencodingofitsroutealongwithit("sourcerouting").InMPLS,alabelcanbeusedtorepresenttheroute,sothattheidentityoftheexplicit
routeneednotbecarriedwiththepac
et.
Someroutersanalyzeapac et'snetwor layerheadernotmerelytochoosethepac et'snexthop,butalsotodetermineapac et's"precedence"or"classofservice".Theymaythenapplydifferentdiscardthresholdsorschedulingdisciplinestodifferentpac ets.MPLSallows(butdoesnotrequire)theprecedenceorclassofservicetobefullyorpartiallyinferredfromthelabel.Inthiscase,onemaysaythatthelabelrepresentsthecombinationofaFECandaprecedenceorclassofservice.
Rosen,etal.StandardsTrac
[Page5]RFC3031MPLSArchitectureJanuary2001
MPLSstandsfor"Multiprotocol"LabelSwitching,multiprotocolbecauseitstechniquesareapplicabletoANYnetwor layerprotocol.Inthisdocument,however,wefocusontheuseofIPasthenetworlayerprotocol.
ArouterwhichsupportsMPLSis
nownasa"LabelSwitchingRouter",orLSR.
2.2.Terminology
Thissectiongivesageneralconceptualoverviewofthetermsusedinthisdocument.Someofthesetermsaremorepreciselydefinedinlatersectionsofthedocument.
DLCIalabelusedinFrameRelaynetwor sto
7/31/2019 mpls rfc
6/58
identifyframerelaycircuits
forwardingequivalenceclassagroupofIPpac etswhichareforwardedinthesamemanner(e.g.,overthesamepath,withthesameforwardingtreatment)
framemergelabelmerging,whenitisappliedtooperationoverframebasedmedia,sothatthepotentialproblemofcellinterleaveisnotanissue.
labelashortfixedlengthphysicallycontiguousidentifierwhichisusedtoidentifyaFEC,usuallyoflocalsignificance.
labelmergingthereplacementofmultipleincominglabelsforaparticularFECwithasingleoutgoinglabel
labelswapthebasicforwardingoperationconsistingofloo ingupanincoming
labeltodeterminetheoutgoinglabel,encapsulation,port,andotherdatahandlinginformation.
labelswappingaforwardingparadigmallowingstreamlinedforwardingofdatabyusinglabelstoidentifyclassesofdatapac etswhicharetreatedindistinguishablywhenforwarding.
Rosen,etal.StandardsTrac [Page6]
RFC3031MPLSArchitectureJanuary2001
labelswitchedhopthehopbetweentwoMPLSnodes,onwhichforwardingisdoneusinglabels.
labelswitchedpathThepaththroughoneormoreLSRsatonelevelofthehierarchyfollowedbyapac etsinaparticularFEC.
labelswitchingrouteranMPLSnodewhichiscapableofforwardingnativeL3pac ets
layer2theprotocollayerunderlayer3(whichthereforeofferstheservicesusedbylayer3).Forwarding,whendonebytheswappingofshortfixedlengthlabels,occursatlayer2regardlessofwhetherthelabelbeingexaminedisanATMVPI/VCI,aframerelayDLCI,oranMPLSlabel.
7/31/2019 mpls rfc
7/58
layer3theprotocollayeratwhichIPanditsassociatedroutingprotocolsoperatelin layersynonymouswithlayer2
loopdetectionamethodofdealingwithloopsinwhichloopsareallowedtobesetup,anddatamaybetransmittedovertheloop,buttheloopislaterdetected
looppreventionamethodofdealingwithloopsinwhichdataisnevertransmittedoveraloop
labelstac anorderedsetoflabels
mergepointanodeatwhichlabelmergingisdone
MPLSdomainacontiguoussetofnodeswhichoperateMPLSroutingandforwardingandwhicharealsoinoneRoutingorAdministrativeDomain
MPLSedgenodeanMPLSnodethatconnectsanMPLSdomainwithanodewhichisoutsideofthedomain,eitherbecauseitdoesnot
runMPLS,and/orbecauseitisinadifferentdomain.NotethatifanLSRhasaneighboringhostwhichisnotrunningMPLS,thatthatLSRisanMPLSedgenode.
Rosen,etal.StandardsTrac [Page7]RFC3031MPLSArchitectureJanuary2001
MPLSegressnodeanMPLSedgenodeinitsroleinhandlingtrafficasitleavesanMPLSdomain
MPLSingressnodeanMPLSedgenodeinitsroleinhandlingtrafficasitentersanMPLSdomain
MPLSlabelalabelwhichiscarriedinapac etheader,andwhichrepresentsthepac et'sFEC
MPLSnodeanodewhichisrunningMPLS.AnMPLS
nodewillbeawareofMPLScontrolprotocols,willoperateoneormoreL3routingprotocols,andwillbecapableofforwardingpac etsbasedonlabels.AnMPLSnodemayoptionallybealsocapableofforwardingnativeL3pac ets.
MultiProtocolLabelSwitchinganIETFwor inggroupandtheeffortassociatedwiththewor inggroup
7/31/2019 mpls rfc
8/58
networ
layersynonymouswithlayer3
stac synonymouswithlabelstac
switchedpathsynonymouswithlabelswitchedpath
virtualcircuitacircuitusedbyaconnection-orientedlayer2technologysuchasATMorFrameRelay,requiringthemaintenanceofstateinformationinlayer2switches.
VCmergelabelmergingwheretheMPLSlabeliscarriedintheATMVCIfield(orcombinedVPI/VCIfield),soastoallowmultipleVCstomergeintoonesingleVC
VPmergelabelmergingwheretheMPLSlabeliscarrieddintheATMVPIfield,soastoallowmultipleVPstobemergedintoonesingleVP.InthiscasetwocellswouldhavethesameVCIvalueonlyiftheyoriginatedfromthesamenode.Thisallowscellsfromdifferentsourcesto
bedistinguishedviatheVCI.
Rosen,etal.StandardsTrac [Page8]RFC3031MPLSArchitectureJanuary2001
VPI/VCIalabelusedinATMnetwor stoidentifycircuits
2.3.AcronymsandAbbreviations
ATMAsynchronousTransferModeBGPBorderGatewayProtocolDLCIDataLin
CircuitIdentifierFECForwardingEquivalenceClassFTNFECtoNHLFEMapIGPInteriorGatewayProtocolILMIncomingLabelMapIPInternetProtocolLDPLabelDistributionProtocolL2Layer2L3Layer3LSPLabelSwitchedPathLSRLabelSwitchingRouter
MPLSMultiProtocolLabelSwitchingNHLFENextHopLabelForwardingEntrySVCSwitchedVirtualCircuitSVPSwitchedVirtualPathTTLTime-To-LiveVCVirtualCircuitVCIVirtualCircuitIdentifierVPVirtualPathVPIVirtualPathIdentifier
7/31/2019 mpls rfc
9/58
2.4.Ac nowledgments
Theideasandtextinthisdocumenthavebeencollectedfromanumberofsourcesandcommentsreceived.Wewouldli etothan RicBoivie,PaulDoolan,NancyFeldman,Ya ovRe hter,VijaySrinivasan,andGeorgeSwallowfortheirinputsandideas.
3.MPLSBasics
Inthissection,weintroducesomeofthebasicconceptsofMPLSanddescribethegeneralapproachtobeused.
3.1.Labels
Alabelisashort,fixedlength,locallysignificantidentifierwhichisusedtoidentifyaFEC.Thelabelwhichisputonaparticularpac etrepresentstheForwardingEquivalenceClasstowhichthatpac etisassigned.
Rosen,etal.StandardsTrac
[Page9]RFC3031MPLSArchitectureJanuary2001
Mostcommonly,apac etisassignedtoaFECbased(completelyorpartially)onitsnetwor layerdestinationaddress.However,thelabelisneveranencodingofthataddress.
IfRuandRdareLSRs,theymayagreethatwhenRutransmitsapac ettoRd,Ruwilllabelwithpac etwithlabelvalueLifandonlyifthepac etisamemberofaparticularFECF.Thatis,theycanagreetoa"binding"betweenlabelLandFECFforpac etsmoving
fromRutoRd.Asaresultofsuchanagreement,LbecomesRu's"outgoinglabel"representingFECF,andLbecomesRd's"incominglabel"representingFECF.
NotethatLdoesnotnecessarilyrepresentFECFforanypac etsotherthanthosewhicharebeingsentfromRutoRd.LisanarbitraryvaluewhosebindingtoFislocaltoRuandRd.
Whenwespea aboveofpac ets"beingsent"fromRutoRd,wedonotimplyeitherthatthepac etoriginatedatRuorthatitsdestinationisRd.Rather,wemeantoincludepac etswhichare"transitpac
ets"atoneorbothoftheLSRs.
SometimesitmaybedifficultorevenimpossibleforRdtotell,ofanarrivingpac etcarryinglabelL,thatthelabelLwasplacedinthepac
etbyRu,ratherthanbysomeotherLSR.(ThiswilltypicallybethecasewhenRuandRdarenotdirectneighbors.)Insuchcases,Rdmustma esurethatthebindingfromlabeltoFECisone-to-one.Thatis,RdMUSTNOTagreewithRu1tobindLtoFECF1,whilealsoagreeingwithsomeotherLSRRu2tobindLtoadifferentFECF2,UNLESSRdcanalwaystell,whenitreceivesapac etwithincominglabelL,whetherthelabelwasputonthepac etbyRu1orwhetheritwasputonbyRu2.
7/31/2019 mpls rfc
10/58
ItistheresponsibilityofeachLSRtoensurethatitcanuniquelyinterpretitsincominglabels.
3.2.UpstreamandDownstreamLSRs
SupposeRuandRdhaveagreedtobindlabelLtoFECF,forpac etssentfromRutoRd.Thenwithrespecttothisbinding,Ruisthe"upstreamLSR",andRdisthe"downstreamLSR".
TosaythatonenodeisupstreamandoneisdownstreamwithrespecttoagivenbindingmeansonlythataparticularlabelrepresentsaparticularFECinpac etstravellingfromtheupstreamnodetothedownstreamnode.ThisisNOTmeanttoimplythatpac
etsinthatFECwouldactuallyberoutedfromtheupstreamnodetothedownstreamnode.
Rosen,etal.StandardsTrac [Page10]RFC3031MPLSArchitectureJanuary2001
3.3.LabeledPac et
A"labeledpac et"isapac etintowhichalabelhasbeenencoded.Insomecases,thelabelresidesinanencapsulationheaderwhichexistsspecificallyforthispurpose.Inothercases,thelabelmayresideinanexistingdatalin ornetwor layerheader,aslongasthereisafieldwhichisavailableforthatpurpose.Theparticularencodingtechniquetobeusedmustbeagreedtobyboththeentitywhichencodesthelabelandtheentitywhichdecodesthelabel.
3.4.LabelAssignmentandDistribution
IntheMPLSarchitecture,thedecisiontobindaparticularlabelLtoaparticularFECFismadebytheLSRwhichisDOWNSTREAMwithrespecttothatbinding.ThedownstreamLSRtheninformstheupstreamLSRofthebinding.Thuslabelsare"downstream-assigned",andlabelbindingsaredistributedinthe"downstreamtoupstream"direction.
IfanLSRhasbeendesignedsothatitcanonlyloo
uplabelsthatfallintoacertainnumericrange,thenitmerelyneedstoensurethatitonlybindslabelsthatareinthatrange.
3.5.AttributesofaLabelBinding
AparticularbindingoflabelLtoFECF,distributedbyRdtoRu,mayhaveassociated"attributes".IfRu,actingasadownstreamLSR,alsodistributesabindingofalabeltoFECF,thenundercertainconditions,itmayberequiredtoalsodistributethecorrespondingattributethatitreceivedfromRd.
3.6.LabelDistributionProtocols
AlabeldistributionprotocolisasetofproceduresbywhichoneLSRinformsanotherofthelabel/FECbindingsithasmade.TwoLSRs
7/31/2019 mpls rfc
11/58
whichusealabeldistributionprotocoltoexchangelabel/FECbindinginformationare
nownas"labeldistributionpeers"withrespecttothebindinginformationtheyexchange.IftwoLSRsarelabeldistributionpeers,wewillspea oftherebeinga"labeldistributionadjacency"betweenthem.
(N.B.:twoLSRsmaybelabeldistributionpeerswithrespecttosomesetofbindings,butnotwithrespecttosomeothersetofbindings.)
Thelabeldistributionprotocolalsoencompassesanynegotiationsinwhichtwolabeldistributionpeersneedtoengageinordertolearnofeachother'sMPLScapabilities.
Rosen,etal.StandardsTrac [Page11]RFC3031MPLSArchitectureJanuary2001
THEARCHITECTUREDOESNOTASSUMETHATTHEREISONLYASINGLELABELDISTRIBUTIONPROTOCOL.Infact,anumberofdifferentlabeldistributionprotocolsarebeingstandardized.Existingprotocols
havebeenextendedsothatlabeldistributioncanbepiggybac
edonthem(see,e.g.,[MPLS-BGP],[MPLS-RSVP-TUNNELS]).Newprotocolshavealsobeendefinedfortheexplicitpurposeofdistributinglabels(see,e.g.,[MPLS-LDP],[MPLS-CR-LDP].
Inthisdocument,wetrytousetheacronym"LDP"toreferspecificallytotheprotocoldefinedin[MPLS-LDP];whenspea ingoflabeldistributionprotocolsingeneral,wetrytoavoidtheacronym.
3.7.UnsolicitedDownstreamvs.Downstream-on-Demand
TheMPLSarchitectureallowsanLSRtoexplicitlyrequest,fromitsnexthopforaparticularFEC,alabelbindingforthatFEC.Thisis
nownas"downstream-on-demand"labeldistribution.
TheMPLSarchitecturealsoallowsanLSRtodistributebindingstoLSRsthathavenotexplicitlyrequestedthem.Thisis
nownas"unsoliciteddownstream"labeldistribution.
ItisexpectedthatsomeMPLSimplementationswillprovideonlydownstream-on-demandlabeldistribution,andsomewillprovideonlyunsoliciteddownstreamlabeldistribution,andsomewillprovideboth.Whichisprovidedmaydependonthecharacteristicsoftheinterfaceswhicharesupportedbyaparticularimplementation.However,bothoftheselabeldistributiontechniquesmaybeusedinthesamenetwor atthesametime.Onanygivenlabeldistribution
adjacency,theupstreamLSRandthedownstreamLSRmustagreeonwhichtechniqueistobeused.
3.8.LabelRetentionMode
AnLSRRumayreceive(orhavereceived)alabelbindingforaparticularFECfromanLSRRd,eventhoughRdisnotRu'snexthop(orisnolongerRu'snexthop)forthatFEC.
Ruthenhasthechoiceofwhetherto eeptrac ofsuchbindings,or
7/31/2019 mpls rfc
12/58
whethertodiscardsuchbindings.IfRu eepstrac ofsuchbindings,thenitmayimmediatelybeginusingthebindingagainifRdeventuallybecomesitsnexthopfortheFECinquestion.IfRudiscardssuchbindings,thenifRdlaterbecomesthenexthop,thebindingwillhavetobereacquired.
Rosen,etal.StandardsTrac [Page12]RFC3031MPLSArchitectureJanuary2001
IfanLSRsupports"LiberalLabelRetentionMode",itmaintainsthebindingsbetweenalabelandaFECwhicharereceivedfromLSRswhicharenotitsnexthopforthatFEC.IfanLSRsupports"ConservativeLabelRetentionMode",itdiscardssuchbindings.
Liberallabelretentionmodeallowsforquic eradaptationtoroutingchanges,butconservativelabelretentionmodethoughrequiresanLSR
tomaintainmanyfewerlabels.
3.9.TheLabelStac
Sofar,wehavespo enasifalabeledpac etcarriesonlyasinglelabel.Asweshallsee,itisusefultohaveamoregeneralmodelinwhichalabeledpac etcarriesanumberoflabels,organizedasalast-in,first-outstac .Werefertothisasa"labelstac ".
Although,asweshallsee,MPLSsupportsahierarchy,theprocessingofalabeledpac etiscompletelyindependentofthelevelofhierarchy.Theprocessingisalwaysbasedonthetoplabel,withoutregardforthepossibilitythatsomenumberofotherlabelsmayhave
been"aboveit"inthepast,orthatsomenumberofotherlabelsmaybebelowitatpresent.
Anunlabeledpac
etcanbethoughtofasapac
etwhoselabelstac
isempty(i.e.,whoselabelstac hasdepth0).
Ifapac et'slabelstac isofdepthm,werefertothelabelatthebottomofthestac
asthelevel1label,tothelabelaboveit(ifsuchexists)asthelevel2label,andtothelabelatthetopofthestac asthelevelmlabel.
Theutilityofthelabelstac
willbecomeclearwhenweintroducethenotionofLSPTunnelandtheMPLSHierarchy(section3.27).
3.10.TheNextHopLabelForwardingEntry(NHLFE)
The"NextHopLabelForwardingEntry"(NHLFE)isusedwhenforwardingalabeledpac et.Itcontainsthefollowinginformation:
1.thepac
et'snexthop
2.theoperationtoperformonthepac et'slabelstac ;thisisoneofthefollowingoperations:
7/31/2019 mpls rfc
13/58
a)replacethelabelatthetopofthelabelstac
withaspecifiednewlabel
b)popthelabelstac
Rosen,etal.StandardsTrac [Page13]RFC3031MPLSArchitectureJanuary2001
c)replacethelabelatthetopofthelabelstac
withaspecifiednewlabel,andthenpushoneormorespecifiednewlabelsontothelabelstac
.
Itmayalsocontain:
d)thedatalin encapsulationtousewhentransmittingthepac et
e)thewaytoencodethelabelstac whentransmittingthepac et
f)anyotherinformationneededinordertoproperlydisposeof
thepac
et.
NotethatatagivenLSR,thepac et's"nexthop"mightbethatLSRitself.Inthiscase,theLSRwouldneedtopopthetoplevellabel,andthen"forward"theresultingpac ettoitself.Itwouldthenma eanotherforwardingdecision,basedonwhatremainsafterthelabelstac edispopped.Thismaystillbealabeledpac et,oritmaybethenativeIPpac et.
ThisimpliesthatinsomecasestheLSRmayneedtooperateontheIPheaderinordertoforwardthepac et.
Ifthepac et's"nexthop"isthecurrentLSR,thenthelabelstac
operationMUSTbeto"popthestac
".
3.11.IncomingLabelMap(ILM)
The"IncomingLabelMap"(ILM)mapseachincominglabeltoasetofNHLFEs.Itisusedwhenforwardingpac etsthatarriveaslabeledpac ets.
IftheILMmapsaparticularlabeltoasetofNHLFEsthatcontainsmorethanoneelement,exactlyoneelementofthesetmustbechosenbeforethepac etisforwarded.Theproceduresforchoosinganelementfromthesetarebeyondthescopeofthisdocument.HavingtheILMmapalabeltoasetcontainingmorethanoneNHLFEmaybe
usefulif,e.g.,itisdesiredtodoloadbalancingovermultipleequal-costpaths.
3.12.FEC-to-NHLFEMap(FTN)
The"FEC-to-NHLFE"(FTN)mapseachFECtoasetofNHLFEs.Itisusedwhenforwardingpac
etsthatarriveunlabeled,butwhicharetobelabeledbeforebeingforwarded.
7/31/2019 mpls rfc
14/58
Rosen,etal.StandardsTrac [Page14]RFC3031MPLSArchitectureJanuary2001
IftheFTNmapsaparticularlabeltoasetofNHLFEsthatcontainsmorethanoneelement,exactlyoneelementofthesetmustbechosenbeforethepac
etisforwarded.Theproceduresforchoosinganelementfromthesetarebeyondthescopeofthisdocument.HavingtheFTNmapalabeltoasetcontainingmorethanoneNHLFEmaybeusefulif,e.g.,itisdesiredtodoloadbalancingovermultipleequal-costpaths.
3.13.LabelSwapping
Labelswappingistheuseofthefollowingprocedurestoforwardapac et.
Inordertoforwardalabeledpac et,aLSRexaminesthelabelatthetopofthelabelstac .ItusestheILMtomapthislabeltoan
NHLFE.UsingtheinformationintheNHLFE,itdetermineswheretoforwardthepac et,andperformsanoperationonthepac et'slabelstac .Itthenencodesthenewlabelstac intothepac et,andforwardstheresult.
Inordertoforwardanunlabeledpac et,aLSRanalyzesthenetworlayerheader,todeterminethepac et'sFEC.ItthenusestheFTNtomapthistoanNHLFE.UsingtheinformationintheNHLFE,itdetermineswheretoforwardthepac et,andperformsanoperationonthepac et'slabelstac .(Poppingthelabelstac would,ofcourse,beillegalinthiscase.)Itthenencodesthenewlabelstac intothepac et,andforwardstheresult.
ITISIMPORTANTTONOTETHATWHENLABELSWAPPINGISINUSE,THENEXTHOPISALWAYSTAKENFROMTHENHLFE;THISMAYINSOMECASESBEDIFFERENTFROMWHATTHENEXTHOPWOULDBEIFMPLSWERENOTINUSE.
3.14.ScopeandUniquenessofLabels
AgivenLSRRdmaybindlabelL1toFECF,anddistributethatbindingtolabeldistributionpeerRu1.RdmayalsobindlabelL2toFECF,anddistributethatbindingtolabeldistributionpeerRu2.WhetherornotL1==L2isnotdeterminedbythearchitecture;thisisalocalmatter.
AgivenLSRRdmaybindlabelLtoFECF1,anddistributethat
bindingtolabeldistributionpeerRu1.RdmayalsobindlabelLtoFECF2,anddistributethatbindingtolabeldistributionpeerRu2.IF(ANDONLYIF)RDCANTELL,WHENITRECEIVESAPACKETWHOSETOPLABELISL,WHETHERTHELABELWASPUTTHEREBYRU1ORBYRU2,THENTHEARCHITECTUREDOESNOTREQUIRETHATF1==F2.Insuchcases,wemaysaythatRdisusingadifferent"labelspace"forthelabelsitdistributestoRu1thanforthelabelsitdistributestoRu2.
7/31/2019 mpls rfc
15/58
Rosen,etal.StandardsTrac [Page15]RFC3031MPLSArchitectureJanuary2001
Ingeneral,RdcanonlytellwhetheritwasRu1orRu2thatputtheparticularlabelvalueLatthetopofthelabelstac ifthefollowingconditionshold:
-Ru1andRu2aretheonlylabeldistributionpeerstowhichRddistributedabindingoflabelvalueL,and
-Ru1andRu2areeachdirectlyconnectedtoRdviaapoint-to-pointinterface.
Whentheseconditionshold,anLSRmayuselabelsthathave"perinterface"scope,i.e.,whichareonlyuniqueperinterface.WemaysaythattheLSRisusinga"per-interfacelabelspace".Whentheseconditionsdonothold,thelabelsmustbeuniqueovertheLSRwhichhasassignedthem,andwemaysaythattheLSRisusinga"per-platformlabelspace."
IfaparticularLSRRdisattachedtoaparticularLSRRuovertwopoint-to-pointinterfaces,thenRdmaydistributetoRuabindingof
labelLtoFECF1,aswellasabindingoflabelLtoFECF2,F1!=F2,ifandonlyifeachbindingisvalidonlyforpac etswhichRusendstoRdoveraparticularoneoftheinterfaces.Inallothercases,RdMUSTNOTdistributetoRubindingsofthesamelabelvaluetotwodifferentFECs.
Thisprohibitionholdsevenifthebindingsareregardedasbeingatdifferent"levelsofhierarchy".InMPLS,thereisnonotionofhavingadifferentlabelspacefordifferentlevelsofthehierarchy;wheninterpretingalabel,thelevelofthelabelisirrelevant.
ThequestionarisesastowhetheritispossibleforanLSRtousemultipleper-platformlabelspaces,ortousemultipleper-interface
labelspacesforthesameinterface.Thisisnotprohibitedbythearchitecture.However,insuchcasestheLSRmusthavesomemeans,notspecifiedbythearchitecture,ofdetermining,foraparticularincominglabel,whichlabelspacethatlabelbelongsto.Forexample,[MPLS-SHIM]specifiesthatadifferentlabelspaceisusedforunicastpac etsthanformulticastpac ets,andusesadatalinlayercodepointtodistinguishthetwolabelspaces.
3.15.LabelSwitchedPath(LSP),LSPIngress,LSPEgress
A"LabelSwitchedPath(LSP)oflevelm"foraparticularpac etPisasequenceofrouters,
withthefollowingproperties:
Rosen,etal.StandardsTrac
[Page16]RFC3031MPLSArchitectureJanuary2001
7/31/2019 mpls rfc
16/58
1.R1,the"LSPIngress",isanLSRwhichpushesalabelontoP'slabelstac ,resultinginalabelstac ofdepthm;
2.Foralli,10).
Inotherwords,wecanspea ofthelevelmLSPforPac etPasthesequenceofrouters:
1.whichbeginswithanLSR(an"LSPIngress")thatpushesonalevelmlabel,
2.allofwhoseintermediateLSRsma etheirforwardingdecisionbylabelSwitchingonalevelmlabel,
3.whichends(atan"LSPEgress")whenaforwardingdecisionismadebylabelSwitchingonalevelm- label,where >0,orwhenaforwardingdecisionismadeby"ordinary",non-MPLSforwardingprocedures.
Aconsequence(orperhapsapresupposition)ofthisisthatwheneveranLSRpushesalabelontoanalreadylabeledpac et,itneedstoma
esurethatthenewlabelcorrespondstoaFECwhoseLSPEgressistheLSRthatassignedthelabelwhichisnowsecondinthestac .
Rosen,etal.StandardsTrac
[Page17]RFC3031MPLSArchitectureJanuary2001
WewillcallasequenceofLSRsthe"LSPforaparticularFECF"ifitisanLSPoflevelmforaparticularpac etPwhenP'slevelmlabelisalabelcorrespondingtoFECF.
7/31/2019 mpls rfc
17/58
ConsiderthesetofnodeswhichmaybeLSPingressnodesforFECF.ThenthereisanLSPforFECFwhichbeginswitheachofthosenodes.IfanumberofthoseLSPshavethesameLSPegress,thenonecanconsiderthesetofsuchLSPstobeatree,whoserootistheLSPegress.(Sincedatatravelsalongthistreetowardstheroot,thismaybecalledamultipoint-to-pointtree.)Wecanthusspea ofthe"LSPtree"foraparticularFECF.
3.16.PenultimateHopPopping
Notethataccordingtothedefinitionsofsection3.15,ifisalevelmLSPforpac etP,PmaybetransmittedfromR[n-1]toRnwithalabelstac
ofdepthm-1.Thatis,thelabelstac
maybepoppedatthepenultimateLSRoftheLSP,ratherthanattheLSPEgress.
Fromanarchitecturalperspective,thisisperfectlyappropriate.Thepurposeofthelevelmlabelistogetthepac ettoRn.OnceR[n-1]hasdecidedtosendthepac ettoRn,thelabelnolongerhasanyfunction,andneednolongerbecarried.
Thereisalsoapracticaladvantagetodoingpenultimatehoppopping.Ifonedoesnotdothis,thenwhentheLSPegressreceivesapac et,
itfirstloo
supthetoplabel,anddeterminesasaresultofthatloo upthatitisindeedtheLSPegress.Thenitmustpopthestac ,andexaminewhatremainsofthepac et.Ifthereisanotherlabelonthestac ,theegresswillloo thisupandforwardthepac etbasedonthisloo up.(Inthiscase,theegressforthepac et'slevelmLSPisalsoanintermediatenodeforitslevelm-1LSP.)Ifthereisnootherlabelonthestac ,thenthepac etisforwardedaccordingtoitsnetwor layerdestinationaddress.NotethatthiswouldrequiretheegresstodoTWOloo ups,eithertwolabelloo upsoralabelloo upfollowedbyanaddressloo up.
If,ontheotherhand,penultimatehoppoppingisused,thenwhenthepenultimatehoploo supthelabel,itdetermines:
-thatitisthepenultimatehop,and
-whothenexthopis.
Thepenultimatenodethenpopsthestac ,andforwardsthepac etbasedontheinformationgainedbyloo ingupthelabelthatwaspreviouslyatthetopofthestac
.WhentheLSPegressreceivesthe
Rosen,etal.StandardsTrac
[Page18]
RFC3031MPLSArchitectureJanuary2001
pac et,thelabelwhichisnowatthetopofthestac willbethelabelwhichitneedstoloo upinordertoma eitsownforwardingdecision.Or,ifthepac etwasonlycarryingasinglelabel,theLSPegresswillsimplyseethenetwor
layerpac
et,whichisjustwhatitneedstoseeinordertoma eitsforwardingdecision.
Thistechniqueallowstheegresstodoasingleloo up,andalso
7/31/2019 mpls rfc
18/58
requiresonlyasingleloo upbythepenultimatenode.
Thecreationoftheforwarding"fastpath"inalabelswitchingproductmaybegreatlyaidedifitis nownthatonlyasingleloo upiseverrequired:
-thecodemaybesimplifiedifitcanassumethatonlyasingleloo
upiseverneeded
-thecodecanbebasedona"timebudget"thatassumesthatonlyasingleloo upiseverneeded.
Infact,whenpenultimatehoppoppingisdone,theLSPEgressneednotevenbeanLSR.
However,somehardwareswitchingenginesmaynotbeabletopopthelabelstac ,sothiscannotbeuniversallyrequired.Theremayalsobesomesituationsinwhichpenultimatehoppoppingisnotdesirable.Thereforethepenultimatenodepopsthelabelstac onlyifthisisspecificallyrequestedbytheegressnode,ORifthenextnodeintheLSPdoesnotsupportMPLS.(IfthenextnodeintheLSPdoessupportMPLS,butdoesnotma esucharequest,thepenultimatenodehasnowayof nowingthatitinfactisthepenultimatenode.)
AnLSRwhichiscapableofpoppingthelabelstac
atallMUSTdopenultimatehoppoppingwhensorequestedbyitsdownstreamlabeldistributionpeer.
InitiallabeldistributionprotocolnegotiationsMUSTalloweachLSRtodeterminewhetheritsneighboringLSRSarecapableofpoppingthelabelstac .ALSRMUSTNOTrequestalabeldistributionpeertopopthelabelstac unlessitiscapableofdoingso.
Itmaybeas edwhethertheegressnodecanalwaysinterpretthetoplabelofareceivedpac etproperlyifpenultimatehoppoppingisused.Aslongastheuniquenessandscopingrulesofsection3.14areobeyed,itisalwayspossibletointerpretthetoplabelofa
receivedpac
etunambiguously.
Rosen,etal.StandardsTrac
[Page19]RFC3031MPLSArchitectureJanuary2001
3.17.LSPNextHop
TheLSPNextHopforaparticularlabeledpac etinaparticularLSRistheLSRwhichisthenexthop,asselectedbytheNHLFEentryusedforforwardingthatpac et.
TheLSPNextHopforaparticularFECisthenexthopasselectedbytheNHLFEentryindexedbyalabelwhichcorrespondstothatFEC.
NotethattheLSPNextHopmaydifferfromthenexthopwhichwouldbechosenbythenetwor layerroutingalgorithm.Wewillusethe
7/31/2019 mpls rfc
19/58
term"L3nexthop"whenwerefertothelatter.
3.18.InvalidIncomingLabels
WhatshouldanLSRdoifitreceivesalabeledpac etwithaparticularincominglabel,buthasnobindingforthatlabel?Itistemptingtothin thatthelabelscanjustberemoved,andthepac etforwardedasanunlabeledIPpac
et.However,insomecases,doingsocouldcausealoop.IftheupstreamLSRthin sthelabelisboundtoanexplicitroute,andthedownstreamLSRdoesn'tthin
thelabelisboundtoanything,andifthehopbyhoproutingoftheunlabeledIPpac
etbringsthepac
etbac
totheupstreamLSR,thenaloopisformed.
ItisalsopossiblethatthelabelwasintendedtorepresentaroutewhichcannotbeinferredfromtheIPheader.
Therefore,whenalabeledpac etisreceivedwithaninvalidincominglabel,itMUSTbediscarded,UNLESSitisdeterminedbysomemeans(notwithinthescopeofthecurrentdocument)thatforwardingitunlabeledcannotcauseanyharm.
3.19.LSPControl:OrderedversusIndependent
SomeFECscorrespondtoaddressprefixeswhicharedistributedviaadynamicroutingalgorithm.ThesetupoftheLSPsfortheseFECscanbedoneinoneoftwoways:IndependentLSPControlorOrderedLSPControl.
InIndependentLSPControl,eachLSR,uponnotingthatitrecognizesaparticularFEC,ma esanindependentdecisiontobindalabeltothatFECandtodistributethatbindingtoitslabeldistributionpeers.ThiscorrespondstothewaythatconventionalIPdatagramroutingwor s;eachnodema esanindependentdecisionastohowtotreateachpac et,andreliesontheroutingalgorithmtoconvergerapidlysoastoensurethateachdatagramiscorrectlydelivered.
Rosen,etal.StandardsTrac
[Page20]RFC3031MPLSArchitectureJanuary2001
InOrderedLSPControl,anLSRonlybindsalabeltoaparticularFECifitistheegressLSRforthatFEC,orifithasalreadyreceivedalabelbindingforthatFECfromitsnexthopforthatFEC.
IfonewantstoensurethattrafficinaparticularFECfollowsa
pathwithsomespecifiedsetofproperties(e.g.,thatthetrafficdoesnottraverseanynodetwice,thataspecifiedamountofresourcesareavailabletothetraffic,thatthetrafficfollowsanexplicitlyspecifiedpath,etc.)orderedcontrolmustbeused.Withindependentcontrol,someLSRsmaybeginlabelswitchingatrafficintheFECbeforetheLSPiscompletelysetup,andthussometrafficintheFECmayfollowapathwhichdoesnothavethespecifiedsetofproperties.OrderedcontrolalsoneedstobeusediftherecognitionoftheFECisaconsequenceofthesettingupofthecorrespondingLSP.
7/31/2019 mpls rfc
20/58
OrderedLSPsetupmaybeinitiatedeitherbytheingressortheegress.
Orderedcontrolandindependentcontrolarefullyinteroperable.However,unlessallLSRsinanLSPareusingorderedcontrol,theoveralleffectonnetwor behaviorislargelythatofindependentcontrol,sinceonecannotbesurethatanLSPisnotuseduntilitisfullysetup.
Thisarchitectureallowsthechoicebetweenindependentcontrolandorderedcontroltobealocalmatter.Sincethetwomethodsinterwor ,agivenLSRneedsupportonlyoneortheother.Generallyspea
ing,thechoiceofindependentversusorderedcontroldoesnotappeartohaveanyeffectonthelabeldistributionmechanismswhichneedtobedefined.
3.20.Aggregation
OnewayofpartitioningtrafficintoFECsistocreateaseparateFECforeachaddressprefixwhichappearsintheroutingtable.However,withinaparticularMPLSdomain,thismayresultinasetofFECssuchthatalltrafficinallthoseFECsfollowsthesameroute.Forexample,asetofdistinctaddressprefixesmightallhavethesame
egressnode,andlabelswappingmightbeusedonlytogetthethetraffictotheegressnode.Inthiscase,withintheMPLSdomain,theunionofthoseFECsisitselfaFEC.Thiscreatesachoice:shouldadistinctlabelbeboundtoeachcomponentFEC,orshouldasinglelabelbeboundtotheunion,andthatlabelappliedtoalltrafficintheunion?
TheprocedureofbindingasinglelabeltoaunionofFECswhichisitselfaFEC(withinsomedomain),andofapplyingthatlabeltoall
Rosen,etal.StandardsTrac [Page21]
RFC3031MPLSArchitectureJanuary2001
trafficintheunion,is nownas"aggregation".TheMPLSarchitectureallowsaggregation.Aggregationmayreducethenumberoflabelswhichareneededtohandleaparticularsetofpac ets,andmayalsoreducetheamountoflabeldistributioncontroltrafficneeded.
GivenasetofFECswhichare"aggregatable"intoasingleFEC,itispossibleto(a)aggregatethemintoasingleFEC,(b)aggregatethemintoasetofFECs,or(c)notaggregatethematall.Thuswecan
spea
ofthe"granularity"ofaggregation,with(a)beingthe"coarsestgranularity",and(c)beingthe"finestgranularity".
Whenordercontrolisused,eachLSRshouldadopt,foragivensetofFECs,thegranularityusedbyitsnexthopforthoseFECs.
Whenindependentcontrolisused,itispossiblethattherewillbetwoadjacentLSRs,RuandRd,whichaggregatesomesetofFECsdifferently.
7/31/2019 mpls rfc
21/58
IfRuhasfinergranularitythanRd,thisdoesnotcauseaproblem.RudistributesmorelabelsforthatsetofFECsthanRddoes.ThismeansthatwhenRuneedstoforwardlabeledpac etsinthoseFECstoRd,itmayneedtomapnlabelsintomlabels,wheren>m.Asanoption,Rumaywithdrawthesetofnlabelsthatithasdistributed,andthendistributeasetofmlabels,correspondingtoRd'slevelofgranularity.Thisisnotnecessarytoensurecorrectoperation,butitdoesresultinareductionofthenumberoflabelsdistributedbyRu,andRuisnotgaininganyparticularadvantagebydistributingthelargernumberoflabels.Thedecisionwhethertodothisornotisalocalmatter.
IfRuhascoarsergranularitythanRd(i.e.,RdhasdistributednlabelsforthesetofFECs,whileRuhasdistributedm,wheren>m),ithastwochoices:
-ItmayadoptRd'sfinerlevelofgranularity.Thiswouldrequireittowithdrawthemlabelsithasdistributed,anddistributenlabels.Thisisthepreferredoption.
-ItmaysimplymapitsmlabelsintoasubsetofRd'snlabels,ifitcandeterminethatthiswillproducethesamerouting.Forexample,supposethatRuappliesasinglelabeltoalltrafficthatneedstopassthroughacertainegressLSR,
whereasRdbindsanumberofdifferentlabelstosuchtraffic,dependingontheindividualdestinationaddressesofthepac ets.IfRu nowstheaddressoftheegressrouter,andifRdhasboundalabeltotheFECwhichisidentifiedbythataddress,thenRucansimplyapplythatlabel.
Rosen,etal.StandardsTrac [Page22]RFC3031MPLSArchitectureJanuary2001
Inanyevent,everyLSRneedsto
now(byconfiguration)whatgranularitytouseforlabelsthatitassigns.Whereorderedcontrolisused,thisrequireseachnodeto nowthegranularityonlyforFECswhichleavetheMPLSnetwor
atthatnode.Forindependentcontrol,bestresultsmaybeobtainedbyensuringthatallLSRsareconsistentlyconfiguredto nowthegranularityforeachFEC.However,inmanycasesthismaybedonebyusingasinglelevelofgranularitywhichappliestoallFECs(suchas"onelabelperIPprefixintheforwardingtable",or"onelabelperegressnode").
3.21.RouteSelection
RouteselectionreferstothemethodusedforselectingtheLSPfora
particularFEC.TheproposedMPLSprotocolarchitecturesupportstwooptionsforRouteSelection:(1)hopbyhoprouting,and(2)explicitrouting.
HopbyhoproutingallowseachnodetoindependentlychoosethenexthopforeachFEC.ThisistheusualmodetodayinexistingIPnetwor
s.A"hopbyhoproutedLSP"isanLSPwhoserouteisselectedusinghopbyhoprouting.
InanexplicitlyroutedLSP,eachLSRdoesnotindependentlychoose
7/31/2019 mpls rfc
22/58
thenexthop;rather,asingleLSR,generallytheLSPingressortheLSPegress,specifiesseveral(orall)oftheLSRsintheLSP.IfasingleLSRspecifiestheentireLSP,theLSPis"strictly"explicitlyrouted.IfasingleLSRspecifiesonlysomeoftheLSP,theLSPis"loosely"explicitlyrouted.
ThesequenceofLSRsfollowedbyanexplicitlyroutedLSPmaybechosenbyconfiguration,ormaybeselecteddynamicallybyasinglenode(forexample,theegressnodemayma euseofthetopologicalinformationlearnedfromalin
statedatabaseinordertocomputetheentirepathforthetreeendingatthategressnode).
Explicitroutingmaybeusefulforanumberofpurposes,suchaspolicyroutingortrafficengineering.InMPLS,theexplicitrouteneedstobespecifiedatthetimethatlabelsareassigned,buttheexplicitroutedoesnothavetobespecifiedwitheachIPpac
et.Thisma esMPLSexplicitroutingmuchmoreefficientthanthealternativeofIPsourcerouting.
Theproceduresforma inguseofexplicitroutes,eitherstrictorloose,arebeyondthescopeofthisdocument.
Rosen,etal.StandardsTrac [Page23]RFC3031MPLSArchitectureJanuary2001
3.22.Lac ofOutgoingLabel
Whenalabeledpac etistravelingalonganLSP,itmayoccasionallyhappenthatitreachesanLSRatwhichtheILMdoesnotmapthe
pac
et'sincominglabelintoanNHLFE,eventhoughtheincominglabelisitselfvalid.Thiscanhappenduetotransientconditions,orduetoanerrorattheLSRwhichshouldbethepac et'snexthop.
Itistemptinginsuchcasestostripoffthelabelstac andattempttoforwardthepac etfurtherviaconventionalforwarding,basedonitsnetwor layerheader.However,ingeneralthisisnotasafeprocedure:
-Ifthepac ethasbeenfollowinganexplicitlyroutedLSP,thiscouldresultinaloop.
-Thepac et'snetwor headermaynotcontainenoughinformation
toenablethisparticularLSRtoforwarditcorrectly.
Unlessitcanbedetermined(throughsomemeansoutsidethescopeofthisdocument)thatneitherofthesesituationsobtains,theonlysafeprocedureistodiscardthepac et.
3.23.Time-to-Live(TTL)
InconventionalIPforwarding,eachpac etcarriesa"TimeToLive"(TTL)valueinitsheader.Wheneverapac etpassesthrougha
7/31/2019 mpls rfc
23/58
router,itsTTLgetsdecrementedby1;iftheTTLreaches0beforethepac
ethasreacheditsdestination,thepac
etgetsdiscarded.
Thisprovidessomelevelofprotectionagainstforwardingloopsthatmayexistduetomisconfigurations,orduetofailureorslowconvergenceoftheroutingalgorithm.TTLissometimesusedforotherfunctionsaswell,suchasmulticastscoping,andsupportingthe"traceroute"command.ThisimpliesthattherearetwoTTL-relatedissuesthatMPLSneedstodealwith:(i)TTLasawaytosuppressloops;(ii)TTLasawaytoaccomplishotherfunctions,suchaslimitingthescopeofapac et.
Whenapac ettravelsalonganLSP,itSHOULDemergewiththesameTTLvaluethatitwouldhavehadifithadtraversedthesamesequenceofrouterswithouthavingbeenlabelswitched.Ifthepac
ettravelsalongahierarchyofLSPs,thetotalnumberofLSR-hopstraversedSHOULDbereflectedinitsTTLvaluewhenitemergesfromthehierarchyofLSPs.
Rosen,etal.StandardsTrac
[Page24]RFC3031MPLSArchitectureJanuary2001
ThewaythatTTLishandledmayvarydependinguponwhethertheMPLSlabelvaluesarecarriedinanMPLS-specific"shim"header[MPLS-SHIM],oriftheMPLSlabelsarecarriedinanL2header,suchasanATMheader[MPLS-ATM]oraframerelayheader[MPLS-FRMRLY].
Ifthelabelvaluesareencodedina"shim"thatsitsbetweenthedatalin andnetwor layerheaders,thenthisshimMUSThaveaTTLfieldthatSHOULDbeinitiallyloadedfromthenetwor layerheader
TTLfield,SHOULDbedecrementedateachLSR-hop,andSHOULDbecopiedintothenetwor layerheaderTTLfieldwhenthepac etemergesfromitsLSP.
Ifthelabelvaluesareencodedinadatalin layerheader(e.g.,theVPI/VCIfieldinATM'sAAL5header),andthelabeledpac etsareforwardedbyanL2switch(e.g.,anATMswitch),andthedatalinlayer(li
eATM)doesnotitselfhaveaTTLfield,thenitwillnotbepossibletodecrementapac et'sTTLateachLSR-hop.AnLSPsegmentwhichconsistsofasequenceofLSRsthatcannotdecrementapac et'sTTLwillbecalleda"non-TTLLSPsegment".
Whenapac etemergesfromanon-TTLLSPsegment,itSHOULDhowever
begivenaTTLthatreflectsthenumberofLSR-hopsittraversed.Intheunicastcase,thiscanbeachievedbypropagatingameaningfulLSPlengthtoingressnodes,enablingtheingresstodecrementtheTTLvaluebeforeforwardingpac etsintoanon-TTLLSPsegment.
Sometimesitcanbedetermined,uponingresstoanon-TTLLSPsegment,thataparticularpac
et'sTTLwillexpirebeforethepac
etreachestheegressofthatnon-TTLLSPsegment.Inthiscase,theLSRattheingresstothenon-TTLLSPsegmentmustnotlabelswitchthepac et.Thismeansthatspecialproceduresmustbedevelopedto
7/31/2019 mpls rfc
24/58
supporttraceroutefunctionality,forexample,traceroutepac etsmaybeforwardedusingconventionalhopbyhopforwarding.
3.24.LoopControl
Onanon-TTLLSPsegment,bydefinition,TTLcannotbeusedtoprotectagainstforwardingloops.TheimportanceofloopcontrolmaydependontheparticularhardwarebeingusedtoprovidetheLSRfunctionsalongthenon-TTLLSPsegment.
Suppose,forinstance,thatATMswitchinghardwareisbeingusedtoprovideMPLSswitchingfunctions,withthelabelbeingcarriedintheVPI/VCIfield.SinceATMswitchinghardwarecannotdecrementTTL,thereisnoprotectionagainstloops.IftheATMhardwareiscapableofprovidingfairaccesstothebufferpoolforincomingcellscarryingdifferentVPI/VCIvalues,thisloopingmaynothaveanydeleteriouseffectonothertraffic.IftheATMhardwarecannot
Rosen,etal.StandardsTrac [Page25]RFC3031MPLSArchitectureJanuary2001
providefairbufferaccessofthissort,however,theneventransientloopsmaycauseseveredegradationoftheLSR'stotalperformance.
Eveniffairbufferaccesscanbeprovided,itisstillworthwhiletohavesomemeansofdetectingloopsthatlast"longerthanpossible".Inaddition,evenwhereTTLand/orper-VCfairqueuingprovidesameansforsurvivingloops,itstillmaybedesirablewherepracticaltoavoidsettingupLSPswhichloop.AllLSRsthatmayattachtonon-TTLLSPsegmentswillthereforeberequiredtosupportacommontechniqueforloopdetection;however,useoftheloopdetectiontechniqueisoptional.Theloopdetectiontechniqueisspecifiedin[MPLS-ATM]and[MPLS-LDP].
3.25.LabelEncodings
Inordertotransmitalabelstac
alongwiththepac
etwhoselabelstac itis,itisnecessarytodefineaconcreteencodingofthelabelstac .Thearchitecturesupportsseveraldifferentencodingtechniques;thechoiceofencodingtechniquedependsontheparticular
indofdevicebeingusedtoforwardlabeledpac
ets.
3.25.1.MPLS-specificHardwareand/orSoftware
IfoneisusingMPLS-specifichardwareand/orsoftwaretoforwardlabeledpac ets,themostobviouswaytoencodethelabelstac isto
defineanewprotocoltobeusedasa"shim"betweenthedatalin
layerandnetwor layerheaders.Thisshimwouldreallybejustanencapsulationofthenetwor
layerpac
et;itwouldbe"protocol-independent"suchthatitcouldbeusedtoencapsulateanynetworlayer.Hencewewillrefertoitasthe"genericMPLSencapsulation".
ThegenericMPLSencapsulationwouldinturnbeencapsulatedinadatalin layerprotocol.
7/31/2019 mpls rfc
25/58
TheMPLSgenericencapsulationisspecifiedin[MPLS-SHIM].
3.25.2.ATMSwitchesasLSRs
ItwillbenotedthatMPLSforwardingproceduresaresimilartothoseoflegacy"labelswapping"switchessuchasATMswitches.ATMswitchesusetheinputportandtheincomingVPI/VCIvalueastheindexintoa"cross-connect"table,fromwhichtheyobtainanoutputportandanoutgoingVPI/VCIvalue.Thereforeifoneormorelabelscanbeencodeddirectlyintothefieldswhichareaccessedbytheselegacyswitches,thenthelegacyswitchescan,withsuitablesoftwareupgrades,beusedasLSRs.Wewillrefertosuchdevicesas"ATM-LSRs".
Rosen,etal.StandardsTrac [Page26]RFC3031MPLSArchitectureJanuary2001
TherearethreeobviouswaystoencodelabelsintheATMcellheader(presumingtheuseofAAL5):
1.SVCEncoding
UsetheVPI/VCIfieldtoencodethelabelwhichisatthetopofthelabelstac .Thistechniquecanbeusedinanynetwor .Withthisencodingtechnique,eachLSPisrealizedasanATMSVC,andthelabeldistributionprotocolbecomestheATM"signaling"protocol.Withthisencodingtechnique,theATM-LSRscannotperform"push"or"pop"operationsonthelabelstac .
2.SVPEncoding
UsetheVPIfieldtoencodethelabelwhichisatthetopof
thelabelstac
,andtheVCIfieldtoencodethesecondlabelonthestac ,ifoneispresent.Thistechniquesomeadvantagesoverthepreviousone,inthatitpermitstheuseofATM"VP-switching".Thatis,theLSPsarerealizedasATMSVPs,withthelabeldistributionprotocolservingastheATMsignalingprotocol.
However,thistechniquecannotalwaysbeused.Ifthenetwor
includesanATMVirtualPaththroughanon-MPLSATMnetwor ,thentheVPIfieldisnotnecessarilyavailableforusebyMPLS.
Whenthisencodingtechniqueisused,theATM-LSRattheegress
oftheVPeffectivelydoesa"pop"operation.
3.SVPMultipointEncoding
UsetheVPIfieldtoencodethelabelwhichisatthetopofthelabelstac ,usepartoftheVCIfieldtoencodethesecondlabelonthestac
,ifoneispresent,andusetheremainderoftheVCIfieldtoidentifytheLSPingress.Ifthistechniqueisused,conventionalATMVP-switchingcapabilitiescanbeusedtoprovidemultipoint-to-pointVPs.Cellsfromdifferent
7/31/2019 mpls rfc
26/58
pac etswillthencarrydifferentVCIvalues.Asweshallseeinsection3.26,thisenablesustodolabelmerging,withoutrunningintoanycellinterleavingproblems,onATMswitcheswhichcanprovidemultipoint-to-pointVPs,butwhichdonothavetheVCmergecapability.
Thistechniquedependsontheexistenceofacapabilityforassigning16-bitVCIvaluestoeachATMswitchsuchthatnosingleVCIvalueisassignedtotwodifferentswitches.(Ifan
Rosen,etal.StandardsTrac [Page27]RFC3031MPLSArchitectureJanuary2001
adequatenumberofsuchvaluescouldbeassignedtoeachswitch,itwouldbepossibletoalsotreattheVCIvalueasthesecondlabelinthestac .)
Iftherearemorelabelsonthestac thancanbeencodedintheATMheader,theATMencodingsmustbecombinedwiththegenericencapsulation.
3.25.3.InteroperabilityamongEncodingTechniques
IfisasegmentofaLSP,itispossiblethatR1willuseoneencodingofthelabelstac whentransmittingpac etPtoR2,butR2willuseadifferentencodingwhentransmittingapac etPtoR3.Ingeneral,theMPLSarchitecturesupportsLSPswithdifferentlabelstac encodingsusedondifferenthops.Therefore,whenwediscusstheproceduresforprocessingalabeledpac et,wespea inabstracttermsofoperatingonthepac et'slabelstac .Whenalabeledpac etisreceived,theLSRmustdecodeittodeterminethecurrentvalueofthelabelstac ,thenmustoperateonthelabelstac todeterminethenewvalueofthestac ,andthenencodethe
newvalueappropriatelybeforetransmittingthelabeledpac
ettoitsnexthop.
Unfortunately,ATMswitcheshavenocapabilityfortranslatingfromoneencodingtechniquetoanother.TheMPLSarchitecturethereforerequiresthatwheneveritispossiblefortwoATMswitchestobesuccessiveLSRsalongalevelmLSPforsomepac et,thatthosetwoATMswitchesusethesameencodingtechnique.
NaturallytherewillbeMPLSnetwor swhichcontainacombinationofATMswitchesoperatingasLSRs,andotherLSRswhichoperateusinganMPLSshimheader.Insuchnetwor
stheremaybesomeLSRswhichhaveATMinterfacesaswellas"MPLSShim"interfaces.Thisisone
exampleofanLSRwithdifferentlabelstac
encodingsondifferenthops.SuchanLSRmayswapoffanATMencodedlabelstac onanincominginterfaceandreplaceitwithanMPLSshimheaderencodedlabelstac ontheoutgoinginterface.
3.26.LabelMerging
SupposethatanLSRhasboundmultipleincominglabelstoaparticularFEC.Whenforwardingpac etsinthatFEC,onewouldli etohaveasingleoutgoinglabelwhichisappliedtoallsuchpac ets.
7/31/2019 mpls rfc
27/58
Thefactthattwodifferentpac etsintheFECarrivedwithdifferentincominglabelsisirrelevant;onewouldli
etoforwardthemwiththesameoutgoinglabel.Thecapabilitytodosois nownas"labelmerging".
Rosen,etal.StandardsTrac [Page28]RFC3031MPLSArchitectureJanuary2001
LetussaythatanLSRiscapableoflabelmergingifitcanreceivetwopac etsfromdifferentincominginterfaces,and/orwithdifferentlabels,andsendbothpac
etsoutthesameoutgoinginterfacewiththesamelabel.Oncethepac etsaretransmitted,theinformationthattheyarrivedfromdifferentinterfacesand/orwithdifferentincominglabelsislost.
LetussaythatanLSRisnotcapableoflabelmergingif,foranytwopac etswhicharrivefromdifferentinterfaces,orwithdifferentlabels,thepac etsmusteitherbetransmittedoutdifferentinterfaces,ormusthavedifferentlabels.ATM-LSRsusingtheSVCor
SVPEncodingscannotperformlabelmerging.Thisisdiscussedinmoredetailinthenextsection.
IfaparticularLSRcannotperformlabelmerging,theniftwopac etsinthesameFECarrivewithdifferentincominglabels,theymustbeforwardedwithdifferentoutgoinglabels.Withlabelmerging,thenumberofoutgoinglabelsperFECneedonlybe1;withoutlabelmerging,thenumberofoutgoinglabelsperFECcouldbeaslargeasthenumberofnodesinthenetwor .
Withlabelmerging,thenumberofincominglabelsperFECthataparticularLSRneedsisneverbelargerthanthenumberoflabeldistributionadjacencies.Withoutlabelmerging,thenumberof
incominglabelsperFECthataparticularLSRneedsisaslargeasthenumberofupstreamnodeswhichforwardtrafficintheFECtotheLSRinquestion.Infact,itisdifficultforanLSRtoevendeterminehowmanysuchincominglabelsitmustsupportforaparticularFEC.
TheMPLSarchitectureaccommodatesbothmergingandnon-mergingLSRs,butallowsforthefactthattheremaybeLSRswhichdonotsupportlabelmerging.ThisleadstotheissueofensuringcorrectinteroperationbetweenmergingLSRsandnon-mergingLSRs.TheissueissomewhatdifferentinthecaseofdatagrammediaversusthecaseofATM.Thedifferentmediatypeswillthereforebediscussedseparately.
3.26.1.Non-mergingLSRs
TheMPLSforwardingproceduresisverysimilartotheforwardingproceduresusedbysuchtechnologiesasATMandFrameRelay.Thatis,aunitofdataarrives,alabel(VPI/VCIorDLCI)isloo edupina"cross-connecttable",onthebasisofthatloo
upanoutputportischosen,andthelabelvalueisrewritten.Infact,itispossibletousesuchtechnologiesforMPLSforwarding;alabeldistributionprotocolcanbeusedasthe"signallingprotocol"forsettingupthe
7/31/2019 mpls rfc
28/58
cross-connecttables.
Rosen,etal.StandardsTrac [Page29]RFC3031MPLSArchitectureJanuary2001
Unfortunately,thesetechnologiesdonotnecessarilysupportthelabelmergingcapability.InATM,ifoneattemptstoperformlabelmerging,theresultmaybetheinterleavingofcellsfromvariouspac ets.Ifcellsfromdifferentpac etsgetinterleaved,itisimpossibletoreassemblethepac
ets.SomeFrameRelayswitchesusecellswitchingontheirbac planes.Theseswitchesmayalsobeincapableofsupportinglabelmerging,forthesamereason--cellsofdifferentpac etsmaygetinterleaved,andthereisthennowaytoreassemblethepac ets.
Weproposetosupporttwosolutionstothisproblem.First,MPLSwillcontainprocedureswhichallowtheuseofnon-mergingLSRs.Second,MPLSwillsupportprocedureswhichallowcertainATMswitchestofunctionasmergingLSRs.
SinceMPLSsupportsbothmergingandnon-mergingLSRs,MPLSalsocontainsprocedurestoensurecorrectinteroperationbetweenthem.
3.26.2.LabelsforMergingandNon-MergingLSRs
AnupstreamLSRwhichsupportslabelmergingneedstobesentonlyonelabelperFEC.AnupstreamneighborwhichdoesnotsupportlabelmergingneedstobesentmultiplelabelsperFEC.However,thereisnowayof nowingapriorihowmanylabelsitneeds.ThiswilldependonhowmanyLSRsareupstreamofitwithrespecttotheFECinquestion.
IntheMPLSarchitecture,ifaparticularupstreamneighbordoesnot
supportlabelmerging,itisnotsentanylabelsforaparticularFECunlessitexplicitlyas sforalabelforthatFEC.Theupstreamneighbormayma emultiplesuchrequests,andisgivenanewlabeleachtime.Whenadownstreamneighborreceivessucharequestfromupstream,andthedownstreamneighbordoesnotitselfsupportlabelmerging,thenitmustinturnas itsdownstreamneighborforanotherlabelfortheFECinquestion.
Itispossiblethattheremaybesomenodeswhichsupportlabelmerging,butcanonlymergealimitednumberofincominglabelsintoasingleoutgoinglabel.Supposeforexamplethatduetosomehardwarelimitationanodeiscapableofmergingfourincominglabelsintoasingleoutgoinglabel.Supposehowever,thatthisparticular
nodehassixincominglabelsarrivingatitforaparticularFEC.Inthiscase,thisnodemaymergetheseintotwooutgoinglabels.
WhetherlabelmergingisapplicabletoexplicitlyroutedLSPsisforfurtherstudy.
7/31/2019 mpls rfc
29/58
Rosen,etal.StandardsTrac [Page30]RFC3031MPLSArchitectureJanuary2001
3.26.3.MergeoverATM
3.26.3.1.MethodsofEliminatingCellInterleave
ThereareseveralmethodsthatcanbeusedtoeliminatethecellinterleavingprobleminATM,therebyallowingATMswitchestosupportstreammerge:
1.VPmerge,usingtheSVPMultipointEncoding
WhenVPmergeisused,multiplevirtualpathsaremergedintoavirtualpath,butpac etsfromdifferentsourcesaredistinguishedbyusingdifferentVCIswithintheVP.
2.VCmerge
WhenVCmergeisused,switchesarerequiredtobuffercellsfromonepac etuntiltheentirepac etisreceived(thismaybedeterminedbyloo ingfortheAAL5endofframeindicator).
VPmergehastheadvantagethatitiscompatiblewithahigherpercentageofexistingATMswitchimplementations.Thisma esitmoreli elythatVPmergecanbeusedinexistingnetwor s.Unli eVCmerge,VPmergedoesnotincuranydelaysatthemergepointsandalsodoesnotimposeanybufferrequirements.However,ithasthedisadvantagethatitrequirescoordinationoftheVCIspacewithineachVP.Thereareanumberofwaysthatthiscanbeaccomplished.Selectionofoneormoremethodsisforfurtherstudy.
ThistradeoffbetweencompatibilitywithexistingequipmentversusprotocolcomplexityandscalabilityimpliesthatitisdesirablefortheMPLSprotocoltosupportbothVPmergeandVCmerge.Inorderto
dosoeachATMswitchparticipatinginMPLSneedsto
nowwhetheritsimmediateATMneighborsperformVPmerge,VCmerge,ornomerge.
3.26.3.2.Interoperation:VCMerge,VPMerge,andNon-Merge
TheinteroperationofthevariousformsofmergingoverATMismosteasilydescribedbyfirstdescribingtheinteroperationofVCmergewithnon-merge.
InthecasewhereVCmergeandnon-mergenodesareinterconnectedtheforwardingofcellsisbasedinallcasesonaVC(i.e.,theconcatenationoftheVPIandVCI).Foreachnode,ifanupstreamneighborisdoingVCmergethenthatupstreamneighborrequiresonly
asingleVPI/VCIforaparticularstream(thisisanalogoustotherequirementforasinglelabelinthecaseofoperationoverframemedia).Iftheupstreamneighborisnotdoingmerge,thenthe
Rosen,etal.StandardsTrac
[Page31]RFC3031MPLSArchitectureJanuary2001
7/31/2019 mpls rfc
30/58
neighborwillrequireasingleVPI/VCIperstreamforitself,plusenoughVPI/VCIstopasstoitsupstreamneighbors.ThenumberrequiredwillbedeterminedbyallowingtheupstreamnodestorequestadditionalVPI/VCIsfromtheirdownstreamneighbors(thisisagainanalogoustothemethodusedwithframemerge).
AsimilarmethodispossibletosupportnodeswhichperformVPmerge.InthiscasetheVPmergenode,ratherthanrequestingasingleVPI/VCIoranumberofVPI/VCIsfromitsdownstreamneighbor,insteadmayrequestasingleVP(identifiedbyaVPI)butseveralVCIswithintheVP.Furthermore,supposethatanon-mergenodeisdownstreamfromtwodifferentVPmergenodes.ThisnodemayneedtorequestoneVPI/VCI(fortrafficoriginatingfromitself)plustwoVPs(oneforeachupstreamnode),eachassociatedwithaspecifiedsetofVCIs(asrequestedfromtheupstreamnode).
InordertosupportallofVPmerge,VCmerge,andnon-merge,itisthereforenecessarytoallowupstreamnodestorequestacombinationofzeroormoreVCidentifiers(consistingofaVPI/VCI),pluszeroormoreVPs(identifiedbyVPIs)eachcontainingaspecifiednumberofVCs(identifiedbyasetofVCIswhicharesignificantwithinaVP).VPmergenodeswouldthereforerequestoneVP,withacontainedVCIfortrafficthatitoriginates(ifappropriate)plusaVCIfor
eachVCrequestedfromabove(regardlessofwhetherornottheVCispartofacontainingVP).VCmergenodewouldrequestonlyasingleVPI/VCI(sincetheycanmergeallupstreamtrafficintoasingleVC).Non-mergenodeswouldpassonanyrequeststhattheygetfromabove,plusrequestaVPI/VCIfortrafficthattheyoriginate(ifappropriate).
3.27.TunnelsandHierarchy
SometimesarouterRuta esexplicitactiontocauseaparticularpac ettobedeliveredtoanotherrouterRd,eventhoughRuandRdarenotconsecutiveroutersontheHop-by-hoppathforthatpac et,andRdisnotthepac et'sultimatedestination.Forexample,this
maybedonebyencapsulatingthepac
etinsideanetwor
layerpac
etwhosedestinationaddressistheaddressofRditself.Thiscreatesa"tunnel"fromRutoRd.Werefertoanypac etsohandledasa"TunneledPac
et".
3.27.1.Hop-by-HopRoutedTunnel
IfaTunneledPac
etfollowstheHop-by-hoppathfromRutoRd,wesaythatitisinan"Hop-by-HopRoutedTunnel"whose"transmitendpoint"isRuandwhose"receiveendpoint"isRd.
Rosen,etal.StandardsTrac
[Page32]RFC3031MPLSArchitectureJanuary2001
3.27.2.ExplicitlyRoutedTunnel
IfaTunneledPac ettravelsfromRutoRdoverapathotherthanthe
7/31/2019 mpls rfc
31/58
Hop-by-hoppath,wesaythatitisinan"ExplicitlyRoutedTunnel"whose"transmitendpoint"isRuandwhose"receiveendpoint"isRd.Forexample,wemightsendapac etthroughanExplicitlyRoutedTunnelbyencapsulatingitinapac etwhichissourcerouted.
3.27.3.LSPTunnels
ItispossibletoimplementatunnelasaLSP,anduselabelswitchingratherthannetwor layerencapsulationtocausethepac ettotravelthroughthetunnel.ThetunnelwouldbeaLSP,whereR1isthetransmitendpointofthetunnel,andRnisthereceiveendpointofthetunnel.Thisiscalleda"LSPTunnel".
Thesetofpac
etswhicharetobesentthoughtheLSPtunnelconstitutesaFEC,andeachLSRinthetunnelmustassignalabeltothatFEC(i.e.,mustassignalabeltothetunnel).Thecriteriaforassigningaparticularpac ettoanLSPtunnelisalocalmatteratthetunnel'stransmitendpoint.Toputapac etintoanLSPtunnel,thetransmitendpointpushesalabelforthetunnelontothelabelstac andsendsthelabeledpac ettothenexthopinthetunnel.
Ifitisnotnecessaryforthetunnel'sreceiveendpointtobeabletodeterminewhichpac etsitreceivesthroughthetunnel,asdiscussedearlier,thelabelstac maybepoppedatthepenultimate
LSRinthetunnel.
A"Hop-by-HopRoutedLSPTunnel"isaTunnelthatisimplementedasanhop-by-hoproutedLSPbetweenthetransmitendpointandthereceiveendpoint.
An"ExplicitlyRoutedLSPTunnel"isaLSPTunnelthatisalsoanExplicitlyRoutedLSP.
3.27.4.Hierarchy:LSPTunnelswithinLSPs
ConsideraLSP.LetussupposethatR1receivesunlabeledpac etP,andpushesonitslabelstac thelabeltocause
ittofollowthispath,andthatthisisinfacttheHop-by-hoppath.However,letusfurthersupposethatR2andR3arenotdirectlyconnected,butare"neighbors"byvirtueofbeingtheendpointsofanLSPtunnel.SotheactualsequenceofLSRstraversedbyPis.
Rosen,etal.StandardsTrac
[Page33]
RFC3031MPLSArchitectureJanuary2001
WhenPtravelsfromR1toR2,itwillhavealabelstac ofdepth1.R2,switchingonthelabel,determinesthatPmustenterthetunnel.R2firstreplacestheIncominglabelwithalabelthatismeaningfultoR3.Thenitpushesonanewlabel.Thislevel2labelhasavaluewhichismeaningfultoR21.Switchingisdoneonthelevel2labelbyR21,R22,R23.R23,whichisthepenultimatehopintheR2-R3tunnel,popsthelabelstac beforeforwardingthepac etto
7/31/2019 mpls rfc
32/58
R3.WhenR3seespac etP,Phasonlyalevel1label,havingnowexitedthetunnel.SinceR3isthepenultimatehopinP'slevel1LSP,itpopsthelabelstac ,andR4receivesPunlabeled.
Thelabelstac mechanismallowsLSPtunnelingtonesttoanydepth.
3.27.5.LabelDistributionPeeringandHierarchy
Supposethatpac etPtravelsalongaLevel1LSP,andwhengoingfromR2toR3travelsalongaLevel2LSP.FromtheperspectiveoftheLevel2LSP,R2'slabeldistributionpeerisR21.FromtheperspectiveoftheLevel1LSP,R2'slabeldistributionpeersareR1andR3.Onecanhavelabeldistributionpeersateachlayerofhierarchy.Wewillseeinsections4.6and4.7somewaystoma euseofthishierarchy.Notethatinthisexample,R2andR21mustbeIGPneighbors,butR2andR3neednotbe.
WhentwoLSRsareIGPneighbors,wewillrefertothemas"locallabeldistributionpeers".WhentwoLSRsmaybelabeldistributionpeers,butarenotIGPneighbors,wewillrefertothemas"remotelabeldistributionpeers".Intheaboveexample,R2andR21arelocallabeldistributionpeers,butR2andR3areremotelabeldistributionpeers.
TheMPLSarchitecturesupportstwowaystodistributelabelsatdifferentlayersofthehierarchy:ExplicitPeeringandImplicitPeering.
Oneperformslabeldistributionwithone'slocallabeldistributionpeerbysendinglabeldistributionprotocolmessageswhichareaddressedtothepeer.Onecanperformlabeldistributionwithone'sremotelabeldistributionpeersinoneoftwoways:
1.ExplicitPeering
Inexplicitpeering,onedistributeslabelstoapeerby
sendinglabeldistributionprotocolmessageswhichareaddressedtothepeer,exactlyasonewoulddoforlocallabeldistributionpeers.Thistechniqueismostusefulwhenthenumberofremotelabeldistributionpeersissmall,orthe
Rosen,etal.StandardsTrac
[Page34]RFC3031MPLSArchitectureJanuary2001
numberofhigherlevellabelbindingsislarge,ortheremote
labeldistributionpeersareindistinctroutingareasordomains.Ofcourse,oneneedsto nowwhichlabelstodistributetowhichpeers;thisisaddressedinsection4.1.2.
Examplesoftheuseofexplicitpeeringisfoundinsections4.2.1and4.6.
2.ImplicitPeering
InImplicitPeering,onedoesnotsendlabeldistribution
7/31/2019 mpls rfc
33/58
protocolmessageswhichareaddressedtoone'speer.Rather,todistributehigherlevellabelstoonesremotelabeldistributionpeers,oneencodesahigherlevellabelasanattributeofalowerlevellabel,andthendistributesthelowerlevellabel,alongwiththisattribute,toone'slocallabeldistributionpeers.Thelocallabeldistributionpeersthenpropagatetheinformationtotheirlocallabeldistributionpeers.Thisprocesscontinuestilltheinformationreachestheremotepeer.
Thistechniqueismostusefulwhenthenumberofremotelabeldistributionpeersislarge.Implicitpeeringdoesnotrequireann-squarepeeringmeshtodistributelabelstotheremotelabeldistributionpeersbecausetheinformationispiggybac
edthroughthelocallabeldistributionpeering.However,implicitpeeringrequirestheintermediatenodestostoreinformationthattheymightnotbedirectlyinterestedin.
Anexampleoftheuseofimplicitpeeringisfoundinsection4.3.
3.28.LabelDistributionProtocolTransport
AlabeldistributionprotocolisusedbetweennodesinanMPLS
networ
toestablishandmaintainthelabelbindings.InorderforMPLStooperatecorrectly,labeldistributioninformationneedstobetransmittedreliably,andthelabeldistributionprotocolmessagespertainingtoaparticularFECneedtobetransmittedinsequence.Flowcontrolisalsodesirable,asisthecapabilitytocarrymultiplelabelmessagesinasingledatagram.
OnewaytomeetthesegoalsistouseTCPastheunderlyingtransport,asisdonein[MPLS-LDP]and[MPLS-BGP].
Rosen,etal.StandardsTrac
[Page35]RFC3031MPLSArchitectureJanuary2001
3.29.WhyMorethanoneLabelDistributionProtocol?
Thisarchitecturedoesnotestablishhardandfastrulesforchoosingwhichlabeldistributionprotocoltouseinwhichcircumstances.However,itispossibletopointoutsomeoftheconsiderations.
3.29.1.BGPandLDP
Inmanyscenarios,itisdesirabletobindlabelstoFECswhichcanbeidentifiedwithroutestoaddressprefixes(seesection4.1).Ifthereisastandard,widelydeployedroutingalgorithmwhichdistributesthoseroutes,itcanbearguedthatlabeldistributionisbestachievedbypiggybac ingthelabeldistributiononthedistributionoftheroutesthemselves.
7/31/2019 mpls rfc
34/58
Forexample,BGPdistributessuchroutes,andifaBGPspea erneedstoalsodistributelabelstoitsBGPpeers,usingBGPtodothelabeldistribution(see[MPLS-BGP])hasanumberofadvantages.Inparticular,itpermitsBGProutereflectorstodistributelabels,thusprovidingasignificantscalabilityadvantageoverusingLDPtodistributelabelsbetweenBGPpeers.
3.29.2.LabelsforRSVPFlowspecs
WhenRSVPisusedtosetupresourcereservationsforparticularflows,itcanbedesirabletolabelthepac etsinthoseflows,sothattheRSVPfilterspecdoesnotneedtobeappliedateachhop.ItcanbearguedthathavingRSVPdistributethelabelsaspartofitspath/reservationsetupprocessisthemostefficientmethodofdistributinglabelsforthispurpose.
3.29.3.LabelsforExplicitlyRoutedLSPs
InsomeapplicationsofMPLS,particularlythoserelatedtotrafficengineering,itisdesirabletosetupanexplicitlyroutedpath,fromingresstoegress.Itisalsodesirabletoapplyresourcereservationsalongthatpath.
Onecanimaginetwoapproachestothis:
-Startwithanexistingprotocolthatisusedforsettingupresourcereservations,andextendittosupportexplicitroutingandlabeldistribution.
-Startwithanexistingprotocolthatisusedforlabeldistribution,andextendittosupportexplicitroutingandresourcereservations.
Rosen,etal.StandardsTrac [Page36]
RFC3031MPLSArchitectureJanuary2001
Thefirstapproachhasgivenrisetotheprotocolspecifiedin[MPLS-RSVP-TUNNELS],thesecondtotheapproachspecifiedin[MPLS-CR-LDP].
3.30.Multicast
Thissectionisforfurtherstudy
4.SomeApplicationsofMPLS
4.1.MPLSandHopbyHopRoutedTraffic
AnumberofusesofMPLSrequirethatpac etswithacertainlabelbeforwardedalongthesamehop-by-hoproutedpaththatwouldbeusedforforwardingapac etwithaspecifiedaddressinitsnetwor layerdestinationaddressfield.
4.1.1.LabelsforAddressPrefixes
7/31/2019 mpls rfc
35/58
Ingeneral,routerRdeterminesthenexthopforpac etPbyfindingtheaddressprefixXinitsroutingtablewhichisthelongestmatchforP'sdestinationaddress.Thatis,thepac etsinagivenFECarejustthosepac etswhichmatchagivenaddressprefixinR'sroutingtable.Inthiscase,aFECcanbeidentifiedwithanaddressprefix.
Notethatapac etPmaybeassignedtoFECF,andFECFmaybeidentifiedwithaddressprefixX,evenifP'sdestinationaddressdoesnotmatchX.
4.1.2.DistributingLabelsforAddressPrefixes
4.1.2.1.LabelDistributionPeersforanAddressPrefix
LSRsR1andR2areconsideredtobelabeldistributionpeersforaddressprefixXifandonlyifoneofthefollowingconditionsholds:
1.R1'sroutetoXisaroutewhichitlearnedaboutviaaparticularinstanceofaparticularIGP,andR2isaneighborofR1inthatinstanceofthatIGP
2.R1'sroutetoXisaroutewhichitlearnedaboutbysomeinstanceofroutingalgorithmA1,andthatrouteis
redistributedintoaninstanceofroutingalgorithmA2,andR2isaneighborofR1inthatinstanceofA2
Rosen,etal.StandardsTrac [Page37]RFC3031MPLSArchitectureJanuary2001
3.R1isthereceiveendpointofanLSPTunnelthatiswithinanotherLSP,andR2isatransmitendpointofthattunnel,andR1andR2areparticipantsinacommoninstanceofanIGP,andareinthesameIGParea(iftheIGPinquestionhasareas),andR1'sroutetoXwaslearnedviathatIGPinstance,orisredistributedbyR1intothatIGPinstance
4.R1'sroutetoXisaroutewhichitlearnedaboutviaBGP,andR2isaBGPpeerofR1
Ingeneral,theserulesensurethatiftheroutetoaparticularaddressprefixisdistributedviaanIGP,thelabeldistributionpeersforthataddressprefixaretheIGPneighbors.Iftherouteto
aparticularaddressprefixisdistributedviaBGP,thelabeldistributionpeersforthataddressprefixaretheBGPpeers.InothercasesofLSPtunneling,thetunnelendpointsarelabeldistributionpeers.
4.1.2.2.DistributingLabels
InordertouseMPLSfortheforwardingofpac etsaccordingtothehop-by-hoproutecorrespondingtoanyaddressprefix,eachLSRMUST:
7/31/2019 mpls rfc
36/58
1.bindoneormorelabelstoeachaddressprefixthatappearsinitsroutingtable;
2.foreachsuchaddressprefixX,usealabeldistributionprotocoltodistributethebindingofalabeltoXtoeachofitslabeldistributionpeersforX.
ThereisalsoonecircumstanceinwhichanLSRmustdistributealabelbindingforanaddressprefix,evenifitisnottheLSRwhichboundthatlabeltothataddressprefix:
3.IfR1usesBGPtodistributearoutetoX,namingsomeotherLSRR2astheBGPNextHoptoX,andifR1 nowsthatR2hasassignedlabelLtoX,thenR1mustdistributethebindingbetweenLandXtoanyBGPpeertowhichitdistributesthatroute.
TheserulesensurethatlabelscorrespondingtoaddressprefixeswhichcorrespondtoBGProutesaredistributedtoIGPneighborsifandonlyiftheBGProutesaredistributedintotheIGP.Otherwise,thelabelsboundtoBGProutesaredistributedonlytotheotherBGPspea ers.
Theserulesareintendedonlytoindicatewhichlabelbindingsmust
bedistributedbyagivenLSRtowhichotherLSRs.
Rosen,etal.StandardsTrac [Page38]RFC3031MPLSArchitectureJanuary2001
4.1.3.UsingtheHopbyHoppathastheLSP
Ifthehop-by-hoppaththatpac etPneedstofollowis,thencanbeanLSPaslongas:
1.thereisasingleaddressprefixX,suchthat,foralli,1
7/31/2019 mpls rfc
37/58
AnLSRRisconsideredtobean"LSPEgress"LSRforaddressprefixXifandonlyifoneofthefollowingconditionsholds:
1.RhasanaddressY,suchthatXistheaddressprefixinR'sroutingtablewhichisthelongestmatchforY,or
2.RcontainsinitsroutingtablesoneormoreaddressprefixesYsuchthatXisaproperinitialsubstringofY,butR's"LSPprevioushops"forXdonotcontainanysuchaddressprefixesY;thatis,Risa"deaggregationpoint"foraddressprefixX.
AnLSRR1isconsideredtobean"LSPProxyEgress"LSRforaddressprefixXifandonlyif:
1.R1'snexthopforXisR2,andR1andR2arenotlabeldistributionpeerswithrespecttoX(perhapsbecauseR2doesnotsupportMPLS),or
2.R1hasbeenconfiguredtoactasanLSPProxyEgressforX
Rosen,etal.StandardsTrac
[Page39]RFC3031MPLSArchitectureJanuary2001
ThedefinitionofLSPallowsfortheLSPEgresstobeanodewhichdoesnotsupportMPLS;inthiscasethepenultimatenodeintheLSPistheProxyEgress.
4.1.5.TheImplicitNULLLabel
TheImplicitNULLlabelisalabelwithspecialsemanticswhichanLSRcanbindtoanaddressprefix.IfLSRRu,byconsultingitsILM,
seesthatlabeledpac
etPmustbeforwardednexttoRd,butthatRdhasdistributedabindingofImplicitNULLtothecorrespondingaddressprefix,theninsteadofreplacingthevalueofthelabelontopofthelabelstac
,Rupopsthelabelstac
,andthenforwardstheresultingpac ettoRd.
LSRRddistributesabindingbetweenImplicitNULLandanaddressprefixXtoLSRRuifandonlyif:
1.therulesofSection4.1.2indicatethatRddistributestoRualabelbindingforX,and
2.Rd nowsthatRucansupporttheImplicitNULLlabel(i.e.,
thatitcanpopthelabelstac
),and
3.RdisanLSPEgress(notproxyegress)forX.
ThiscausesthepenultimateLSRonaLSPtopopthelabelstac .Thisisquiteappropriate;iftheLSPEgressisanMPLSEgressforX,thenifthepenultimateLSRdoesnotpopthelabelstac
,theLSPEgresswillneedtoloo upthelabel,popthelabelstac ,andthenloo upthenextlabel(orloo uptheL3address,ifnomorelabelsarepresent).ByhavingthepenultimateLSRpopthelabelstac ,the
7/31/2019 mpls rfc
38/58
LSPEgressissavedthewor ofhavingtoloo uptwolabelsinordertoma
eitsforwardingdecision.
However,ifthepenultimateLSRisanATMswitch,itmaynothavethecapabilitytopopthelabelstac .HenceabindingofImplicitNULLmaybedistributedonlytoLSRswhichcansupportthatfunction.
IfthepenultimateLSRinanLSPforaddressprefixXisanLSPProxyEgress,itactsjustasiftheLSPEgresshaddistributedabindingofImplicitNULLforX.
4.1.6.Option:Egress-TargetedLabelAssignment
TherearesituationsinwhichanLSPIngress,Ri,
nowsthatpac
etsofseveraldifferentFECsmustallfollowthesameLSP,terminatingat,say,LSPEgressRe.Inthiscase,properroutingcanbeachieved
Rosen,etal.StandardsTrac [Page40]RFC3031MPLSArchitectureJanuary2001
byusingasinglelabelforallsuchFECs;itisnotnecessarytohaveadistinctlabelforeachFEC.If(andonlyif)thefollowingconditionshold:
1.theaddressofLSRReisitselfintheroutingtableasa"hostroute",and
2.thereissomewayforRitodeterminethatReistheLSPegressforallpac etsinaparticularsetofFECs
ThenRimaybindasinglelabeltoallFECSintheset.Thisis nownas"Egress-TargetedLabelAssignment."
HowcanLSRRideterminethatanLSRReistheLSPEgressforallpac etsinaparticularFEC?Thereareanumberofpossibleways:
-Ifthenetwor isrunningalin stateroutingalgorithm,andallnodesintheareasupportMPLS,thentheroutingalgorithmprovidesRiwithenoughinformationtodeterminetheroutersthroughwhichpac
etsinthatFECmustleavetheroutingdomainorarea.
-Ifthenetwor isrunningBGP,Rimaybeabletodeterminethatthepac
etsinaparticularFECmustleavethenetwor
viasomeparticularrouterwhichisthe"BGPNextHop"forthatFEC.
-Itispossibletousethelabeldistributionprotocoltopassinformationaboutwhichaddressprefixesare"attached"towhichegressLSRs.Thismethodhastheadvantageofnotdependingonthepresenceoflin staterouting.
Ifegress-targetedlabelassignmentisused,thenumberoflabelsthatneedtobesupportedthroughoutthenetwor maybegreatlyreduced.ThismaybesignificantifoneisusinglegacyswitchinghardwaretodoMPLS,andtheswitchinghardwarecansupportonlya
7/31/2019 mpls rfc
39/58
limitednumberoflabels.
Onepossibleapproachwouldbetoconfigurethenetwor touseegress-targetedlabelassignmentbydefault,buttoconfigureparticularLSRstoNOTuseegress-targetedlabelassignmentforoneormoreoftheaddressprefixesforwhichitisanLSPegress.Weimposethefollowingrule:
-IfaparticularLSRisNOTanLSPEgressforsomesetofaddressprefixes,thenitshouldassignlabelstotheaddressprefixesinthesamewayasisdonebyitsLSPnexthopforthoseaddressprefixes.Thatis,supposeRdisRu'sLSPnext
Rosen,etal.StandardsTrac [Page41]RFC3031MPLSArchitectureJanuary2001
hopforaddressprefixesX1andX2.IfRdassignsthesamelabeltoX1andX2,Rushouldaswell.IfRdassignsdifferentlabelstoX1andX2,thenRushouldaswell.
Forexample,supposeonewantstoma eegress-targetedlabelassignmentthedefault,buttoassigndistinctlabelstothoseaddressprefixesforwhichtherearemultiplepossibleLSPegresses(i.e.,forthoseaddressprefixeswhicharemulti-homed.)OnecanconfigureallLSRstouseegress-targetedlabelassignment,andthenconfigureahandfulofLSRstoassigndistinctlabelstothoseaddressprefixeswhicharemulti-homed.Foraparticularmulti-homedaddressprefixX,onewouldonlyneedtoconfigurethisinLSRswhichareeitherLSPEgressesorLSPProxyEgressesforX.
ItisimportanttonotethatifRuandRdareadjacentLSRsinanLSPforX1andX2,forwardingwillstillbedonecorrectlyifRuassigns
distinctlabelstoX1andX2whileRdassignsjustonelabeltothebothofthem.ThisjustmeansthatR1willmapdifferentincominglabelstothesameoutgoinglabel,anordinaryoccurrence.
Similarly,ifRdassignsdistinctlabelstoX1andX2,butRuassignstothemboththelabelcorrespondingtotheaddressoftheirLSPEgressorProxyEgress,forwardingwillstillbedonecorrectly.RuwilljustmaptheincominglabeltothelabelwhichRdhasassignedtotheaddressofthatLSPEgress.
4.2.MPLSandExplicitlyRoutedLSPs
Thereareanumberofreasonswhyitmaybedesirabletouseexplicit
routinginsteadofhopbyhoprouting.Forexample,thisallowsroutestobebasedonadministrativepolicies,andallowstheroutesthatLSPsta
etobecarefullydesignedtoallowtrafficengineering[MPLS-TRFENG].
4.2.1.ExplicitlyRoutedLSPTunnels
Insomesituations,thenetwor administratorsmaydesiretoforwardcertainclassesoftrafficalongcertainpre-specifiedpaths,wherethesepathsdifferfromtheHop-by-hoppaththatthetrafficwould
7/31/2019 mpls rfc
40/58
ordinarilyfollow.Thiscanbedoneinsupportofpolicyrouting,orinsupportoftrafficengineering.Theexplicitroutemaybeaconfiguredone,oritmaybedetermineddynamicallybysomemeans,e.g.,byconstraint-basedrouting.
MPLSallowsthistobeeasilydonebymeansofExplicitlyRoutedLSPTunnels.Allthatisneededis:
Rosen,etal.StandardsTrac [Page42]RFC3031MPLSArchitectureJanuary2001
1.Ameansofselectingthepac etsthataretobesentintotheExplicitlyRoutedLSPTunnel;
2.AmeansofsettinguptheExplicitlyRoutedLSPTunnel;
3.Ameansofensuringthatpac etssentintotheTunnelwillnotloopfromthereceiveendpointbac tothetransmitendpoint.
Ifthetransmitendpointofthetunnelwishestoputalabeledpac etintothetunnel,itmustfirstreplacethelabelvalueatthetopofthestac withalabelvaluethatwasdistributedtoitbythetunnel'sreceiveendpoint.Thenitmustpushonthelabelwhichcorrespondstothetunnelitself,asdistributedtoitbythenexthopalongthetunnel.Toallowthis,thetunnelendpointsshouldbeexplicitlabeldistributionpeers.ThelabelbindingstheyneedtoexchangeareofnointeresttotheLSRsalongthetunnel.
4.3.LabelStac sandImplicitPeering
SupposeaparticularLSRReisanLSPproxyegressfor10address
prefixes,anditreacheseachaddressprefixthroughadistinctinterface.
Onecouldassignasinglelabeltoall10addressprefixes.ThenReisanLSPegressforall10addressprefixes.Thisensuresthatpac etsforall10addressprefixesgetdeliveredtoRe.However,Rewouldthenhavetoloo upthenetwor layeraddressofeachsuchpac
etinordertochoosetheproperinterfacetosendthepac
eton.
Alternatively,onecouldassignadistinctlabeltoeachinterface.ThenReisanLSPproxyegressforthe10addressprefixes.ThiseliminatestheneedforRetoloo
upthenetwor
layeraddressesinordertoforwardthepac ets.However,itcanresultintheuseofa
largenumberoflabels.
Analternativewouldbetobindall10addressprefixestothesamelevel1label(whichisalsoboundtotheaddressoftheLSRitself),andthentobindeachaddressprefixtoadistinctlevel2label.Thelevel2labelwouldbetreatedasanattributeofthelevel1labelbinding,whichwecallthe"Stac
Attribute".Weimposethefollowingrules:
-WhenLSRRuinitiallylabelsahithertounlabeledpac et,if
7/31/2019 mpls rfc
41/58
thelongestmatchforthepac et'sdestinationaddressisX,andRu'sLSPnexthopforXisRd,andRdhasdistributedtoRuabindingoflabelL1toX,alongwithastac attributeofL2,then
Rosen,etal.StandardsTrac [Page43]RFC3031MPLSArchitectureJanuary2001
1.RumustpushL2andthenL1ontothepac
et'slabelstac
,andthenforwardthepac ettoRd;
2.WhenRudistributeslabelbindingsforXtoitslabeldistributionpeers,itmustincludeL2asthestacattribute.
3.Wheneverthestac attributechanges(possiblyasaresultofachangeinRu'sLSPnexthopforX),Rumustdistributethenewstac attribute.
NotethatalthoughthelabelvalueboundtoXmaybedifferentateachhopalongtheLSP,thestac attributevalueispassedunchanged,andissetbytheLSPproxyegress.
ThustheLSPproxyegressforXbecomesan"implicitpeer"witheachotherLSRintheroutingareaordomain.Inthiscase,explicitpeeringwouldbetoounwieldy,becausethenumberofpeerswouldbecometoolarge.
4.4.MPLSandMulti-PathRouting
IfanLSRsupportsmultipleroutesforaparticularstream,thenitmayassignmultiplelabelstothestream,oneforeachroute.Thus
thereceptionofasecondlabelbindingfromaparticularneighborforaparticularaddressprefixshouldbeta enasmeaningthateitherlabelcanbeusedtorepresentthataddressprefix.
Ifmultiplelabelbindingsforaparticularaddressprefixarespecified,theymayhavedistinctattributes.
4.5.LSPTreesasMultipoint-to-PointEntities
Considerthecaseofpac etsP1andP2,eachofwhichhasadestinationaddresswhoselongestmatch,throughoutaparticularroutingdomain,isaddressprefixX.SupposethattheHop-by-hoppathforP1is,andtheHop-by-hoppathforP2is.Let'ssupposethatR3bindslabelL3toX,anddistributesthisbindingtoR2.R2bindslabelL2toX,anddistributesthisbindingtobothR1andR4.WhenR2receivespac
etP1,itsincominglabelwillbeL2.R2willoverwriteL2withL3,andsendP1toR3.WhenR2receivespac etP2,itsincominglabelwillalsobeL2.R2againoverwritesL2withL3,andsendP2ontoR3.
NotethenthatwhenP1andP2aretravelingfromR2toR3,theycarrythesamelabel,andasfarasMPLSisconcerned,theycannotbedistinguished.Thusinsteadoftal ingabouttwodistinctLSPs,
7/31/2019 mpls rfc
42/58
Rosen,etal.StandardsTrac [Page44]RFC3031MPLSArchitectureJanuary2001
R2,R3>and,wemighttal
ofasingle"Multipoint-to-PointLSPTree",whichwemightdenoteas.
ThiscreatesadifficultywhenweattempttouseconventionalATMswitchesasLSRs.SinceconventionalATMswitchesdonotsupportmultipoint-to-pointconnections,theremustbeprocedurestoensurethateachLSPisrealizedasapoint-to-pointVC.However,ifATMswitcheswhichdosupportmultipoint-to-pointVCsareinuse,thentheLSPscanbemostefficientlyrealizedasmultipoint-to-pointVCs.Alternatively,iftheSVPMultipointEncoding(section3.25.2)canbeused,theLSPscanberealizedasmultipoint-to-pointSVPs.
4.6.LSPTunnelingbetweenBGPBorderRouters
ConsiderthecaseofanAutonomousSystem,A,whichcarriestransit
trafficbetweenotherAutonomousSystems.AutonomousSystemAwillhaveanumberofBGPBorderRouters,andameshofBGPconnectionsamongthem,overwhichBGProutesaredistributed.Inmanysuchcases,itisdesirabletoavoiddistributingtheBGProutestorouterswhicharenotBGPBorderRouters.Ifthiscanbeavoided,the"routedistributionload"onthoseroutersissignificantlyreduced.However,theremustbesomemeansofensuringthatthetransittrafficwillbedeliveredfromBorderRoutertoBorderRouterbytheinteriorrouters.
ThiscaneasilybedonebymeansofLSPTunnels.SupposethatBGProutesaredistributedonlytoBGPBorderRouters,andnottotheinteriorroutersthatliealongtheHop-by-hoppathfromBorder
RoutertoBorderRouter.LSPTunnelscanthenbeusedasfollows:
1.EachBGPBorderRouterdistributes,toeveryotherBGPBorderRouterinthesameAutonomousSystem,alabelforeachaddressprefixthatitdistributestothatrouterviaBGP.
2.TheIGPfortheAutonomousSystemmaintainsahostrouteforeachBGPBorderRouter.EachinteriorrouterdistributesitslabelsforthesehostroutestoeachofitsIGPneighbors.
3.Supposethat:
a)BGPBorderRouterB1receivesanunlabeledpac etP,
b)addressprefixXinB1'sroutingtableisthelongestmatchforthedestinationaddressofP,
c)theroutetoXisaBGProute,
d)theBGPNextHopforXisB2,
7/31/2019 mpls rfc
43/58
Rosen,etal.StandardsTrac [Page45]RFC3031MPLSArchitectureJanuary2001
e)B2hasboundlabelL1toX,andhasdistributedthisbindingtoB1,
f)theIGPnexthopfortheaddressofB2isI1,
g)theaddressofB2isinB1'sandI1'sIGProutingtablesasahostroute,and
h)I1hasboundlabelL2totheaddressofB2,anddistributedthisbindingtoB1.
Thenbeforesendingpac etPtoI1,B1mustcreatealabelstac forP,thenpushonlabelL1,andthenpushonlabelL2.
4.SupposethatBGPBorderRouterB1receivesalabeledPac etP,wherethelabelonthetopofthelabelstac correspondstoanaddressprefix,X,towhichtherouteisaBGProute,andthatconditions3b,3c,3d,and3eallhold.Thenbeforesendingpac etPtoI1,B1mustreplacethelabelatthetopofthe
labelstac
withL1,andthenpushonlabelL2.
Withtheseprocedures,agivenpac etPfollowsalevel1LSPallofwhosemembersareBGPBorderRouters,andbetweeneachpairofBGPBorderRoutersinthelevel1LSP,itfollowsalevel2LSP.
TheseprocedureseffectivelycreateaHop-by-HopRoutedLSPTunnelbetweentheBGPBorderRouters.
SincetheBGPborderroutersareexchanginglabelbindingsforaddressprefixesthatarenoteven nowntotheIGProuting,theBGProutersshouldbecomeexplicitlabeldistributionpeerswitheachother.
ItissometimespossibletocreateHop-by-HopRoutedLSPTunnelsbetweentwoBGPBorderRouters,eveniftheyarenotinthesameAutonomousSystem.Suppose,forexample,thatB1andB2areinAS1.SupposethatB3isanEBGPneighborofB2,andisinAS2.Finally,supposethatB2andB3areonsomenetwor whichiscommontobothAutonomousSystems(a"DemilitarizedZone").Inthiscase,anLSPtunnelcanbesetupdirectlybetweenB1andB3asfollows:
-B3distributesroutestoB2(usingEBGP),optionallyassigninglabelstoaddressprefixes;
-B2redistributesthoseroutestoB1(usingIBGP),indicating
thattheBGPnexthopforeachsuchrouteisB3.IfB3hasassignedlabelstoaddressprefixes,B2passestheselabelsalong,unchanged,toB1.
Rosen,etal.StandardsTrac
[Page46]RFC3031MPLSArchitectureJanuary2001
7/31/2019 mpls rfc
44/58
-TheIGPofAS1hasahostrouteforB3.
4.7.OtherUsesofHop-by-HopRoutedLSPTunnels
TheuseofHop-by-HopRoutedLSPTunnelsisnotrestrictedtotunnelsbetweenBGPNextHops.AnysituationinwhichonemightotherwisehaveusedanencapsulationtunnelisoneinwhichitisappropriatetouseaHop-by-HopRoutedLSPTunnel