ComputerNetworking:ATopDownApproachAnoteontheuseofthesePowerpointslides:We’remakingtheseslidesfreelyavailabletoall(faculty,students,readers).They’reinPowerPointformsoyouseetheanimations;andcanadd,modify,anddeleteslides(includingthisone)andslidecontenttosuityourneeds.Theyobviouslyrepresentalotofworkonourpart.Inreturnforuse,weonlyaskthefollowing:Ifyouusetheseslides(e.g.,inaclass)thatyoumentiontheirsource(afterall,we’dlikepeopletouseourbook!)Ifyoupostanyslidesona(orperhapsidenticalto)ourslides,andnoteourcopyrightofthismaterial.Thanksandenjoy!JFK/KWRAllmaterialcopyright1996-2016J.FKuroseandK.W.Ross,AllRightsReserved7theditionJimKurose,KeithRossPearson/AddisonWesleyApril2016Chapter4NetworkLayer:TheDataPlane4-1NetworkLayer:DataPlane4.1OverviewofNetworklayer•dataplane•controlplane4.2What’sinsidearouter4.3IP:InternetProtocol•datagramformat•fragmentation•IPv4addressing•networkaddresstranslation•IPv64.4GeneralizedForwardandSDN•match•action•OpenFlowexamplesofmatch-plus-actioninactionChapter4:outline4-2NetworkLayer:DataPlaneChapter4:networklayerchaptergoals:understandprinciplesbehindnetworklayerservices,focusingondataplane:•networklayerservicemodels•forwardingversusrouting•howarouterworks•generalizedforwardinginstantiation,implementationintheInternet4-3NetworkLayer:DataPlaneNetworklayertransportsegmentfromsendingtoreceivinghostonsendingsideencapsulatessegmentsintodatagramsonreceivingside,deliverssegmentstotransportlayernetworklayerprotocolsineveryhost,routerrouterexaminesheaderfieldsinallIPdatagramspassingthroughitapplicationtransportnetworkdatalinkphysicalapplicationtransportnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysicalnetworkdatalinkphysical4-4NetworkLayer:DataPlaneTwokeynetwork-layerfunctionsnetwork-layerfunctions:forwarding:movepacketsfromrouter’sinputtoappropriaterouteroutputrouting:determineroutetakenbypacketsfromsourcetodestination•routingalgorithmsanalogy:takingatripforwarding:processofgettingthroughsingleinterchangerouting:processofplanningtripfromsourcetodestination4-5NetworkLayer:DataPlaneNetworklayer:dataplane,controlplaneDataplanelocal,per-routerfunctiondetermineshowdatagramarrivingonrouterinputportisforwardedtorouteroutputportforwardingfunctionControlplanenetwork-widelogicdetermineshowdatagramisroutedamongroutersalongend-endpathfromsourcehosttodestinationhosttwocontrol-planeapproaches:•traditionalroutingalgorithms:implementedinrouters•software-definednetworking(SDN):implementedin(remote)servers1230111valuesinarrivingpacketheader4-6NetworkLayer:DataPlanePer-routercontrolplaneRoutingAlgorithmIndividualroutingalgorithmcomponentsineachandeveryrouterinteractinthecontrolplanedataplanecontrolplane5-7NetworkLayer:ControlPlane120111valuesinarrivingpacketheader3dataplanecontrolplaneLogicallycentralizedcontrolplaneAdistinct(typicallyremote)controllerinteractswithlocalcontrolagents(CAs)RemoteControllerCACACACACA5-8NetworkLayer:ControlPlane1201113valuesinarrivingpacketheaderNetworkservicemodelQ:Whatservicemodelfor“channel”transportingdatagramsfromsendertoreceiver?exampleservicesforindividualdatagrams:guaranteeddeliveryguaranteeddeliverywithlessthan40msecdelayexampleservicesforaflowofdatagrams:in-orderdatagramdeliveryguaranteedminimumbandwidthtoflowrestrictionsonchangesininter-packetspacing4-9NetworkLayer:DataPlaneNetworklayerservicemodels:NetworkArchitectureInternetATMATMATMATMServiceModelbesteffortCBRVBRABRUBRBandwidthnoneconstantrateguaranteedrateguaranteedminimumnoneLossnoyesyesnonoOrdernoyesyesyesyesTimingnoyesyesnonoCongestionfeedbackno(inferredvialoss)nocongestionnocongestionyesnoGuarantees?4-10NetworkLayer:DataPlane4.1OverviewofNetworklayer•dataplane•controlplane4.2What’sinsidearouter4.3IP:InternetProtocol•datagramformat•fragmentation•IPv4addressing•networkaddresstranslation•IPv64.4GeneralizedForwardandSDN•match•action•OpenFlowexamplesofmatch-plus-actioninactionChapter4:outline4-11NetworkLayer:DataPlaneRouterarchitectureoverviewhigh-seedswitchingfabricroutingprocessorrouterinputportsrouteroutputportsforwardingdataplane(hardware)operttesinnanosecondtimeframerouting,managementcontrolplane(software)operatesinmillisecondtimeframehigh-levelviewofgenericrouterarchitecture:4-12NetworkLayer:DataPlanelineterminationlinklayerprotocol(receive)lookup,forwardingqueueingInputportfunctionsdecentralizedswitching:usingheaderfieldvalues,lookupoutputportusingforwardingtableininputportmemory(“matchplusaction”)goal:completeinputportprocessingat‘linespeed’queuing:ifdatagramsarrivefasterthanforwardingrateintoswitchfabricphysicallayer:bit-levelreceptiondatalinklayer:e.g.,Ethernetseechapter5switchfabric4-13NetworkLayer:DataPlanelineterminationlinklayerprotocol(receive)lookup,forwardingqueueingInputportfunctionsdecentralizedswitching:usingheaderfieldvalues,lookupo