Adaptive Routing Proshanto Mukherji CSC 457: Computer Networks University of Rochester.

Slides:



Advertisements
Similar presentations
Network Layer – Routing 2 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Advertisements

1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Distance-Vector and Path-Vector Routing Sections , 4.3.2, COS 461: Computer Networks Spring 2011 Mike Freedman
Routing - I Important concepts: link state based routing, distance vector based routing.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Distance-Vector Routing COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Michael Freedman
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Data Communication and Networks Lecture 7 Networks: Part 2 Routing Algorithms October 27, 2005.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Link State and Distance Vector Routing Computer Science Division Department of Electrical.
Adaptive Routing Rienforcement Learning Approaches.
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.
Routing.
Announcement r Project 2 extended to 2/20 midnight r Project 3 available this weekend r Homework 3 available today, will put it online.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
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.
4: Network Layer4a-1 14: Intro to Routing Algorithms Last Modified: 7/12/ :17:44 AM.
Routing Protocol Pertemuan 21 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
CSE 461: Link State Routing. Link State Routing  Same assumptions/goals, but different idea than DV:  Tell all routers the topology and have each compute.
1 Distance Vector Routing Protocols Dr. Rocky K. C. Chang 14 November 2006.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
CS 4700 / CS 5700 Network Fundamentals Lecture 9: Intra Domain Routing Revised 7/30/13.
Ad Hoc Wireless Routing COS 461: Computer Networks
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Distributed Quality-of-Service Routing of Best Constrained Shortest Paths. Abdelhamid MELLOUK, Said HOCEINI, Farid BAGUENINE, Mustapha CHEURFA Computers.
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest path routing (example). –Dijkstra algorithm. –Bellman-Ford.
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Packet-Switching Networks Routing in Packet Networks.
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
Network Layer (part 1) CPSC 363 Computer Networks Ellen Walker Hiram College (Includes figures from Computer Networking by Kurose & Ross, © Addison Wesley.
10.- Graph Algorithms Centro de Investigación y Estudios Avanzados del Instituto Politécnico Nacional Introduction Routing Algorithms Computation of Shortest.
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.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
The Network Layer & Routing
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.
The Network Layer.
Network Layer4-1 Distance Vector: link cost changes Link cost changes: r node detects local link cost change r updates distance table (line 15) r if cost.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Internet Routing r Routing algorithms m Link state m Distance Vector m Hierarchical routing r Routing protocols m RIP m OSPF m BGP.
Stainov - DataComMET CS TC5353 THE NETWORK LAYER 5.2 ROUTING ALGORITHMS - adaptive Distance Vector Routing (Bellman-Ford, Ford-Fulkenson). It was used.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
UNIT 2 LESSON 8 CS PRINCIPLES. UNIT 2 LESSON 8 OBJECTIVES Students will be able to: Describe how routers develop routing tables to determine how to send.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
CS440 Computer Networks 1 Link State Routing and OSPF Neil Tang 10/31/2008.
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.
Distance Vector Routing
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
CEN 5501C - Computer Networks - Spring UF/CISE - Newman1 Computer Networks Chapter 12 – Routing Algorithm Concepts.
4. Interconnecting Networks: Routers. © Tallal Elshabrawy 2 Bridges Vs Routers BRIDGES DO WELL IN SMALL (FEW HUNDRED HOSTS) WHILE ROUTERS USED IN LARGE.
IP tutorial - #2 Routing KAIST Dept. of CS NC Lab.
CS 5565 Network Architecture and Protocols
Centralized vs Distributed Routing
CSE390 – Advanced Computer Networks
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing.
ECE 544 Protocol Design Project 2016
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
Intradomain Routing Outline Introduction to Routing
CS 3700 Networks and Distributed Systems
Network Layer (contd.) Routing
Routing.
EE 122: Intra-domain routing: Link State
Presentation transcript:

Adaptive Routing Proshanto Mukherji CSC 457: Computer Networks University of Rochester

Introduction  Networks are not static. They are subject to three classes of change: Topologies change as nodes are added and removed Traffic patterns change cyclically Overall network load changes  So, routing algorithms that assume that the network is static don’t work in this setting

Rotten Algorithms 1: DV ABC HostNextCost BB20 CC HostNextCost AA20 CC10 “I can reach C with cost 10” 30B

Rotten Algorithms 2: LS ABC “I see C (cost 10), and A (cost 20)” “I see B (cost 10), and A (cost 50)” CB30 BB20 HostNextCost B A C

Analyses  Distance Vector: No. of messages: O( |E|.diam ) Size of each message: O( n )  Link State No. of messages: O( n.|E| ) Size of each message: O( e ) Diameter of graph Number of edges Number of hosts Edges per host  Each generates O( n.|E| ) = O( n 3 ) bytes of traffic!  Perhaps ok for single execution, but not every time the load on the network changes  When will you run the algorithm?

A New Model  We want instead to think of the routing protocol as always active  Model the network as a dynamical system in the topology and link costs

Q-Routing  Q x (d, y) is the time that node x estimates it will take to deliver a packet to node d via its neighbor y  When y receives the packet, it sends back a message (to node x), containing its (i.e. y’s) best estimate of the time remaining to get the packet to d, i.e. t = min(Q y (d, z)) over all z  neighbors( y )  x then updates Q x (d, y) by: [Q x (d, y)] NEW = [Q x (d, y)] OLD + .(s+q+t - [Q x (d, y)] OLD ) new estimateold estimate RTT: x  y Time spent in queue at x

Q-Routing (contd.) xy to d min(Q y (d, z i )) = 13; RTT = s = 11 message Q y (d, z 1 ) = 25 DestNext Q x (d, y) … dy20 dw21 … Q y (d, z 2 ) = 17 Q y (d, z e ) = 70 [Q x (d, y)] += (0.25).[(11+17) - 20 ] 22 w estimated RTT = 3 message to d

Q-Routing (contd.) xy message DestNext Q x (d, y) … dy22 dw21 … w Use this path next time Q w (d, z 1 ) Q w (d, z 2 ) Q w (d, z e ) to d message to d

Ants

Ants Online: Routing Tables  Each router x in the network maintains for each destination node d a list of the form:,, …, >, where y 1, y 2, …, y e are the neighbors of x, and p 1 + p 2 + …+ p e = 1  This is a parallel (multi-path) routing scheme  This also multiplies the number of degrees of freedom the system has by a factor of |E| p i = P(msg to d forwarded via y i )

Ants Online: Generation Every destination host h d periodically generates an “ant” to a random source host h s An “ant” is a 3-tuple of the form:  cost is a counter of the cost of the path the ant has covered so far

Ants Online: Updation When a router x receives an ant from neighbor y i, it: 1. Updates cost by the cost of traversing the link from x to y i (i.e. the cost of the link in reverse) 2. Updates entry for host (,, …, > ) p i = p i +  p  p = k / cost, for some k for j  i, p j = p j 1 +  p normalizing sum of probabilities to 1

Ants Online: Propagation (1)  Two sub-species of ant: Regular Ants: P( ant sent to y i ) = p i Uniform Ants: P( ant sent to y i ) = 1 / e  Regular ants use learned tables to route ants  Uniform ants explore randomly

Ants Online: Propagation (2) Regular AntsUniform Ants Explore best paths very thoroughly; others hardly at all Explore all paths equally Propagate “bad news” extremely quickly, “good news” extremely slowly Propagate “good” and “bad” news equally fast Tends to find shortest pathsNatural parallel (multi-path) routers Algorithm converges to Q- Routing in a static network Does not converge to Q- Routing

Q-Routing vs. Ants  Q-Routing only changes its currently selected route when the cost of that route increases, not when the cost of an alternate route decreases  Q-Routing involves overhead linear in the volume of traffic in the network; ants are effectively free in moderate traffic  Q-Routing cannot route messages by parallel paths; uniform ants can

Summary  Routing algorithms that assume a static network don’t work well in real-world networks, which are dynamic  Adaptive routing algorithms avoid these problems, at the cost of a linear increase in the size of the routing tables  Q-Routing is a straightforward application of Q- Learning to the routing problem  Routing with ants is more flexible than Q-Routing

Finis that’s all, folks