EEC-484/584 Computer Networks Lecture 9 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer Networking book)
2 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Outline Reminder (for graduate students only) –Wiki-Page Project #1 due on Oct 24, Wednesday (midnight)! Schedule Change: –Oct.31 Wed Lab#4 –Nov.5 Mon Quiz#3 –Nov.7 Wed Lecture#12 Quiz#2 results Network layer design issues Router architecture Routing algorithm –Link state routing
3 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao EEC484 Quiz2 Result High 100, low 78, average 86.5, medium 84/86 Average: Q1–39.8, Q2–9.7, Q3–9.8, Q4–20, Q6–7.2
4 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao EEC584 Quiz2 Result High 100, low 58, average 88, medium 90 Average: Q1–41.8, Q2–9.1, Q3–9.7, Q4–18.6, Q5–9.2
5 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Network Layer Main concern: end-to-end transmission –Perhaps over many hops at intermediate nodes Services provided to the transport layer –Routing & congestion control –Internetworking – connection of multiple networks Goals – services should –Be independent of subnet technologies –Shield transport layer from number, type, topology of subnets –Uniform network addresses across LAN/WAN
6 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Network 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 network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical
7 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Two Key Network-Layer Functions Forwarding: move packets from router’s input to appropriate router output Routing: determine route taken by packets from source to dest. –Routing algorithms Analogy: Routing: process of planning trip from source to destination Forwarding: process of getting through single intersection
8 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao value in arriving packet’s header routing algorithm local forwarding table header value output link Interplay between Routing & Forwarding Forwarding table is also referred to as routing table
9 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Network Service Model Q: What service model for “channel” transporting datagrams from sender to receiver? Example services for individual datagrams: Guaranteed delivery Guaranteed delivery with less than 40 msec delay Best effort 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
10 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Network Layer Connection and Connection-less Service Datagram network provides network-layer connectionless service Virtual Circuit network provides network-layer connection-oriented service
11 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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 1. Send data 2. Receive data application transport network data link physical
12 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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
13 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Virtual Circuits Call setup for each call before data can flow (teardown afterwards) Each packet carries VC identifier (not destination host address) Every router on source-dest path maintains “state” for each passing connection Link, router resources (bandwidth, buffers) may be allocated to VC (dedicated resources = predictable service) “source-to-dest path behaves much like telephone circuit” –performance-wise –network actions along source-to-destination path
14 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao VC Implementation A VC consists of: 1.Path from source to destination 2.VC numbers, one number for each link along path 3.Entries in forwarding tables in routers along path Packet belonging to VC carries VC number (rather than destination address) VC number can be changed on each link –New VC number comes from forwarding table
15 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Virtual Circuit Network Routers maintain connection state information!
16 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Virtual Circuits: Signaling Protocols Used to setup, maintain teardown VC Used in ATM, frame-relay, X.25 Not used in today’s Internet application transport network data link physical 1. Initiate call 2. incoming call 3. Accept call 4. Call connected 5. Data flow begins 6. Receive data application transport network data link physical
17 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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
18 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao What’s in a Router? Run routing algorithms/protocol (RIP, OSPF, BGP) Forwarding datagrams from incoming to outgoing link
19 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Input Port Functions Decentralized switching: given datagram dest., lookup output port using forwarding table in input port memory queuing: newly arrived datagrams might be queued before processing Physical layer: bit-level reception Data link layer: e.g., Ethernet
20 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Types of Switching Fabrics
21 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Output Ports Buffering required when datagrams arrive from fabric faster than the transmission rate Scheduling discipline chooses among queued datagrams for transmission
22 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Routing Algorithms 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 Routing algorithm: algorithm that finds least-cost path
23 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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
24 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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
25 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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
26 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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
27 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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
28 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Compute Shortest Path from A to D
29 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Step Permanently labeled BGECFHD 1 A 2,A6,A∞∞∞∞∞ 2 AB 6,A4,B9,B∞∞∞ 3 ABE 5,E9,B6,E∞∞ 4 ABEG 9,B6,E9,G∞ 5 ABEGF 9,B8,F∞ 6 ABEGFH 9,B10,H 7 ABEGFHC 10,H 8 ABEGFHCD
30 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao Computation Results BCDEFGHBCDEFGH (A,B) Destination link A B C D E F G H Routing Table in A
31 Fall Semester 2007EEC-484/584: Computer NetworksWenbing Zhao 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 wv z