版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter4:NetworkLayerChaptergoals:
understandprinciplesbehindnetworklayerservices:networklayerservicemodelsforwardingversusroutinghowarouterworksrouting(pathselection)dealingwithscaleadvancedtopics:IPv6fundationinstantiation,implementationintheInternet1NetworkLayerNetworklayerProvidesend-to-endtransportservice
sendingsideencapsulatessegmentsintodatagramsrcvingsidedeliverssegmentstotransportlayernetworklayerprotocolsineveryhost,routerrouterexaminesheaderfieldsinallIPdatagramspassingthroughitapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysical2NetworkLayerTwoKeyNetwork-LayerFunctionsforwarding:movepacketsfromrouter’sinputtoappropriaterouteroutputrouting:determineroutetakenbypacketsfromsourcetodest.routingalgorithms3NetworkLayer1230111valueinarrivingpacket’sheaderroutingalgorithmlocalforwardingtableheadervalueoutputlink01000101011110013221Interplaybetweenroutingandforwarding4NetworkLayerConnectionsetup3rdimportantfunctioninsomenetworkarchitectures:ATM,framerelay,X.25beforedatagramsflow,twoendhostsandinterveningroutersestablishvirtualconnectionroutersgetinvolvednetworkvstransportlayerconnectionservice:network:betweentwohosts(mayalsoinvolveinterveningroutersincaseofVCs)transport:betweentwoprocesses5NetworkLayer
NetworkservicemodelQoSofendtoendtransportingguaranteedbandwidth?preservationofinter-packettiming(nojitter)?loss-freedelivery?in-orderdelivery?congestionfeedbacktosender?NoerrorsDelay???virtualcircuitordatagram?The
mostimportantabstractionprovidedbynetworklayer:serviceabstractionNetwork-servicemodeldefinesthecharacteristicsofend-to-enddatatransport
betweensenderandreceiver6NetworkLayerNetworklayerservicemodels:NetworkArchitectureInternetATMATMATMATMServiceModelbesteffortCBRVBRABRUBRBandwidthnoneconstantrateguaranteedrateguaranteedminimumnoneLossnoyesyesnonoOrdernoyesyesyesyesTimingnoyesyesnonoCongestionfeedbackno(inferredvialoss)nocongestionnocongestionyesnoGuarantees?7NetworkLayerNetworklayerconnectionandconnection-lessservicedatagramnetworkprovidesnetwork-layerconnectionlessserviceVCnetworkprovidesnetwork-layerconnectionserviceCallsetupimplementation:innetworkcore8NetworkLayerVirtualcircuitscallsetup,teardownforeachcallbeforedatacanfloweachpacketcarriesVCidentifier(notdestinationhostaddress)everyrouteronsource-destpathmaintains“state”foreachpassingconnectionlink,routerresources(bandwidth,buffers)maybeallocatedtoVC(dedicatedresources=predictableservice)“source-to-destpathbehavesmuchliketelephonecircuit”performance-wisenetworkactionsalongsource-to-destpath9NetworkLayerVCimplementationaVCconsistsof:pathfromsourcetodestinationVCnumbers,onenumberforeachlinkalongpathentriesinforwardingtablesinroutersalongpathpacketbelongingtoVCcarriesVCnumber(ratherthandestaddress)VCnumbercanbechangedoneachlink.NewVCnumbercomesfromforwardingtable10NetworkLayerForwardingtable122232123VCnumberinterfacenumberIncominginterfaceIncomingVC#OutgoinginterfaceOutgoingVC#11232226311837217197387…………Forwardingtableinnorthwestrouter:Routersmaintainconnectionstateinformation!11NetworkLayerVirtualcircuits:signalingprotocolsusedtosetup,maintain,teardownVCusedinATM,frame-relay,X.25notusedintoday’sInternetapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysical1.Initiatecall2.incomingcall3.Acceptcall4.Callconnected5.Dataflowbegins6.Receivedata12NetworkLayerDatagramnetworksnocallsetupatnetworklayerrouters:nostateaboutend-to-endconnectionsnonetwork-levelconceptof“connection”packetsforwardedusingdestinationhostaddresspacketsbetweensamesource-destpairmaytakedifferentpathsapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysical1.Senddata2.Receivedata13NetworkLayerForwardingtable
DestinationAddressRange
LinkInterface
11001000000101110001000000000000through0
11001000000101110001011111111111
11001000000101110001100000000000through111001000000101110001100011111111
11001000000101110001100000000000through2
11001000000101110001111111111111otherwise34billionpossibleentries14NetworkLayerLongestprefixmatching
PrefixMatch
LinkInterface110010000001011100010011001000000101110001100011100100000010111000112otherwise3DA:11001000000101110001100010101010ExamplesDA:11001000000101110001011010100001Whichinterface?Whichinterface?15NetworkLayerDatagramorVCnetwork:why?Internet(datagram)dataexchangeamongcomputers“elastic”service,nostricttimingreq.“smart”endsystems(computers)canadapt,performcontrol,errorrecoverysimpleinsidenetwork,complexityat“edge”manylinktypesdifferentcharacteristicsuniformservicedifficultATM(VC)evolvedfromtelephonyhumanconversation:stricttiming,reliabilityrequirementsneedforguaranteedservice“dumb”endsystemstelephonescomplexityinsidenetwork16NetworkLayerRouterArchitectureOverviewTwokeyrouterfunctions:
runroutingalgorithms/protocol(RIP,OSPF,BGP)forwardingdatagramsfromincomingtooutgoinglink17NetworkLayerInputPortFunctionsDecentralizedswitching:
givendatagramdest.,lookupoutputportusingforwardingtableininputportmemorygoal:completeinputportprocessingat‘linespeed’queuing:ifdatagramsarrivefasterthanforwardingrateintoswitchfabricPhysicallayer:bit-levelreceptionDatalinklayer:e.g.,Ethernetseechapter518NetworkLayerThreetypesofswitchingfabrics19NetworkLayerSwitchingViaMemoryFirstgenerationrouters:traditionalcomputerswithswitchingunderdirectcontrolofCPUpacketcopiedtosystem’smemoryspeedlimitedbymemorybandwidth(2buscrossingsperdatagram)InputPortOutputPortMemorySystemBus20NetworkLayerSwitchingViaaBusdatagramfrominputportmemorytooutputportmemoryviaasharedbusbuscontention:switchingspeedlimitedbybusbandwidth32Gbpsbus,Cisco5600:sufficientspeedforaccessandenterpriserouters21NetworkLayerSwitchingViaAnInterconnectionNetworkovercomebusbandwidthlimitationsBanyannetworks,otherinterconnectionnetsinitiallydevelopedtoconnectprocessorsinmultiprocessoradvanceddesign:fragmentingdatagramintofixedlengthcells,switchcellsthroughthefabric.Cisco12000:switches60Gbpsthroughtheinterconnectionnetwork22NetworkLayerOutputPortsBufferingrequiredwhendatagramsarrivefromfabricfasterthanthetransmissionrateSchedulingdisciplinechoosesamongqueueddatagramsfortransmission23NetworkLayerOutputportqueueingbufferingwhenarrivalrateviaswitchexceedsoutputlinespeedqueueing(delay)andlossduetooutputportbufferoverflow!24NetworkLayerHowmuchbuffering?RFC3439ruleofthumb:averagebufferingequalto“typical”RTT(say250msec)timeslinkcapacityCe.g.,C=10Gpslink:2.5GbitbufferRecentrecommendation:withNflows,bufferingequaltoRTTC.N25NetworkLayerInputPortQueuingFabricslowerthaninputportscombined->queueingmayoccuratinputqueuesHead-of-the-Line(HOL)blocking:queueddatagramatfrontofqueuepreventsothersinqueuefrommovingforwardqueueingdelayandlossduetoinputbufferoverflow!26NetworkLayer
RouterOverview27NetworkLayer
RouterOverview28NetworkLayer
RouterOverview29NetworkLayerTheInternetNetworklayerforwardingtableHost,routernetworklayerfunctions:RoutingprotocolspathselectionRIP,OSPF,BGPIPprotocoladdressingconventionsdatagramformatpackethandlingconventionsICMPprotocolerrorreportingrouter“signaling”Transportlayer:TCP,UDPLinklayerphysicallayerNetworklayer30NetworkLayerIPdatagramformatverlength32bitsdata(variablelength,typicallyaTCPorUDPsegment)16-bitidentifierheaderchecksumtimetolive32bitsourceIPaddressIPprotocolversionnumberheaderlength(bytes)maxnumberremaininghops(decrementedateachrouter)forfragmentation/reassemblytotaldatagramlength(bytes)upperlayerprotocoltodeliverpayloadtohead.lentypeofservice“type”ofdataflgsfragmentoffsetupperlayer32bitdestinationIPaddressOptions(ifany)E.g.timestamp,recordroutetaken,specifylistofrouterstovisit.howmuchoverheadwithTCP?20bytesofTCP20bytesofIP=40bytes+applayeroverhead31NetworkLayerIPFragmentation&ReassemblynetworklinkshaveMTU(max.transfersize)-largestpossiblelink-levelframe.differentlinktypes,differentMTUslargeIPdatagramdivided(“fragmented”)withinnetonedatagrambecomesseveraldatagrams“reassembled”onlyatfinaldestinationIPheaderbitsusedtoidentify,orderrelatedfragmentsfragmentation:in:onelargedatagramout:3smallerdatagramsreassembly32NetworkLayerIPFragmentationandReassemblyID=xoffset=0fragflag=0length=4000ID=xoffset=0fragflag=1length=1500ID=xoffset=1480fragflag=1length=1500ID=xoffset=2960fragflag=0length=1040OnelargedatagrambecomesseveralsmallerdatagramsExample4000bytedatagramMTU=1500bytes1480bytesin
datafield:0~1479Offset:1480~2959
33NetworkLayerIPAddressing:introductionIPaddress:32-bitidentifierforhost,routerinterface
interface:connectionbetweenhost/routerandphysicallinkrouter’stypicallyhavemultipleinterfaceshosttypicallyhasoneinterfaceIPaddressesassociatedwitheachinterface7=1101111100000001000000010000000122311134NetworkLayerSubnetsIPaddress:
networkpart(highorderbits)hostpart(loworderbits)What’sasubnet?deviceinterfaceswithsamenetpartofIPaddresscanphysicallyreacheachotherwithoutinterveningrouter7networkconsistingof3subnetssubnet35NetworkLayerSubnets/24/24/24RecipeTodeterminethesubnets,detacheachinterfacefromitshostorrouter,creatingislandsofisolatednetworks.Eachisolatednetworkiscalledanetworksegment.Subnetmask:/2436NetworkLayerSubnetsHowmany?737NetworkLayer
IPAddresses0networkhost10networkhost110networkhost1110multicastaddressABCDclass
to55
to55
to55
to5532bitsgivennotionof“network”,let’sre-examineIPaddresses:“class-full”addressing:38NetworkLayer
SpecialAddressesNet-idHost-idSourceaddDest.addspecifications00Thisnetwork,thishost0Host-idThisnetwork,ahostAll1All1BroadcastinginthisnetworkNet-idAll1Broadcastinginanetwork127anyLoopbacktest39NetworkLayer
SubnetMask
Introducedin1985,adaptivetodistributedinstitute--subnetsomeLeftbitsofhost-idareusedforsubnetfieldSubnetpartitionmustusesubnetmask:UsingsubnetwillreduceavailablehostaddressesB:65534host-id,if6bitusedforsubnet-id(26-2)(210-2)=63364Net-idSubnetidHost-id111111…11111111..111000..00
defaultsubnetmasks:A:B:C:
ipaddress:subnetmask:
subnetaddress=ipaddress&subnetmask40NetworkLayer
AnexampleAsmallcompanyhasaclassCnetworklicenseandneedstocreate10usablesubnets,eachsubnetcapableofaccommodatingatleast12hosts.Whichofthefollowingistheappropriatesubnetmask?
92244041NetworkLayerIPaddressing:CIDRCIDR:
ClasslessInterDomainRoutingnetworkportionofaddressofarbitrarylengthaddressformat:a.b.c.d/x,wherexis#bitsinsubnetportionofaddress1100100000010111
0001000000000000subnetparthostpart/2342NetworkLayerIPaddresses:howtogetone?Q:HowdoesahostgetIPaddress?hard-codedbysystemadmininafileWindows:control-panel->network->configuration->tcp/ip->propertiesUNIX:/etc/rc.configDHCP:
DynamicHostConfigurationProtocol:dynamicallygetaddressfromasserver“plug-and-play”43NetworkLayerDHCP:DynamicHostConfigurationProtocolGoal:allowhosttodynamicallyobtainitsIPaddressfromnetworkserverwhenitjoinsnetworkCanrenewitsleaseonaddressinuseAllowsreuseofaddresses(onlyholdaddresswhileconnectedan“on”)Supportformobileuserswhowanttojoinnetwork(moreshortly)DHCPoverview:hostbroadcasts“DHCPdiscover”msgDHCPserverrespondswith“DHCPoffer”msg
hostrequestsIPaddress:“DHCPrequest”msgDHCPserversendsaddress:“DHCPack”msg44NetworkLayerDHCPclient-serverscenario7ABE
DHCP
server
arrivingDHCPclientneedsaddressinthisnetwork45NetworkLayerDHCPclient-serverscenarioDHCPserver:arrivingclienttimeDHCPdiscoversrc:,68dest.:55,67yiaddr:transactionID:654DHCPoffersrc:,67dest:55,68yiaddrr:transactionID:654Lifetime:3600secsDHCPrequestsrc:,68dest::55,67yiaddrr:transactionID:655Lifetime:3600secsDHCPACKsrc:,67dest:55,68yiaddrr:transactionID:655Lifetime:3600secsHalfoftime:Re-request46NetworkLayerDHCP:morethanIPaddressDHCPcanreturnmorethanjustallocatedIPaddressonsubnet:addressoffirst-hoprouterforclientnameandIPaddressofDNSsevernetworkmask(indicatingnetworkversushostportionofaddress)47NetworkLayerDHCP:exampleconnectinglaptopneedsitsIPaddress,addroffirst-hoprouter,addrofDNSserver:useDHCProuter(runsDHCP)DHCPUDPIPEthPhyDHCPDHCPDHCPDHCPDHCPDHCPUDPIPEthPhyDHCPDHCPDHCPDHCPDHCPDHCPrequestencapsulatedinUDP,encapsulatedinIP,encapsulatedin802.3EthernetEthernetframebroadcast(dest:FFFFFFFFFFFF)onLAN,receivedatrouterrunningDHCPserverEthernetdemux’edtoIPdemux’ed,UDPdemux’edtoDHCP48NetworkLayerDCPserverformulatesDHCPACKcontainingclient’sIPaddress,IPaddressoffirst-hoprouterforclient,name&IPaddressofDNSserverrouter(runsDHCP)DHCPUDPIPEthPhyDHCPDHCPDHCPDHCPDHCPUDPIPEthPhyDHCPDHCPDHCPDHCPDHCPencapsulationofDHCPserver,frameforwardedtoclient,demux’inguptoDHCPatclientclientnowknowsitsIPaddress,nameandIPaddressofDSNserver,IPaddressofitsfirst-hoprouterDHCP:example49NetworkLayerIPaddresses:howtogetone?Q:HowdoesnetworkgetsubnetpartofIPaddr?A:getsallocatedportionofitsproviderISP’saddressspaceISP'sblock11001000000101110001000000000000/20Organization011001000000101110001000000000000/23Organization111001000000101110001001000000000/23Organization211001000000101110001010000000000/23...…..….….Organization711001000000101110001111000000000/23
50NetworkLayerHierarchicaladdressing:routeaggregation“Sendmeanythingwithaddressesbeginning/20”/23/23/23Fly-By-Night-ISPOrganization0Organization7InternetOrganization1ISPs-R-Us“Sendmeanythingwithaddressesbeginning/16”/23Organization2......Hierarchicaladdressingallowsefficientadvertisementofroutinginformation:51NetworkLayerHierarchicaladdressing:morespecificroutesISPs-R-UshasamorespecificroutetoOrganization1“Sendmeanythingwithaddressesbeginning/20”/23/23/23Fly-By-Night-ISPOrganization0Organization7InternetOrganization1ISPs-R-Us“Sendmeanythingwithaddressesbeginning/16or/23”/23Organization2......52NetworkLayerIPaddressing:thelastword...Q:HowdoesanISPgetblockofaddresses?A:ICANN:InternetCorporationforAssigned
NamesandNumbersallocatesaddressesmanagesDNSassignsdomainnames,resolvesdisputes53NetworkLayerNAT:NetworkAddressTranslationlocalnetwork(e.g.,homenetwork)10.0.0/24restofInternetDatagramswithsourceordestinationinthisnetworkhave10.0.0/24addressforsource,destination(asusual)AlldatagramsleavinglocalnetworkhavesamesinglesourceNATIPaddress:,differentsourceportnumbers54NetworkLayerNAT:NetworkAddressTranslationMotivation:localnetworkusesjustoneIPaddressasfarasoutsideworldisconcerned:rangeofaddressesnotneededfromISP:justoneIPaddressforalldevicescanchangeaddressesofdevicesinlocalnetworkwithoutnotifyingoutsideworldcanchangeISPwithoutchangingaddressesofdevicesinlocalnetworkdevicesinsidelocalnetnotexplicitlyaddressable,visiblebyoutsideworld(asecurityplus).55NetworkLayerNAT:NetworkAddressTranslationImplementation:NATroutermust:
outgoingdatagrams:
replace(sourceIPaddress,port#)ofeveryoutgoingdatagramto(NATIPaddress,newport#)...remoteclients/serverswillrespondusing(NATIPaddress,newport#)asdestinationaddr.
remember(inNATtranslationtable)every(sourceIPaddress,port#)to(NATIPaddress,newport#)translationpair
incomingdatagrams:
replace(NATIPaddress,newport#)indestfieldsofeveryincomingdatagramwithcorresponding(sourceIPaddress,port#)storedinNATtable56NetworkLayerNAT:NetworkAddressTranslationS:,3345D:86,8011:hostsendsdatagramto86,80NATtranslationtableWANsideaddrLANsideaddr,5001,3345…………S:86,80D:,33454S:,5001D:86,8022:NATrouterchangesdatagramsourceaddrfrom,3345to,5001,updatestableS:86,80D:,500133:Replyarrivesdest.address:,50014:NATrouterchangesdatagramdestaddrfrom,5001to,3345
57NetworkLayerNAT:NetworkAddressTranslation16-bitport-numberfield:60,000simultaneousconnectionswithasingleLAN-sideaddress!NATiscontroversial:routersshouldonlyprocessuptolayer3violatesend-to-endargumentNATpossibilitymustbetakenintoaccountbyappdesigners,eg,P2PapplicationsaddressshortageshouldinsteadbesolvedbyIPv658NetworkLayerNATtraversalproblemclientwantstoconnecttoserverwithaddressserveraddresslocaltoLAN(clientcan’tuseitasdestinationaddr)onlyoneexternallyvisibleNATtedaddress:solution1:staticallyconfigureNATtoforwardincomingconnectionrequestsatgivenporttoservere.g.,(,port2500)alwaysforwardedtoport25000NATrouterClient?59NetworkLayerNATtraversalproblemsolution2:UniversalPlugandPlay(UPnP)InternetGatewayDevice(IGD)Protocol.AllowsNATtedhostto:learnpublicIPaddress()add/removeportmappings(withleasetimes)i.e.,automatestaticNATportmapconfigurationNATrouterIGD60NetworkLayerNATtraversalproblemsolution3:relaying(usedinSkype)NATedclientestablishesconnectiontorelayExternalclientconnectstorelayrelaybridgespacketsbetweentoconnectionsClientNATrouter1.connectiontorelayinitiatedbyNATtedhost2.connectiontorelayinitiatedbyclient3.relayingestablished61NetworkLayerICMP:InternetControlMessageProtocolusedbyhosts&routerstocommunicatenetwork-levelinformationerrorreporting:unreachablehost,network,port,protocolechorequest/reply(usedbyping)network-layer“above”IP:ICMPmsgscarriedinIPdatagramsICMPmessage:type,codeplusfirst8bytesofIPdatagramcausingerrorType
Code
description00echoreply(ping)30workunreachable31desthostunreachable32destprotocolunreachable33destportunreachable36destnetworkunknown37desthostunknown40sourcequench(congestioncontrol-notused)80echorequest(ping)90routeadvertisement100routerdiscovery110TTLexpired120badIPheader62NetworkLayerTracerouteandICMPSourcesendsseriesofUDPsegmentstodestFirsthasTTL=1SecondhasTTL=2,etc.UnlikelyportnumberWhennthdatagramarrivestonthrouter:RouterdiscardsdatagramAndsendstosourceanICMPmessage(type11,code0)Messageincludesnameofrouter&IPaddressWhenICMPmessagearrives,sourcecalculatesRTTTraceroutedoesthis3timesStoppingcriterionUDPsegmenteventuallyarrivesatdestinationhostDestinationreturnsICMP“hostunreachable”packet(type3,code3)WhensourcegetsthisICMP,stops.63NetworkLayerIPv6Initialmotivation:
32-bitaddressspacesoontobecompletelyallocated.Additionalmotivation:headerformathelpsspeedprocessing/forwardingheaderchangestofacilitateQoSIPv6datagramformat:
fixed-length40byteheadernofragmentationallowed64NetworkLayerIPv6Header(Cont)Priority:identifypriorityamongdatagramsinflowFlowLabel:identifydatagramsinsame“flow.”(conceptof“flow”notwelldefined).Nextheader:identifyupperlayerprotocolfordata65NetworkLayerOtherChangesfromIPv4Checksum:
removedentirelytoreduceprocessingtimeateachhopOptions:allowed,butoutsideofheader,indicatedby“NextHeader”fieldICMPv6:newversionofICMPadditionalmessagetypes,e.g.“PacketTooBig”multicastgroupmanagementfunctions66NetworkLayerTransitionFromIPv4ToIPv6Notallrouterscanbeupgradedsimultaneousno“flagdays”HowwillthenetworkoperatewithmixedIPv4andIPv6routers?Tunneling:IPv6carriedaspayloadinIPv4datagramamongIPv4routers67NetworkLayerTunnelingABEFIPv6IPv6IPv6IPv6tunnelLogicalview:Physicalview:ABEFIPv6IPv6IPv6IPv6IPv4IPv468NetworkLayerTunnelingABEFIPv6IPv6IPv6IPv6tunnelLogicalview:Physicalview:ABEFIPv6IPv6IPv6IPv6CDIPv4IPv4Flow:XSrc:ADest:FdataFlow:XSrc:ADest:FdataFlow:XSrc:ADest:FdataSrc:BDest:EFlow:XSrc:ADest:FdataSrc:BDest:EA-to-B:IPv6E-to-F:IPv6B-to-C:IPv6insideIPv4B-to-C:IPv6insideIPv469NetworkLayer1230111valueinarrivingpacket’sheaderroutingalgorithmlocalforwardingtableheadervalueoutputlink01000101011110013221Interplaybetweenrouting,forwarding70NetworkLayeruyxwvz2213112535Graph:G=(N,E)N=setofrouters={u,v,w,x,y,z}E=setoflinks={(u,v),(u,x),(v,x),(v,w),(x,w),(x,y),(w,y),(w,z),(y,z)}GraphabstractionRemark:GraphabstractionisusefulinothernetworkcontextsExample:P2P,whereNissetofpeersandEissetofTCPconnections71NetworkLayerGraphabstraction:costsuyxwvz2213112535
c(x,x’)=costoflink(x,x’)-e.g.,c(w,z)=5costcouldalwaysbe1,orinverselyrelatedtobandwidth,orinverselyrelatedtocongestionCostofpath(x1,x2,x3,…,xp)=c(x1,x2)+c(x2,x3)+…+c(xp-1,xp)Question:What’stheleast-costpathbetweenuandz?Routingalgorithm:algorithmthatfindsleast-costpath72NetworkLayerRoutingAlgorithmclassificationGlobalordecentralizedinformation?Global:allroutershavecompletetopology,linkcostinfo“linkstate”algorithmsDecentralized:
routerknowsphysically-connectedneighbors,linkcoststoneighborsiterativeprocessofcomputation,exchangeofinfowithneighbors“distancevector”algorithmsStaticordynamic?Static:
routeschangeslowlyovertimeDynamic:
routeschangemorequicklyperiodicupdateinresponsetolinkcostchanges73NetworkLayerALink-StateRoutingAlgorithmDijkstra’salgorithmnettopology,linkcostsknowntoallnodesaccomplishedvia“linkstatebroadcast”allnodeshavesameinfocomputesleastcostpathsfromonenode(‘source”)toallothernodesgivesforwardingtableforthatnodeiterative:afterkiterations,knowleastcostpathtokdest.’sNotation:c(x,y):linkcostfromnodextoy;=∞ifnotdirectneighborsD(v):currentvalueofcostofpathfromsourcetodest.vp(v):predecessornodealongpathfromsourcetovN':setofnodeswhoseleastcostpathdefinitivelyknown74NetworkLayerDijsktra’sAlgorithm1Initialization:
2N'={u}3forallnodesv4ifvadjacenttou5thenD(v)=c(u,v)6elseD(v)=∞78Loop
9findwnotinN'suchthatD(w)isaminimum10addwtoN'11updateD(v)forallvadjacenttowandnotinN':12D(v)=min(D(v),D(w)+c(w,v))13/*newcosttoviseitheroldcosttovorknown14shortestpathcosttowpluscostfromwtov*/15untilallnodesinN'
75NetworkLayerDijkstra’salgorithm:exampleStep012345N'uuxuxyuxyvuxyvwuxyvwzD(v),p(v)2,u2,u2,uD(w),p(w)5,u4,x3,y3,yD(x),p(x)1,u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 复合材料电磁屏蔽性能
- 三模数学沈阳试卷及答案
- 王强安全工程师课件
- 四川省眉山市仁寿县2025-2026学年高一上学期12月期中联考物理试题(无答案)
- 机械工业职业培训课件
- 2025-2030中国广告传媒中的效果广告行业市场转化分析及精准投资规划评估研究报告
- 2025-2030中国工程机械行业应用领域技术升级与投资前景分析
- 卫生健康与安全教育课件
- 基于区块链的分布式账本系统安全性分析
- 2025-2030中国工业机器人应用场景拓展研究与智能制造升级方向探讨
- 2026成方金融信息技术服务有限公司校园招聘5人考试题库附答案
- 2025年中职计算机应用(计算机网络基础)试题及答案
- 车辆租赁服务协议书
- 2025安徽安庆市公安机关招聘警务辅助人员418人备考笔试题库及答案解析
- 2024年广州市南沙区南沙街道社区专职招聘考试真题
- 2026年牡丹江大学单招职业技能考试题库新版
- 国家开放大学22517《社区工作》(统设课)期末终考题库
- MOOC 国际商务-暨南大学 中国大学慕课答案
- 医疗器械临床评价报告模板
- 污染场地调查评价与修复
- 生物计算机课件
评论
0/150
提交评论