CS 557 ARPANet Routing Algorithms An Overview of the New Routing - - PowerPoint PPT Presentation

cs 557 arpanet routing algorithms
SMART_READER_LITE
LIVE PREVIEW

CS 557 ARPANet Routing Algorithms An Overview of the New Routing - - PowerPoint PPT Presentation

CS 557 ARPANet Routing Algorithms An Overview of the New Routing Algorithm for the ARPANET J. McQuillan, I. Richer, and E. Rosen, 1979 The Revised ARPANET Routing Metric Atul Khanna and John Zinky, 1989 Spring 2013 Routing Algorithm Basics


slide-1
SLIDE 1

CS 557 ARPANet Routing Algorithms An Overview of the New Routing Algorithm for the ARPANET

  • J. McQuillan, I. Richer, and E. Rosen, 1979

The Revised ARPANET Routing Metric Atul Khanna and John Zinky, 1989

Spring 2013

slide-2
SLIDE 2

Routing Algorithm Basics

4 3 6 2 1 9 1 1 D A F E B C

  • Routing algorithms view the network as

a graph

  • Problem: find lowest cost path between

two nodes

  • Factors

– static: topology – dynamic: load – policy

slide-3
SLIDE 3

Two Main Approaches

  • Link State Protocols (Today)

– New ARPANET Routing Algorithm – Revised New ARPANET Routing Algorithm – OSPF

  • Distance Vector Protocols (Thurs)

– Original ARPANET Routing Algorithm – RIP

slide-4
SLIDE 4

Basic Steps

Each node assumed to know state of links to its neighbors

  • Step 1: Each node broadcasts its state

to all other nodes

  • Step 2: Each node locally computes

shortest paths to all other nodes from global state

slide-5
SLIDE 5

Building Blocks

  • Reliable broadcast mechanism

– flooding – sequence number issues

  • Shortest path tree (SPT) algorithm

– Dijkstra’s SPT algorithm

  • Metric

– Cost assigned to each link – Rules for varying the cost

slide-6
SLIDE 6

Link State Packets (LSPs)

Periodically, each node creates a Link state packet containing:

  • Node ID
  • List of neighbors and link cost
  • Sequence number
  • Time to live (TTL)

Node outputs LSP on all its links

slide-7
SLIDE 7

Reliable Flooding

When node i receives LSP from node j:

  • If LSP is the most recent LSP from j that

i has seen so far, i saves it in database and forwards a copy on all links except link LSP was received on.

  • Otherwise, discard LSP.
slide-8
SLIDE 8
  • Problem: sequence number may wrap

around

  • Solution: treat space as circular, continue

after wrap around:

– A is less than B if

  • A<B and B-A < N/2, or
  • A>B and A-B > N/2

Sequence Number Space Issues

N B A Wrap around

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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 and

router wait after reboot

slide-11
SLIDE 11

SPT Algorithm (Dijkstra)

SPT = {a} for all nodes v

if v adjacent to a then D(v) = cost (a, v) else D(v) = infinity

Loop

find w not in SPT, where D(w) is min add w in SPT for all v adjacent to w and not in SPT D(v) = min (D(v), D(w) + C(w, v))

until all nodes are in SPT

slide-12
SLIDE 12

Example

A F B D E C 2 2 2 3 1 1 1 3 5

step SPT D(b), P(b) D(c), P(c) D(d), P(d) D(e), P(e) D(f), P(f) A 2, A 5, A 1, A ~ ~

5 B C D E F

slide-13
SLIDE 13

Example

A F B D E C 2 2 2 3 1 1 1 3 5

step SPT D(b), P(b) D(c), P(c) D(d), P(d) D(e), P(e) D(f), P(f) A 2, A 5, A 1, A ~ ~ 1 AD 2, A 4, D 2, D ~

5 B C D E F

slide-14
SLIDE 14

Example

A F B D E C 2 2 2 3 1 1 1 3 5

step SPT D(b), P(b) D(c), P(c) D(d), P(d) D(e), P(e) D(f), P(f) A 2, A 5, A 1, A ~ ~ 1 AD 2, A 4, D 2, D ~ 2 ADE 2, A 3, E 4, E

5 B C D E F

slide-15
SLIDE 15

Example

A F B D E C 2 2 2 3 1 1 1 3 5

step SPT D(b), P(b) D(c), P(c) D(d), P(d) D(e), P(e) D(f), P(f) A 2, A 5, A 1, A ~ ~ 1 AD 2, A 4, D 2, D ~ 2 ADE 2, A 3, E 4, E 3 ADEB 3, E 4, E

5 B C D E F

slide-16
SLIDE 16

Example

A F B D E C 2 2 2 3 1 1 1 3 5

step SPT D(b), P(b) D(c), P(c) D(d), P(d) D(e), P(e) D(f), P(f) A 2, A 5, A 1, A ~ ~ 1 AD 2, A 4, D 2, D ~ 2 ADE 2, A 3, E 4, E 3 ADEB 3, E 4, E 4 ADEBC 4, E

