ECE544: Communication Networks-II Spring 2009 H. Liu Lecture 4 Includes teaching materials from D. Raychaudhuri, L. Peterson.

Slides:



Advertisements
Similar presentations
CSE 461: IP/ICMP and the Network Layer. Next Topic  Focus:  How do we build large networks?  Introduction to the Network layer  Internetworks  Service.
Advertisements

Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 11 – February 16, 2010.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
1 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
CSE331: Introduction to Networks and Security Lecture 9 Fall 2002.
ECE544: Communication Networks-II, Spring 2010 D. Raychaudhuri Lecture 4 Includes teaching materials from L. Peterson.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Spring 2003CS 4611 Internetworking COS 461 Spring 2003.
CSE331: Introduction to Networks and Security Lecture 7 Fall 2002.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
15-744: Computer Networking L-5 Intra-Domain Routing.
Chapter 4 IP Routing Professor Rick Han University of Colorado at Boulder
CS Internetworking Slide Set 8. In this set... Addressing Datagram forwarding.
ECE544: Communication Networks-II, Spring 2007 D. Raychaudhuri Lecture 4,5 Includes teaching materials from L. Peterson.
1 ELEN 602 Lecture 19 Routing. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing table –routing:
1 ELEN Lecture 13 LAN Bridges Routers, Switches, Gateways Network layer -IP Reading: 6.7,
Spring 2002CS 4611 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
26-Aug-154/598N: Computer Networks Recap SBC UUNET Comcast Sprint End Users Internet First mile problem Last mile problem.
CS 6401 Internet Protocol Outline Introduction to Internet Protocol Header and address formats ICMP Tools.
IP (Internet Protocol) –the network level protocol in the Internet. –Philosophy – minimum functionality in IP, smartness at the end system. –What does.
1 CS 4396 Computer Networks Lab Dynamic Routing Protocols - II OSPF.
1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
CS551: Unicast Routing Christos Papadopoulos (
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
Fall 2010CMSC 1501 Internetworking. Fall 2010CMSC 1502 Assumptions Data pipe from every machine to every other machine. –Need not be single link (and.
A Review of Evolving Network Technology Ethernet & IP J.J. Ekstrom March 2008.
1 Internet Protocol. 2 Connectionless Network Layers Destination, source, hop count Maybe other stuff –fragmentation –options (e.g., source routing) –error.
10/13/2015© 2008 Raymond P. Jefferis IIILect 07 1 Internet Protocol.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
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.
TCOM 515 IP Routing. Syllabus Objectives IP header IP addresses, classes and subnetting Routing tables Routing decisions Directly connected routes Static.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 21.
Spring 2010CS 3321 Chapter 4: Internetworking. Spring 2010CS 3322 Assumptions Data pipe from every machine to every other machine. –Need not be single.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
Routing and Routing Protocols
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Routing protocols. Static Routing Routes to destinations are set up manually Route may be up or down but static routes will remain in the routing tables.
Internet Protocols. ICMP ICMP – Internet Control Message Protocol Each ICMP message is encapsulated in an IP packet – Treated like any other datagram,
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
1 Internetworking: IP Packet Switching Reading: (except Implementation; pp )
3. INTERNETWORKING (PART 3: IP) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 18 February
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
CSS432 Basic Internetworking Textbook Ch3.2
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
1 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Scaling the Network Chapters 3-4 Part 2
Dynamic Routing Protocols II OSPF
Scaling the Network: The Internet Protocol
3. Internetworking (part 3: IP)
Intra-Domain Routing Jacob Strauss September 14, 2006.
CS 457 – Lecture 10 Internetworking and IP
ECE544: Communication Networks-II, Spring 2006
Internetworking Outline Best Effort Service Model
ECE544: Communication Networks-II, Spring 2016
Intradomain Routing Outline Introduction to Routing
2. Fragmentation and Reassembly
Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.) Goal is to use this opportunity.
Scaling the Network: The Internet Protocol
Tree Structured Internet(c. 1990)
Presentation transcript:

ECE544: Communication Networks-II Spring 2009 H. Liu Lecture 4 Includes teaching materials from D. Raychaudhuri, L. Peterson

Today’s Lecture IP basics Routing principles –distance vector (RIP) –link state (OSPF)

IP Basics Best Effort Service Model Global Addressing Scheme ARP & DHCP

IP Internet A network of networks –Heterogeneity: inter-connect a collection of physical networks with various technologies (Ethernet, token-ring, …) –Scalability: Capable to grow to many nodes (size doubled every year) Hierarchical addressing and routing Protocol Stack R2 R1 H4 H5 H3 H2 H1 Network 2 (Ethernet) Network 1 (Ethernet) H6 Network 3 (FDDI) Network 4 (point-to-point) H7R3H8 R1 ETH FDDI IP ETH TCP R2 FDDI PPP IP R3 PPP ETH IP H1 IP ETH TCP H8 Appl.

Service Model Connectionless (datagram-based) Best-effort delivery (unreliable service) –packets are lost –packets are delivered out of order –duplicate copies of a packet are delivered –packets can be delayed for a long time Keep router simple

Packet Format Packet format VersionHLen TOSLength IdentFlagsOffset TTLProtocolChecksum SourceAddr DestinationAddr Options (variable) Pad (variable) Data HLen: the length of header in 32-bit word Length: the length of the datagram, including header in bytes TOS: or Differentiated Services (DS) field, 2-bit Explicit Congestion Notification (ECN) + 6-bit Differentiated Services Code Point (DSCP) Ident: identifier set by source, unique over some reasonable time period. Checksum: only for header

Fragmentation and Reassembly Each network has some Maximum Transmission Unit (MTU) Strategy –fragment when necessary (MTU < Datagram) by router –try to avoid fragmentation at source host –re-fragmentation is possible –fragments are self-contained datagrams –delay reassembly until destination host –do not recover from lost fragments If one fragment is lost, the destination discards other fragments of this datagram –For ATM, frame is CS-PDU

Example Ident = xOffset = 0 Start of header 0 Rest of header 1400 data bytes Ident = xOffset = 0 Start of header 1 Rest of header 512 data bytes Ident = xOffset = 64 Start of header 1 Rest of header 512 data bytes Ident = xOffset = 128 Start of header 0 Rest of header 376 data bytes Flags: –Reserved; must be zero. –Don't Fragment (DF): drop if datagram > MTU –More Fragments (MF): set to 1 if fragmented (except the last fragment) Offset: measured in units of eight-byte blocks –fragmentation always happens on 8-byte boundaries –16-bit length (max 65,535)/8=>max possible offset value fit in 13 bit offset filed

Global Addresses Properties –globally unique –hierarchical: network + host Private addresses – – – Multicast addresses (class D): to Router: –Each interface has its own address Assigned by The Internet Assigned Numbers Authority (IANA) NetworkHost A: NetworkHost B: NetworkHost C:

Datagram Forwarding Strategy –every datagram contains destination’s address –if directly connected to destination network, then forward to node Compare the network part of the dest. address –if not directly connected to destination network, then forward to some router –forwarding table maps network number into next hop –each host has a default router –each router maintains a forwarding table Example (R2) Network NumberNext Hop 1R3 2R1 3Interface 1 4Interface 0

Address Translation Map IP addresses into physical hardware addresses (e.g. Ethernet MAC address) –destination host –next hop router Techniques –encode physical address in host part of IP address –table-based Address Resolution Protocol (ARP) –table of IP to MAC address bindings –broadcast ARP query if IP address not in table –target machine responds with its physical address –table entries are discarded if not refreshed

ARP Details Format –HardwareType: type of physical network (e.g., Ethernet) –ProtocolType: type of higher layer protocol (e.g., IP) –HLEN & PLEN: length of physical and protocol addresses –Operation: request or response –Source/Target-Physical/Protocol addresses Notes –table entries timeout in about 10 minutes –ARP request contains the source’s IP address and MAC address Target updates its ARP table with source’s IP-MAC address mapping Refresh the table entry for source’s IP-MAC address mapping if a node already has an entry for the source Otherwise, do not refresh the table entries TargetHardwareAddr (bytes 2–5) TargetProtocolAddr (bytes 0–3) SourceProtocolAddr (bytes 2–3) Hardware type = 1ProtocolType = 0x0800 SourceHardwareAddr (bytes 4–5) TargetHardwareAddr (bytes 0–1) SourceProtocolAddr (bytes 0–1) HLen = 48PLen = 32Operation SourceHardwareAddr (bytes 0–3)

ATM ARP ATM ARP for mapping IP ATM addr –medium is not a broadcast type unlike Ethernet –requires servers which maintain ARP tables Configure each node with the ARP server’s ATM address Set up VC to the server Register the IP and ATM addresses with the server To send data to an IP address –Obtain dest.’s IP-ATM address mapping from the server –setup the ATM VC to the destination –concept of multiple “logical IP subnets” (LIS) Divided a large ATM into a number of LISs connected by routers

Dynamic Host Control Protocol (DHCP) DHCP server per network for IP address assignment Static list of IP physical addr or dynamic binding from common address pool Host boot-up via well-known broadcast address to send DHCPDISCOVER DHCP server reply with assigned IP address, default router, etc. The IP address is “leased” to the host for some period of time –Renew the lease periodically before expire DHCP “relay agent” can be used to avoid one server per network

Dynamic Host Control Protocol (DHCP) DHCP packet format (runs over UDP) OperationHTypeHLenHops Xid Secs Flag ciaddr yiaddr siaddr giaddr chaddr (16B).... Host Other networks Unicast to server Broadcast DHCP relay DHCP server

Internet Control Message Protocol (ICMP) Network utilities: –Ping utility is implemented using the ICMP "Echo request" and "Echo reply" messages Alive, delay measurement Redirect (from router to source host) –Host connected to a network with two or more routers –One router finds it is better to use another router to reach a destination host or network Destination unreachable (protocol, port, or host) TTL exceeded (so datagrams don’t cycle forever) Checksum failed Reassembly failed Cannot fragment TypeCodechecksum IDsequence

Routing Basics

Routing Problem Routing Problem: How to find the lowest cost path between two nodes –the process to build the routing and forwarding tables in each router Network as a Graph –Each edge has a cost –Path cost = the sum of the costs of all the edges that make up the path. Factors –dynamic: link, node, topology, link cost changes

Two main approaches DV: Distance-vector protocols LS: Link state protocols Variations of above methods applied to: –Intra-domain routing (small/med networks) RIP, OSPF Domain: an internetwork in which all the routers are under the same administrative control (e.g. a single internet service provider, an university) –Inter-domain routing (large/global networks) BGP-4

Distance Vector Protocols Employed in the early Arpanet Each node constructs a vector containing the “distances” (costs) to all other nodes Distributes the vector to its immediate neighbors. –Information exchange vector of distances to destinations Distributed next hop computation –Distributed Bellman-Ford Algorithm Assumption: –Each node knows the cost of the link to each of its direct neighbor Can be configured or other means (e.g. measuring data rate, delay, packet loss rate, and estimating according to a metric) –Link down = infinite cost

Distance Vector Each node maintains a set of triples –(Destination, Cost, NextHop) Exchange updates with directly connected neighbors –periodically (on the order of several seconds) even nothing changes Let others know it is running Refresh the route –whenever routing table changes (called triggered update) Detect link or node failure –“Hello” message exchange between neighbors –Does not receive the expected periodical routing updates for the last few update cycles. Receive an update from another router that causes it to change its routing table Each update is a list of pairs: –( Destination, Cost) Update local table if receive a “better” route –smaller cost –came from next-hop Refresh existing routes; delete if they time out

Distributed Bellman-Ford Start Conditions: Each router starts with a vector of distances to all directly attached networks Send step: Each router advertises its current vector to all neighboring routers. Receive step: Upon receiving vectors from each of its neighbors, router computes its own distance to each neighbor. Then, for every network X, router finds that neighbor who is closer to X than any other neighbor. Router updates its cost to X. After doing this for all X, router goes to send step.

Example - initial distances A B E C D Info at node A B C D ABC 07~ 701 ~10 ~~ Distance to node D ~ ~ 2 0 E18~2 1 8 ~ 2 0 E

E receives D’s routes A B E C D Info at node A B C D ABC 07~ 701 ~10 ~~ Distance to node D ~ ~ 2 0 E18~2 1 8 ~ 2 0 E

E updates cost to C A B E C D Info at node A B C D ABC 07~ 701 ~10 ~~ Distance to node D ~ ~ 2 0 E ~ 2 0 E

A receives B’s routes A B E C D Info at node A B C D ABC 07~ 701 ~10 ~~ Distance to node D ~ ~ 2 0 E ~ 2 0 E

A updates cost to C A B E C D Info at node A B C D ABC ~10 ~~ Distance to node D ~ ~ 2 0 E ~ 2 0 E

A receives E’s routes A B E C D Info at node A B C D ABC ~10 ~~ Distance to node D ~ ~ 2 0 E ~ 2 0 E

A updates cost to C and D A B E C D Info at node A B C D ABC ~10 ~~ Distance to node D 3 ~ 2 0 E ~ 2 0 E

Final distances A BC D Info at node A B C D ABC Distance to node D E E E

Final distances after link failure A BC D Info at node A B C D ABC Distance to node D E E E

View from a node A B E C D dest A B C D ABD Next hop E’s routing table

Distance Vector Example R1R2 R4 R3R Info at Node R1R2R3R4R5 R R R R R5--9-0

DV Example (cont.) R1R2 R4 R3R Info at Node R1R2R3R4R5 R R R R R

DV Example (cont.) R1R2 R4 R3R Info at Node R1R2R3R4R5 R R R R R

DV Example – after link R2-R3 breaks R1R2 R4 R3R Info at Node R1R2R3R4R5 R R R R R

DV Example – after link R2-R3 breaks R1R2 R4 R3R Info at Node R1R2R3R4R5 R R R R R

DV Example – after link R2-R3 breaks R1R2 R4 R3R Info at Node R1R2R3R4R5 R R R R R

The bouncing effect destcostNext hop B1B C2B destcostNext hop A1A C1C A B C destcostNext hop A2B B1B

C sends routes to B A 25 1 B C destcostNext hop B-- C25C destcostNext hop A2B B1B destcostNext hop A-- C1B

B updates distance to A A 25 1 B C destcostNext hop A3C C1B destcostNext hop A2B B1B destcostNext hop B-- C25C

B sends routes to C A 25 1 B C destcostNext hop B-- C25C destcostNext hop A3C C1B destcostNext hop A4B B1B

C sends routes to B A 25 1 B C Count to infinity destcostNext hop B-- C25C destcostNext hop A4B B1B destcostNext hop A5C C1B

How are these loops caused? Observation 1: –B’s metric increases Observation 2: –C picks B as next hop to A –But, the implicit path from C to A includes itself!

Avoiding the Bouncing Effect Select loop-free paths Use a relatively small number as infinity (p artial solution) –E.g. the max number of hops across a network < 16, –pick 16 => infinity Bounds the time to count to infinity However, problem if the network grows to a point where some nodes are separated by more than 16 Each route advertisement carries entire path –if a router sees itself in path, it rejects the route Split horizon: –A node does not send the routes it learned from a neighbor to that neighbor E.g. B has a route (E, 2, A), does not include (E, 2) in the routing update to A –Only work for routing loops involved in two nodes Split horizon with poison reverse –B sends (E, infinity) to A, A will not use B to get to E. –Once again, Only work for routing loops involved in two nodes

Distance Vector in Practice RIP and RIPv2 –RIP is a UDP-based protocol –uses split-horizon/poison reverse –Cost: Hop count –The special address is used to describe a default route. –RIP2: carry subnet information, support for variable length subnet masks (VLSM), MD5 authentication –RIPv2 multicasts routing updates to , as opposed to RIP which uses broadcast commandVersionMust be zero address family identifier 1Route Tag 1 (only for RIP2) IPv4 address 1 Subnet Mask 1 (only for RIP2, zero for RIP1) Next Hop 1 (only for RIP2, zero for RIP1) Cost/Metric 1 address family identifier 2Route Tag 2 More destinations

Link State Routing Assumptions: Each node knows –The state of links to its neighbors –The cost of each link Step 1: Each node broadcasts its link state information to all other nodes –Each node obtains the knowledge of all the links in the network Step 2: Each node locally computes shortest paths to all other nodes from the collected link-state knowledge of the complete network.

Link State Routing: Building blocks Reliable broadcast mechanism –Reliable Flooding All the nodes get a copy of link state info from all other nodes Consistent network view –sequence number in each link-state message Which link-state message is more recent. –Acknowledgements and retransmissions Shortest path tree (SPT) algorithm –Dijkstra’s algorithm

Link state packets (LSPs) Periodical updates: each node creates a Link state packet (LSP) periodically, containing: –Node ID –List of neighbors and link cost –Sequence number Increase by 1 for each new message –Time to live (TTL) Triggered Updates: create a new LSP when the link- state to one of its neighbors changes –Periodic “Hello” packets for link and node failure detection Node outputs LSP on all its links New LSP flooded over the network

Reliable flooding When node i receives LSP generated by node j: –If LSP is the more recent LSP from j that i has seen before (sequence # is larger), i saves it in database and forwards a copy on all links except link LSP was received on. –Otherwise, discard LSP.

SPT algorithm (Dijkstra) SPT = {s}, itself for all nodes n –if n adjacent to s then D(n) = cost (s, n) –else D(n) = infinity Loop –find a node w not in SPT, where D(w) is min –add w in SPT –for all n adjacent to w and not in SPT D(n) = min (D(n), D(w) + L(w, n)) until all nodes are in SPT

Link State Algorithm Flooding: 1) Periodically distribute link-state advertisement (LSA) to neighbors 2) Install received LSA in LS database 3) Re-distribute LSA to all neighbors Path Computation 1) Use Dijkstra’s shortest path algorithm to compute distances to all destinations 2) Install pair in forwarding table

