EEC-484/584 Computer Networks

Slides:



Advertisements
Similar presentations
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
Advertisements

EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
Network Layer4-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 13.
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 11 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.5 Routing algorithms m Link state m Distance.
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
1 Announcement #1 r Did you all receive homework #1 and #2? r Homework #3 will be available online during the day r Midterm.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 15.
Network Layer Goals: understand principles behind network layer services: –routing (path selection) –dealing with scale –how a router works –advanced topics:
Introduction to Network Layer. Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using bridges? –No!
Network Layer —— the core of networking. The Network Core  mesh of interconnected routers  the fundamental question: how is data transferred through.
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 18 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
7-1 Last time □ Wireless link-layer ♦ Introduction Wireless hosts, base stations, wireless links ♦ Characteristics of wireless links Signal strength, interference,
1 CSE3213 Computer Network I Network Layer (7.1, 7.3, ) Course page: Slides modified from Alberto Leon-Garcia.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Network Layer introduction.
1 John Magee 24 February 2014 CS 280: Network Layer: Virtual Circuits / Datagram Networks and What’s inside a Router? Most slides adapted from Kurose and.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Network and Communications Ju Wang Chapter 5 Routing Algorithm Adopted from Choi’s notes Virginia Commonwealth University.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
4: Network Layer4-1 Schedule Today: r Finish Ch3 r Collect 1 st Project r See projects run r Start Ch4 Soon: r HW5 due Monday r Last chance for Qs r First.
The Network Layer Introduction  functionality and service models Theory  link state and distance vector algorithms  broadcast algorithms  hierarchical.
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Forwarding.
EEC-484 Computer Networks Lecture 10 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
CSE 421 Computer Networks. Chapter 4 Network Layer Thanks to you All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer.
Network Layer Routing Networks: Routing.
INTRODUCTION NETWORKING CONCEPTS AND ADMINISTRATION CSIS 3723
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Chapter 3 Part 3 Switching and Bridging
Chapter 4 Network Layer All material copyright
Network Layer Goals: Overview:
CS4470 Computer Networking Protocols
EEC-484/584 Computer Networks
Chapter 4: Network Layer
Chapter 3 Part 3 Switching and Bridging
Chapter 4-1 Network layer
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
ECE453 – Introduction to Computer Networks
Network Layer I have learned from life no matter how far you go
PRESENTATION COMPUTER NETWORKS
October 26th, 2010 CS1652/Telcom2310 Jack Lange
EEC-484/584 Computer Networks
Network Layer Routing Networks: Routing.
Chapter 4: Network Layer
Network Layer (contd.) Routing
Computer network technology
Chapter 4: Network Layer
Network Layer Routing.
Chapter 4 Network Layer A note on the use of these ppt slides:
Presentation transcript:

EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao wenbingz@gmail.com (Part of the slides are based on Drs. Kurose & Ross’s slides for their Computer Networking book)

EEC-484/584: Computer Networks Outline Quiz#2 result Introduction to network layer Routing and forwarding, etc. Router architecture Routing algorithm Link state routing Distance vector routing 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks EEC484 Quiz#2 Result High 95, low 32, average: 67 Q1: 28.2/50, Q2: 16/20, Q3: 7/10, Q4: 16/20 11/16/2018 EEC-484/584: Computer Networks Wenbing Zhao

EEC-484/584: Computer Networks EEC584 Quiz#2 Result High 95, low 35, average: 69 Q1: 34/50, Q2: 19/20, Q3: 9.2/10, Q4: 6.7/20 11/16/2018 EEC-484/584: Computer Networks Wenbing Zhao

EEC-484/584: Computer Networks Network Layer Main concern: end-to-end transmission Perhaps over many hops at intermediate nodes Services provided to transport layer Transport segment from sending to receiving host On sending side encapsulates segments into datagrams On receiving side, delivers segments to transport layer Network layer protocols in every host, router Router examines header fields in all IP datagrams passing through it application transport network data link physical network data link physical 11/16/2018 EEC-484/584: Computer Networks

Two Key Network-Layer Functions Routing: determine route taken by packets from source to destination Forwarding: move packets from router’s input to appropriate router output Analogy: Routing: process of planning trip from source to destination Forwarding: process of getting through single intersection 11/16/2018 EEC-484/584: Computer Networks

Interplay between Routing & Forwarding 1 2 3 0111 value in arriving packet’s header routing algorithm local forwarding table header value output link 0100 0101 1001 Forwarding table is also referred to as routing table 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Network Service Model Q: What service model for “channel” transporting datagrams from sender to receiver? Example services for a flow of datagrams: In-order datagram delivery Guaranteed minimum bandwidth to flow Restrictions on changes in inter-packet spacing No guarantee whatsoever Example services for individual datagrams: Guaranteed delivery Guaranteed delivery with less than 40 msec delay Best effort 11/16/2018 EEC-484/584: Computer Networks

