CS4550: Computer Networks II network layer basics 3 routing & congestion control.

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Data and Computer Communications
Network Layer – Routing 2 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Data and Computer Communications Ninth Edition by William Stallings Chapter 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
CS 408 Computer Networks Congestion Control (from Chapter 05)
Courtesy: Nick McKeown, Stanford
Routing Strategies Fixed Routing
Computer Networks The Data Link / Network Layer Functions: Routing
Data Communications Packet Switching.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Teknik Routing Pertemuan 20 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Routing.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 21 Introduction to Computer Networks.
EECC694 - Shaaban #1 lec #7 Spring The OSI Reference Model Network Layer.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
Layer-3 Routing Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
Data Communications & Computer Networks
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Chapter 12 Routing in Switched Networks. Routing in Packet Switched Network  key design issue for (packet) switched networks  select route across network.
Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest path routing (example). –Dijkstra algorithm. –Bellman-Ford.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Packet-Switching Networks Routing in Packet Networks.
Network Course Internetworking Protocols Dr. Raed Al Qadi.
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
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.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Data and Computer Communications Ninth Edition by William Stallings Unit 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
CSCI 465 D ata Communications and Networks Lecture 15 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
Routing Networks and Protocols Prepared by: TGK First Prepared on: Last Modified on: Quality checked by: Copyright 2009 Asia Pacific Institute of Information.
Stainov - DataComMET CS TC5353 THE NETWORK LAYER 5.2 ROUTING ALGORITHMS - adaptive Distance Vector Routing (Bellman-Ford, Ford-Fulkenson). It was used.
William Stallings Data and Computer Communications 7th Edition
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Shortest Path Algorithm
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
7.1 The Network Layer It provides services to the transport layer. It is concerned with getting packets from the source to the destination, possibly making.
Distance Vector Routing
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
4. Interconnecting Networks: Routers. © Tallal Elshabrawy 2 Bridges Vs Routers BRIDGES DO WELL IN SMALL (FEW HUNDRED HOSTS) WHILE ROUTERS USED IN LARGE.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
William Stallings Data and Computer Communications
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing.
Routing in Packet Networks Shortest Path Routing
Kuliah 5 ROUTING.
Intradomain Routing Outline Introduction to Routing
Chapter 7 Packet-Switching Networks
COS 561: Advanced Computer Networks
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Routing.
Presentation transcript:

CS4550: Computer Networks II network layer basics 3 routing & congestion control

basic routing techniques  fixed  random  flooding  adaptive  routing in ARPAnet  distance vector  link state  optimal