Implementation of Dijkstra’s Algorithm (Method 1) Forward search algorithm (an implementation of Dijkstra) Maintain two lists: Tentative, Confirmed Initialization: Confirmed ={ (s, cost=0, nexthop=-)}, itself Iterative: –For a newly added node in Confirmed, called “Next”, select its LSP for each neighbor of “Next”, v, and v not in Confirmed, –calculate the cost to v via “Next” –D(v) = D(Next) + L(Next, v) –If v is not inTentative, Add (v, D(v), Nexthop) to Tentative –if v is in Tentative but D(v) = D(Next) + L(Next, v) < currently listed cost, replace the current entry with (v, D(v), Nexthop) in Tentative If Tentative is empty, stop Otherwise, move the lowest cost entry in Tentative to Confirmed, go to step new entry process in Confirmed

Dijkstra/OSPF Method 1 R1R2 R4 R3R Step #Confirmed (R#, cost, next hop) Tentative (R#, cost, next hop) 1(R1,0,-)- 2 (R2,4,R2) 3(R1,0,-) (R2,4,R2) (R3,6,R2) (R4,8,R2)

Dijkstra/OSPF Method 1 R1R2 R4 R3R Step #Confirmed (R#, cost, next hop) Tentative (R#, cost, next hop) 4(R1,0,-) (R2,4,R2) (R3,6,R2)(R4,8,R2) (R4,7,R2) (R5,15,R2) 5(R1,0,-) (R2,4,R2) (R3,6,R2) (R4,7,R2) (R5,15,R2)

