+ All Categories
Home > Documents > mpls rfc

mpls rfc

Date post: 05-Apr-2018
Category:
Upload: cecilia-voinea
View: 215 times
Download: 0 times
Share this document with a friend

of 58

Transcript
  • 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


Recommended