Network Layer Connection and Connection-less Service Datagram network provides network-layer connectionless service Virtual Circuit network provides network-layer connection-oriented service (omitted) 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Datagram Networks No call setup at network layer Routers: no state about end-to-end connections no network-level concept of “connection” Packets forwarded using destination host address packets between same source-dest pair may take different paths application transport network data link physical application transport network data link physical 1. Send data 2. Receive data 11/16/2018 EEC-484/584: Computer Networks

Routing within a Datagram Subnet Router has forwarding table telling which outgoing line to use for each possible destination router Each datagram has full destination address When packet arrives, router looks up outgoing line to use and transmits packet 11/16/2018 EEC-484/584: Computer Networks

Datagram or VC Network: Why? Internet (datagram) data exchange among computers “elastic” service, no strict timing requirement “smart” end systems (computers) can adapt, perform control, error recovery simple inside network, complexity at “edge” ATM (VC) evolved from telephony human conversation: strict timing, reliability requirements need for guaranteed service “dumb” end systems telephones complexity inside network 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks What’s in a Router? Run routing algorithms/protocol (RIP, OSPF, BGP) Forwarding datagrams from incoming to outgoing link 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Input Port Functions Physical layer: bit-level reception Decentralized switching: given datagram dest., lookup output port using forwarding table in input port memory queuing: newly arrived datagrams might be queued before processing Data link layer: e.g., Ethernet 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Output Ports Buffering required when datagrams arrive from fabric faster than the transmission rate Scheduling discipline chooses among queued datagrams for transmission 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Routing Algorithms Routing algorithm: algorithm that finds least-cost path Least-cost in what sense? Number of hops, geographical distance, least queueing and transmission delay Desirable properties Correctness, simplicity Robustness to faults Stability – converge to equilibrium 11/16/2018 EEC-484/584: Computer Networks

Routing Algorithm Classification Static or dynamic? Non-adaptive (static) - Route computed in advance, off-line, downloaded to routers Adaptive (dynamic) - Route based on measurements or estimates of current traffic and topology 11/16/2018 EEC-484/584: Computer Networks

Routing Algorithm Classification Global or decentralized information? Global: all routers have complete topology & link cost info “link state” algorithms Decentralized: router knows physically-connected neighbors, link costs to neighbors iterative process of computation, exchange of info with neighbors “distance vector” algorithms 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Link State Routing Basic idea Assumes net topology & link costs known to all nodes Accomplished via “link state broadcast” All nodes have same info Computes least cost paths from one node (‘source”) to all other nodes, using Dijkstra’s Algorithm Gives forwarding table for that node 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Dijkstra’s Algorithm Each node labeled with distance from source node along best known path Initially, no paths known so all nodes labeled with infinity As algorithm proceeds, labels may change reflecting shortest path Label may be tentative or permanent, initially, all tentative When label represents shortest path from source to node, label becomes permanent 11/16/2018 EEC-484/584: Computer Networks

Compute Shortest Path from A to D Start with node A as the initial working node Examine each of the nodes adjacent to A, i.e., B and G, relabeling them with the distance to A Examine all the tentatively labeled nodes in the whole graph and make the one with the smallest label permanent, i.e., B. B is the new working node Steps computing the shortest path from A to D, using Dijkstra’s algorithm. The arrows indicate the working node. We start out by marking node A as permanent, indicated by a filled-in circle. Then we examine, in turn, each of the nodes adjacent to A (the working node), relabeling each one with the distance to A. Whenever a node is relabeled, we also label it with the node from which the probe was made so that we can reconstruct the final path later. Having examined each of the nodes adjacent to A, we examine all the tentatively labeled nodes in the whole graph and make the one with the smallest label permanent. This one becomes the new working node. Last two steps: C(9,B) permanent; D(10,H) permanent; 11/16/2018 EEC-484/584: Computer Networks

Compute Shortest Path from A to D Stopped here step3 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Step Permanently labeled B G E C F H D 1 A 2,A 6,A ∞ 2 AB 4,B 9,B 3 ABE 5,E 6,E 4 ABEG 9,G 5 ABEGF 8,F 6 ABEGFH 10,H 7 ABEGFHC 8 ABEGFHCD 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Computation Results A B C D E F G H Destination Routing Table in A link B C D E F G H (A,B) 11/16/2018 EEC-484/584: Computer Networks