Dijkstra/OSPF Method 1 R1R2 R4 R3R Step #Confirmed (R#, cost, next hop) Tentative (R#, cost, next hop) 6(R1,0,-) (R2,4,R2) (R3,6,R2) (R4,7,R2) (R5,15,R2)

Dijkstra SPT Method 2 AF B DE C B CDEF

AF B DE C B CDEF

AF B DE C B CDEF

AF B DE C B CDEF

AF B DE C B CDEF

AF B DE C B CDEF

Link State in Practice OSPF (Open Shortest Path First Protocol) –most commonly used routing protocol in the Internet –support for authentication, addl hierarchy (partition a domain into areas), load balancing (multiple routes to the same place)

OSPF Link-State Advertisement LS AgeOptionsType=1 0Flags0Number of links Link typeNum_TOSMetric Link state ID Advertising router LS sequence number Link ID Link data Optional TOS information More links LS checksumLength

Link State Characteristics With consistent Link State Databases (LSDBs), all nodes compute consistent loop- free paths Limited by Dijkstra computation overhead, space requirements Can still have transient loops A B C D Packet from C->A may loop around BDC

OSPF Sequencing and Aging 32-bit sequence number field, does not wrap LSP’s compared on basis of sequence number –To get most recent message LSP’s purged after about an hour –To remove old link-state info from the network Synchronized expiration of LSPs –expired LSP reflooded with age zero –Tell other nodes to delete this LSP On startup, router need not wait –can start with lowest sequence number –will be informed if its own LSP is in network