basic routing techniques : fixed  routes between node pairs determined in advance by network control center or administrator  routing tables loaded into nodes, and are not changed dynamically  simple, may be best technique for small networks which do not change often (topology, traffic patterns  routing more easily controlled  not responsive to changes in traffic

basic routing : fixed

routing table for node 1 dest next node

basic routing : flooding  send packet to all neighbors, except the one from which received the packet  should assign packet # or ID, to avoid needless redundant transmissions  should assign hop count/lifetime to packet to limit needless congestion, distance traveled  advantages  disadvantages

routing in ARPAnet : ?  1st version - distributed Bellman-Ford SP algorithm also known as “distance vector” routing -each node exchanged delay info each 128 ms with neighbor -delay info based solely on queue lengths -problems: excessive overhead, unstable network, inaccurate delay estimates; responded too quickly to some problems, too slowly to others

“distance vector” routing -each node measures “distance” to adjacent neighbors -these “distances” put into a message (“vector”) and sent to neighbors -distances (& route) to other nodes (not neighbors) computed by adding the measured distance to those in received distance vectors - if don’t know, distance is “infinity”

“distance vector” routing  key assumption: that each node “knows” (can measure) distance to its neighbors  each node maintains a routing table; has 1 entry for all nodes in the network dest node next hop distance

“distance vector” routing example using measured distances shown, show computation of distance vector tables for each node.

“distance vector” routing example initial tables (vectors) for nodes 1 (left) and 2; give initial tables for 3,4,5; then show computation of tables as vectors are exchanged, until stable. (1) (2)

distance vector routing  works ; reacts quickly to “good news” (a new, shorter route), but reacts slowly to “bad” news (router or link down)  count to infinity problem  split horizon solution, and why it doesn’t always work

distance vector: count to infinity b ac d e Suppose node a goes down. Show updating of the distance vector tables.

distance vector : split horizon A C B what happens if the CD link fails? (assume all hops have length of 1) D

ARPAnet, 2nd version (1979/80)  delay measurements much better; measured, averaged actual delay of all packets on the link  updates transmitted only every 10 seconds : much improved stability  switched to “link-state” routing, and used Dijkstra’s SP algorithm  much improved; but later, as use of network approached capacity, more problems surfaced

Iink state routing -each node measures distance to neighbors -sends this info to ALL other nodes in the network (flooding) -each node constructs a weighted graph of the network, and -used Dijkstra’s SP algorithm to compute shortest path

routing metrics, shortest paths  routing metrics vary widely -instantaneous queue length -measured time -hop count -distance -capacity (bandwidth), data rate  getting the “shortest” path may not really matter to end user. (How many people count time in milliseconds?)

ARPAnet data rates, links  initially, all ARPAnet links were 56Kbps telephone lines (digital)  later, higher capacity lines added (T1 lines, satellite links)  computers faster than networks, then  data link protocol very close to HDLC

ARPAnet, 3rd version  increased use of network led to new problems  north-south oscillation problem  true solution -  multipath routing  increased capacity  fix implemented  damping algorithm  increase update interval to 17 seconds

optimal routing defined mathematically as routing for which average delay (distance, or other metric) for all packets is minimized.  characterized mathematically as a network flow problem  solution computable, but not efficient algorithm; not useful. However,  light load : single SP routing is optimal;  heavier load : use more routes to spread out traffic

congestion control  congestion: an “excessive” number of packets in the network  terms congestion control traffic control flow control : 2 points; link/connection level network level

congestion - levels need to define levels of congestion. Below is a very rough rule of thumb.  0 : none - no delay experienced  1 : moderate - experience minimal delay  2 : heavy - significant delays, but still able to get packets through  3 : total (deadlocked) - so clogged, can’t get packets through in any reasonable time

congestion - levels - general guidelines only; percentages vary according to the network protocols, topologies, and actual distributions of the traffic on the network %reduction from Max throughput  0 none : <20%  1 moderate : 20-50%  2 heavy : 50-70%  3 total : > 70%

congestion run away  in packet switched networks, this problem is exacerbated, because as delay increases, timeouts occur, causing packet retransmissions, which cause increased congestion  care must be taken first to avoid congestion, second, to reduce it when it occurs; packet retransmissions may have the opposite result, of actually making things worse

congestion control : five basic strategies 1 choke packets 2buffer preallocation 3packet discarding 4isarithmetic control 5 flow control (covered elsewhere)

choke packets  variation of flow control; used only when congestion occurs 1. each node monitors utilization U of output lines 2. if U becomes heavy, a choke packet sent to hosts sending traffic to that destination 3. upon receiving choke packet, the sending host decreases traffic to that destination by X percent

choke packets 4. host discards other choke packets for that destination for Y time 5. After some time, host continues watching for choke packets; if no more come OK, if they do, reduces output again. 6. After longer time, if no more choke packets arrive, again slowly may increase the flow. “MDAI”  adds packets to a congested network

buffer preallocation  only for VC packet networks 1. as call request made, buffer reserved in each node for the connection; if not available, must find another or refuse. 2. as data packets transmitted, acks returned; new packets only sent after receiving acks (which are not sent until packet is in output queue)  completely solves congestion... at what price?

packet discarding  no buffers reserved in advance  when packets arrive, if no buffer space exists, discard them  Irland’s strategy  refinements  discard older packets  lower priority packets  packets on more congested links  check packet for acks before discarding

isarithmetic control  keeps total number of packets in network below a specified limit  whenever a node transmits a packet into the network, must get a permit for the packet  similar to token for LANs  several problems

isarithmetic control 1. guarantees network not overloaded; but a part or node could be 2. how many permits to use? not easy to decide 3. what if permits lost? how can we tell? 4. in some networks, some packets much larger than others; all use same permit? 5. not clear that it is “fair” 6. difficult to respond to changing conditions