Dijkstra’s Algorithm: Exercise Given the subnet shown below, using the Dijkstra’s Algorithm, determine the shortest path tree from node u and its routing table u y x w v z 2 1 3 5 11/16/2018 EEC-484/584: Computer Networks

Distance Vector Routing Also called Bellman-Ford or Ford-Fulkerson Each router maintains a table, giving best known distance to each destination and which line to use to get there Table is updated by exchanging info with neighbors Table contains one entry for each router in network with Preferred outgoing line to that destination Estimate of time or distance to that destination Once every T msec, router sends to each neighbor a list of estimated delays to each destination and receives same from those neighbors Used in ARPANET 11/16/2018 EEC-484/584: Computer Networks

Distance Vector Routing: How each entry is updated d(A,X) d(A,Y) A X Z d(Y,Z) d(X,Z) At router A, for Z Compute d(A,X) + d(X,Z) and d(A,Y) + d(Y,Z), take minimum Y d(A,Z) = min {d(A,v) + d(v,Z) } where min is taken over all neighbors v of A 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks d(x,z) = min{d(x,y) + d(y,z), d(x,z) + d(z,z)} = min{2+1 , 7+0} = 3 d(x,y) = min{d(x,y) + d(y,y), d(x,z) + d(z,y)} = min{2+0 , 7+1} = 2 node x table x y z x y z 0 2 7 ∞ from cost to cost to x y z x 2 3 from y 2 0 1 z 7 1 0 node y table cost to x z 1 2 7 y x y z x ∞ ∞ ∞ 2 0 1 y from z ∞ ∞ ∞ Each node keeps track of the following info: Its own distance vector: least-cost to each of other routers Each of its neighbor’s distance vector received most recently If there is a change in distance vector, a node sends the update to all its neighbors node z table cost to x y z x ∞ ∞ ∞ from y ∞ ∞ ∞ z 7 1 time 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks d(x,z) = min{d(x,y) + d(y,z), d(x,z) + d(z,z)} = min{2+1 , 7+0} = 3 d(x,y) = min{d(x,y) + d(y,y), d(x,z) + d(z,y)} = min{2+0 , 7+1} = 2 node x table x y z x y z 0 2 7 ∞ from cost to cost to cost to x y z x y z x 0 2 3 x 0 2 3 from y 2 0 1 from y 2 0 1 z 7 1 0 z 3 1 0 node y table cost to cost to cost to x z 1 2 7 y x y z x y z x y z x ∞ ∞ x 0 2 7 ∞ 2 0 1 x 0 2 3 y from y from 2 0 1 from y 2 0 1 z z ∞ ∞ ∞ 7 1 0 z 3 1 0 node z table cost to cost to cost to x y z x y z x y z x 0 2 7 x 0 2 3 x ∞ ∞ ∞ from y from y 2 0 1 from y 2 0 1 ∞ ∞ ∞ z z z 3 1 0 3 1 0 7 1 time 11/16/2018 EEC-484/584: Computer Networks

Distance Vector Routing Distance from A to B 12ms, to C 25ms, to D 40ms, to G 18ms Distance from J to A 8ms, to I 10ms, to H 12ms, to K 6ms Distance from J to A to G 8+18 = 26ms to I to G 10+31 = 41ms to H to G 12+6=18ms to K to G 6+31=37ms 11/16/2018 EEC-484/584: Computer Networks

Distance Vector Routing Good news travels fast Bad news travels slow Count to infinity problem: Takes too long to converge upon router failure × Routers’ knowledge about the cost to A 11/16/2018 EEC-484/584: Computer Networks

EEC-484/584: Computer Networks Hierarchical Routing Problem: Bigger network => bigger routing table As network size increases, more router memory used to store routing table, more time to process routing tables, more bandwidth to transmit states reports Use hierarchical structure to solve the problem Regions: router knows details of how to route packets within its region, does not know internals of other regions Clusters of regions, zones of clusters, groups of zones Tradeoff: savings in memory space may result in longer path 11/16/2018 EEC-484/584: Computer Networks

Distance Vector Routing: Exercise Consider the subnet shown below. Distance vector routing is used, and the following vectors have just come in to router C: from B: (5, 0, 8, 12, 6, 2); from D: (16, 12, 6, 0, 9, 10); and from E: (7, 6, 3, 9, 0, 4). The measured delays to B, D, and E, are 6, 3, and 5, respectively. What is C's new routing table? Give both the outgoing line to use and the expected delay. Postpone the discussion on the solution to link state to discussion session? 11/16/2018 EEC-484/584: Computer Networks