5 B C D E F

slide-17
SLIDE 17

Example

A F B D E C 2 2 2 3 1 1 1 3 5

step SPT D(b), P(b) D(c), P(c) D(d), P(d) D(e), P(e) D(f), P(f) A 2, A 5, A 1, A ~ ~ 1 AD 2, A 4, D 2, D ~ 2 ADE 2, A 3, E 4, E 3 ADEB 3, E 4, E 4 ADEBC 4, E 5 ADEBCF

5 B C D E F

slide-18
SLIDE 18

Link State Algorithm

Flooding: 1) Periodically distribute link-state advertisement (LSA) to neighbors

  • LSA contains delays to each

neighbor 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 <destination, nexthop> pair in forwarding table

slide-19
SLIDE 19

Link State Characteristics

  • With consistent LSDBs, all nodes compute

consistent loop-free paths

  • Limited by Dijkstra computation overhead,

space requirements

  • Can still have transient loops

A B C D 1 3 5 2 1

Packet from C->A may loop around BDC

slide-20
SLIDE 20

[KZ89] Main Points

  • Objective:

– Devise a new metric that limits routing oscillations and poor path selection under heavy load

  • Approach:

– Modify the metric for assigning a link cost.

  • Contributions:

– An example of link-state routing. – An example of why adaptive metrics are problematic.

slide-21
SLIDE 21

Components of Revised ARPANET Routing

  • Routing Algorithm Components

– Every router learns the state of every link in the network (e.g. a link state algorithm) – Link state information exchanged via flooding – Shortest Path Algorithm for computing distances – Link state includes a “metric” for each link

  • Link Metric Component

– Describes the current state of the link in terms of delay, bandwidth, congestion, etc. – This is what the current paper focuses on changing

slide-22
SLIDE 22

Link-State Net Result

A B C D X Cost=7 Router B learns: link (B,C)=1 link (B,A)=1 link (C,D)=1 link (D,X)=1 link (A,D)=7 Computes shortest path to X is B,C,D,X Sets NextHop(X)=C

slide-23
SLIDE 23

Failure of Link D-X

A B C D X Cost=7 Router D learns: link (B,C)=1 link (B,A)=1 link (C,D)=1 link (D,X)=infinite link (A,D)=7 Computes shortest path to X none Update from A to D says: link (B,A)=1 link (A,D)=7 No loop forms and no counting to infinity

slide-24
SLIDE 24

Some Challenges of Link-State Routing

  • High Storage at cost at each router:

– Must learn the full network topology.

  • High computation cost at each router:

– Use flooding to exchange state of every link – Re-run shortest path algorithm after each change

  • Paper notes you don’t need to rerun the shortest

path algorithm if an link not in the tree increases its metric.

slide-25
SLIDE 25

How Do You Assign the Link Metric?

  • Original Solution:

link metric = actual link delay.

  • Link delay is defined as:

processing delay + propagation delay + transmission delay + queuing delay

  • First three are independent of traffic

– Processing: (roughly) how fast is the router CPU – Propagation: (line length)/(line speed) – Transmission: (packet size)/(line bandwidth)

  • Queuing Delay: varies with traffic load
slide-26
SLIDE 26

Light vs. Heavy Traffic

  • Metric=processing+prop+transmission+queue
  • In light traffic,

– First 3 are fixed, queuing is roughly 0 – Thus link metric is basically fixed

  • In heavy traffic,

– First 3 are fixed, queuing creates dependencies – Increase in queue => increase in metric – Increase in metric => route including link longer – Longer route => switch to shorter route – Switch => decrease in traffic – Decrease in traffic => queue reduced – Now repeat cycle….

slide-27
SLIDE 27

Adaptive Metric Problem

  • Assume all traffic from cloud A to cloud B initially

uses A1-B1

  • Queue builds on A1-B1 and no queue on A2-B2.
  • All routers see A2-B2 as a shorter path and now all

traffic shifts to A2-B2. A1 A2 B1 B2

slide-28
SLIDE 28

Internet Metrics Today

  • Paper suggests approach to control

queuing part of link delay.

– Metric = proc + prop + transmission + queue – Note that TCP is also adapting to the queue

  • Today OSPF (link-state) metrics are

typically static.

– Metric based on proc + prop + bandwidth – Let TCP adapt to congested links

  • Fundamental event is a link up/link down.
slide-29
SLIDE 29

Conclusions

  • Link-State Routing is one alternative to

Distance Vector.

– Routers learn the full topology – In other words, every router learns the state (up/down) of every link in the network. – No counting to infinity loops

  • Moving toward large-scale routing….

– Distance vector counting to infinity is a problem – Link-state topology knowledge is a problem – Neither appropriate for today’s global routing.