Problem: Router Failure A failed router and comes up but does not remember the last sequence number it used before it crashed New LSPs may be ignored if they have lower sequence number

One solution: LSP Aging Nodes periodically decrement age (TTL) of stored LSPs LSPs expire when TTL reaches 0 –LSP is re-flooded once TTL = 0 Rebooted router waits until all LSPs have expired Trade-off between frequency of LSPs periodic updates (overhead) and router wait after reboot

Link Metrics Simplest: assign a cost of 1 to all links (static metric) –Hop count, least cost path = the fewest hops –good only if links are homogeneous –not the case in the Internet Consider link data rate, delay, load, etc. –Stability is important –Load is more dynamic and hard to measure Examples –Queue size –Delay = (DepartTime – ArrivalTime) + TransmissionTime + Latency –Link Utilization –1/link_bandwidth

Routing metric v.s. link utilization Cost = f(link utilization, link capacity, link latency), heuristic, from experiments –Smooth the variation of the metric with time –Compress the dynamic range of the metric Cost of highly loaded link never more than 3*cost when idle Most expensive link is 7 * least expensive link –Account for the link type High-speed satellite link is more attractive than low-speed terrestrial link %100%25%75% 225 Utilization 9.6 Kbps satellite link 9.6 Kbps terrestrial link 56 Kbps terrestrial link 56 Kbps satellite link 90 New metric (routing units)

Distance Vector vs. Link State Distance Vector A node exchanges routing info only with its directly connected neighbors Exchanged routing info: distance to all nodes in its routing table (everything this node has learned) Route computation: Distributed Bellman- Ford Link State A node floods its link- state advertisement to all the nodes in the network Exchanged routing info: the state of the links to its directly connected links Route computation: Dijkstra’s algorithm

Layer 2 vs. Layer 3 Layer 2 switching –Based on MAC address –Self configuring and plug & play –Transparent to protocols above the MAC layer –Fast and inexpensive –Flat –Does not scale to extremely large networks –Does not limit the scope of broadcasts Layer 3 routing –Based on IP address –Must get IP address (DHCP or manual assign) –Easily connect LANs that uses different link protocols (heterogeneous) –Hierarchical addressing –Scalable to large network by subnet routing –Broadcast limited only in a subnet

73 Today’s Homework Peterson & Davie, Chap Download and browse RIP and OSPF RFC’s Due on Fri (2/27)