Network layer functionsNetwork service modelVirtual circuitsVirtual circuits: signaling protocolsDatagram networks:Network layer service models:Datagram or VC network: why?RoutingRouting Algorithm classificationA Link-State Routing AlgorithmDijsktra’s AlgorithmDijkstra’s algorithm: exampleDijkstra’s algorithm, discussionDistance Vector Routing AlgorithmDistance Table: exampleDistance table gives routing tableDistance Vector Routing: overviewDistance Vector Algorithm:Distance Vector Algorithm (cont.):Distance Vector Algorithm: exampleSlide 21Distance Vector: link cost changesSlide 23Comparison of LS and DV algorithmsHierarchical RoutingSlide 26Intra-AS and Inter-AS routingSlide 28Network Layer 4-1Network layer functionstransport packet from sending to receiving hosts network layer protocols in every host, routerthree important functions:path determination: route taken by packets from source to dest. Routing algorithmsforwarding: move packets from router’s input to appropriate router outputcall setup: some network architectures require router call setup along path before data flowsnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalNetwork Layer 4-2Network service modelQ: What service model for “channel” transporting packets from sender to receiver?guaranteed bandwidth?preservation of inter-packet timing (no jitter)?loss-free delivery?in-order delivery?congestion feedback to sender????virtual circuitor datagram?The most important abstraction provided by network layer:service abstractionNetwork Layer 4-3Virtual circuitscall setup, teardown for each call before data can floweach packet carries VC identifier (not destination host ID)every router on source-dest path maintains “state” for each passing connectiontransport-layer connection only involved two end systemslink, router resources (bandwidth, buffers) may be allocated to VCto get circuit-like performance“source-to-dest path behaves much like telephone circuit”performance-wisenetwork actions along source-to-dest pathNetwork Layer 4-4Virtual circuits: signaling protocolsused to setup, maintain teardown VCused in ATM, frame-relay, X.25not used in today’s Internet– research issueapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical1. Initiate call2. incoming call3. Accept call4. Call connected5. Data flow begins6. Receive dataNetwork Layer 4-5Datagram networks: no call setup at network layerrouters: no state about end-to-end connectionsno network-level concept of “connection”packets forwarded using destination host addresspackets between same source-dest pair may take different pathsapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical1. Send data2. Receive dataNetwork Layer 4-6Network layer service models:NetworkArchitectureInternetATMATMATMATMServiceModelbest effortCBRVBRABRUBRBandwidthnoneconstantrateguaranteedrateguaranteed minimumnoneLossnoyesyesnonoOrdernoyesyesyesyesTimingnoyesyesnonoCongestionfeedbackno (inferredvia loss)nocongestionnocongestionyesnoGuarantees ?Internet model being extended: Intserv, DiffservNetwork Layer 4-7Datagram or VC network: why?Internetdata exchange among computers“elastic” service, no strict timing req. “smart” end systems (computers)can adapt, perform control, error recoverysimple inside network, complexity at “edge”many link types different characteristicsuniform service difficultATMevolved from telephonyhuman conversation: strict timing, reliability requirementsneed for guaranteed service“dumb” end systemstelephonescomplexity inside networkNetwork Layer 4-8RoutingGraph abstraction for routing algorithms:graph nodes are routersgraph edges are physical linkslink cost: delay, $ cost, or congestion levelGoal: determine “good” path(sequence of routers) thru network from source to dest.Routing protocolAEDCBF2213112535“good” path:typically means minimum cost pathother def’s possibleNetwork Layer 4-9Routing Algorithm classificationGlobal or decentralized information?Global:all routers have complete topology, link cost info“link state” algorithmsDecentralized: router knows physically-connected neighbors, link costs to neighborsiterative process of computation, exchange of info with neighbors“distance vector” algorithmsStatic or dynamic?Static: routes change slowly over timeDynamic: routes change more quicklyperiodic updatein response to link cost changesNetwork Layer 4-10A Link-State Routing AlgorithmDijkstra’s algorithmnet topology, link costs known to all nodesaccomplished via “link state broadcast” all nodes have same infocomputes least cost paths from one node (‘source”) to all other nodesgives routing table for that nodeiterative: after k iterations, know least cost path to k dest.’sNotation:c(i,j): link cost from node i to j. cost infinite if not direct neighborsD(v): current value of cost of path from source to dest. Vp(v): predecessor node along path from source to v, that is next vN: set of nodes whose least cost path definitively knownNetwork Layer 4-11Dijsktra’s Algorithm1 Initialization: 2 N = {A} 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v) 6 else D(v) = infinity 7 8 Loop 9 find w not in N such that D(w) is a minimum 10 add w to N 11 update D(v) for all v adjacent to w and not in N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in NNetwork Layer 4-12Dijkstra’s algorithm: exampleStep012345start NAADADEADEBADEBCADEBCFD(B),p(B)2,A2,A2,AD(C),p(C)5,A4,D3,E3,ED(D),p(D)1,AD(E),p(E)infinity2,DD(F),p(F)infinityinfinity4,E4,E4,EAEDCBF2213112535Network Layer 4-13Dijkstra’s algorithm, discussionAlgorithm complexity: n nodeseach iteration: need to check all nodes, w, not in Nn*(n+1)/2 comparisons: O(n**2)more efficient implementations possible: O(nlogn)Oscillations possible:e.g., link cost = amount of carried
View Full Document