Network Routing CS 118 Computer Network Fundamentals Peter Reiher - - PowerPoint PPT Presentation

network routing cs 118 computer network fundamentals
SMART_READER_LITE
LIVE PREVIEW

Network Routing CS 118 Computer Network Fundamentals Peter Reiher - - PowerPoint PPT Presentation

Network Routing CS 118 Computer Network Fundamentals Peter Reiher Lecture 14 CS 118 Page 1 Winter 2016 Routing Outline Background Key algorithms Lecture 14 CS 118 Page 2 Winter 2016 Background What were doing


slide-1
SLIDE 1

Lecture 14 Page 1 CS 118 Winter 2016

Network Routing CS 118 Computer Network Fundamentals Peter Reiher

slide-2
SLIDE 2

Lecture 14 Page 2 CS 118 Winter 2016

Routing Outline

  • Background
  • Key algorithms
slide-3
SLIDE 3

Lecture 14 Page 3 CS 118 Winter 2016

Background

  • What we’re doing
  • Collecting our thoughts
  • Goal
  • Info requirements
slide-4
SLIDE 4

Lecture 14 Page 4 CS 118 Winter 2016

What we’re doing

  • Using the network to run the network

– Runs on top of an existing network

  • What can we assume?

– Who can you talk to? – What kind of messages can you send? – Who’s in charge of setting this up?

slide-5
SLIDE 5

Lecture 14 Page 5 CS 118 Winter 2016

Relaying and routing

  • If we don’t have a direct channel to the

receiver, we ultimate must relay

– Send our messages through some other node – Which forwards them towards the destination

  • Easy if there’s only one choice

– You only connect to one other node

  • For non-trivial topologies, some relaying

involves choice

  • Routing describes how we choose to relay
slide-6
SLIDE 6

Lecture 14 Page 6 CS 118 Winter 2016

I’ll do it myself!

  • Static routes

– Manual entry by network operator – Boot-time configuration file – Boot-time initialization (DHCP)

  • Default routes

– Pass the buck (move the problem)

slide-7
SLIDE 7

Lecture 14 Page 7 CS 118 Winter 2016

Limits of going solo

  • Requires external reconfiguration

– When a node joins, leaves – When a link is added or removed (dies)

  • Bootstrapping is difficult

– Need to deploy incrementally – Can’t reach nodes that need configuration until some routing works

  • Must assume others do it right

– If you relay more than one hop

slide-8
SLIDE 8

Lecture 14 Page 8 CS 118 Winter 2016

Automated routing

  • Adaptive

– No need to intervene externally

  • Bootstraps itself

– Each node can initiate discovery and relay

slide-9
SLIDE 9

Lecture 14 Page 9 CS 118 Winter 2016

Collecting our thoughts

  • Assume we have our “stack” DAG

– I.e., maps between protocol name spaces – I.e., layers we can “stack”

  • What other information do we need?

– Who’s connected to whom – Who we can reach through whom – A way to differentiate paths

  • Weight, cost, delay, etc.
slide-10
SLIDE 10

Lecture 14 Page 10 CS 118 Winter 2016

Terminology

  • Relaying

– Moving messages based on the DAG tables – Forwarding (typically IP) – Switching (typically Ethernet, ATM)

  • Routing

– Computing the relay tables – Route computation – Path computation

slide-11
SLIDE 11

Lecture 14 Page 11 CS 118 Winter 2016

More terminology

  • Two approaches to routing

– Link state – Distance vector

  • But both:

– Depend on link state (up/down/load) – Calculate distance vectors (path costs)

Names are a pain sometimes!

slide-12
SLIDE 12

Lecture 14 Page 12 CS 118 Winter 2016

How do we collect that info?

  • Neighbors

– We don’t need no stinkin’ relays! – Won’t get you far

  • Six degrees of flooding

– Your neighbors’ neighbors – Neighbors’ neighbors’ neighbors – Etc...

slide-13
SLIDE 13

Lecture 14 Page 13 CS 118 Winter 2016

What do we flood?

  • The topology

– Who we are, who we’re connected to – “Link state”

  • Our decisions

– Who we think we can reach

slide-14
SLIDE 14

Lecture 14 Page 14 CS 118 Winter 2016

When do we flood

  • In the beginning, all at once

– Flood link state – Everyone computes their own routing

  • In between each step of route computation

– Who we can reach – Ends up flooding reachability

slide-15
SLIDE 15

Lecture 14 Page 15 CS 118 Winter 2016

Goal

  • Information to guide DAG traversal

– A way to pick alternate next-layer tables

  • When both have viable translations

– A way to pick from among proxies

  • I.e., multiple resolutions within one table

– A way to populate the DAG tables

  • Relays are proxies for their destinations
slide-16
SLIDE 16

Lecture 14 Page 16 CS 118 Winter 2016

Optimization

  • Beyond just getting there…

– Getting there in the best way

  • Lowest delay, highest BW, greatest reliability, etc.

– Getting there without a loop

slide-17
SLIDE 17

Lecture 14 Page 17 CS 118 Winter 2016

Information requirements

  • Node name

– A way to identify the node itself

  • Link name

– A way to identify each link – A single node may have many attached links – A single link may have many attached nodes

  • Costs

– To visit a node – To traverse a link – Cost != price in dollars – Usually expressed in delay units

slide-18
SLIDE 18

Lecture 14 Page 18 CS 118 Winter 2016

Key algorithms

  • Basic flooding
  • Distance vector
  • Link state
slide-19
SLIDE 19

Lecture 14 Page 19 CS 118 Winter 2016

Basic flooding

  • Start:

– Get a request on interface A

  • Relay out:

– Send a copy on every interface

Does this include A? When will this terminate?

slide-20
SLIDE 20

Lecture 14 Page 20 CS 118 Winter 2016

Goals of flooding for routing

  • 1. Get request to everyone reliably
  • 2. Get responses back to the entity that needs

them

– In particular, let him know when he has all responses

  • 3. Minimize the cost
  • Assuming connectivity, of course
slide-21
SLIDE 21

Lecture 14 Page 21 CS 118 Winter 2016

Limiting the flood

  • Track the messages
  • Track the nodes
slide-22
SLIDE 22

Lecture 14 Page 22 CS 118 Winter 2016

Hopcount in messages

  • At each relay

– Drop count one – Stop flooding when zero

Will this work? Under what conditions? What do we have to know?

slide-23
SLIDE 23

Lecture 14 Page 23 CS 118 Winter 2016

Checkbox at nodes

  • On receive

– Set visited = TRUE

  • Once visited

– Don’t relay any more

Will this work? How will initiator know when it’s done?

slide-24
SLIDE 24

Lecture 14 Page 24 CS 118 Winter 2016

Controlled flooding

  • Chang’s Echo algorithm (1982)

– Start:

  • Get the message on interface A

– Relay out:

  • Send a copy on every interface except A

– Relay in:

  • Wait for a copy on every interface except A

– End:

  • Send the message back to A
slide-25
SLIDE 25

Lecture 14 Page 25 CS 118 Winter 2016

A picture of Echo

START

slide-26
SLIDE 26

Lecture 14 Page 26 CS 118 Winter 2016

A picture of Echo

Mark incoming links

slide-27
SLIDE 27

Lecture 14 Page 27 CS 118 Winter 2016

A picture of Echo

slide-28
SLIDE 28

Lecture 14 Page 28 CS 118 Winter 2016

A picture of Echo

Messages cross!

slide-29
SLIDE 29

Lecture 14 Page 29 CS 118 Winter 2016

A picture of Echo

Only mark one

  • utgoing link
slide-30
SLIDE 30

Lecture 14 Page 30 CS 118 Winter 2016

A picture of Echo

Flood your unmarked links

slide-31
SLIDE 31

Lecture 14 Page 31 CS 118 Winter 2016

A picture of Echo

This node received messages on all its incoming links; it can respond on its marked link

slide-32
SLIDE 32

Lecture 14 Page 32 CS 118 Winter 2016

A picture of Echo

This node now has received messages on all its incoming links too

slide-33
SLIDE 33

Lecture 14 Page 33 CS 118 Winter 2016

A picture of Echo

Multiple parts of the graph are in “ACK” mode – that’s OK

slide-34
SLIDE 34

Lecture 14 Page 34 CS 118 Winter 2016

A picture of Echo

slide-35
SLIDE 35

Lecture 14 Page 35 CS 118 Winter 2016

A picture of Echo

slide-36
SLIDE 36

Lecture 14 Page 36 CS 118 Winter 2016

A picture of Echo

slide-37
SLIDE 37

Lecture 14 Page 37 CS 118 Winter 2016

A picture of Echo

slide-38
SLIDE 38

Lecture 14 Page 38 CS 118 Winter 2016

A picture of Echo

DONE!

slide-39
SLIDE 39

Lecture 14 Page 39 CS 118 Winter 2016

Properties of the echo algorithm

  • Assumes

– Bidirectional links – Connected graph (no isolated subgraphs)

  • Exactly E messages

– One message on each link in each direction

  • Scalably confirms a flood

– Without counts in the messages OR counts in the nodes! – I.e., with a single message and one flag per interface at each node (finite state), it can confirm the flood of a network of arbitrary size

slide-40
SLIDE 40

Lecture 14 Page 40 CS 118 Winter 2016

What did all that get us?

  • Flooding

– With confirmation

  • Now what?

– What do we DO with that capability?

slide-41
SLIDE 41

Lecture 14 Page 41 CS 118 Winter 2016

Two phase flooding

  • Phase 1

– Outgoing messages start the algorithm – Incoming messages (starred links) list everyone you’ve heard from – At end of phase 1, initiator has complete map

  • Phase 2

– Initiator floods the map – When the algorithm is done, everyone knows everyone has the complete map

slide-42
SLIDE 42

Lecture 14 Page 42 CS 118 Winter 2016

What map do we flood?

  • The entire map

– Expensive to flood – Each node has to calculate connectivity

  • The shortest paths

– Sure, but how do we get those?

slide-43
SLIDE 43

Lecture 14 Page 43 CS 118 Winter 2016

Link state

  • Flood the entire map
  • Calculate shortest paths

– Dijkstra’s algorithm

slide-44
SLIDE 44

Lecture 14 Page 44 CS 118 Winter 2016

Dijkstra’s algorithm

  • Not a distributed algorithm!
  • Start with one node in the CURRENT set

– Mark it as zero cost

  • For the CURRENT node

– Check its links for UNVISITED or FRONTIER neighbors

  • Add each UNVISITED node it can reach to the FRONTIER set

with a new cost of “link” + CURRENT node cost

  • If the node is already in the FRONTIER set, compare the new cost

to the previous cost; update the cost if it is lower

– Once done, mark the CURRENT node as VISITED – Find the FRONTIER node with the smallest cost; move it to CURRENT and repeat

  • Continue until there are no more FRONTIER nodes
slide-45
SLIDE 45

Lecture 14 Page 45 CS 118 Winter 2016

Dijkstra’s Algorithm at work

∞ ∞ ∞ ∞ 1 4 2 4 3 2

Current Unvisited

slide-46
SLIDE 46

Lecture 14 Page 46 CS 118 Winter 2016

Dijkstra’s Algorithm at work

∞ ∞ ∞ ∞ 1 4 2 4 3 2

Frontier

slide-47
SLIDE 47

Lecture 14 Page 47 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 ∞ ∞ 4 1 4 2 4 3 2

slide-48
SLIDE 48

Lecture 14 Page 48 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 ∞ ∞ 4 1 4 2 4 3 2

slide-49
SLIDE 49

Lecture 14 Page 49 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 ∞ ∞ 4 1 4 2 4 3 2

Current

slide-50
SLIDE 50

Lecture 14 Page 50 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 ∞ ∞ 4 1 4 2 4 3 2

slide-51
SLIDE 51

Lecture 14 Page 51 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

Frontier Note: This node’s cost dropped at this step

slide-52
SLIDE 52

Lecture 14 Page 52 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

slide-53
SLIDE 53

Lecture 14 Page 53 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

Current Frontier

slide-54
SLIDE 54

Lecture 14 Page 54 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

slide-55
SLIDE 55

Lecture 14 Page 55 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

slide-56
SLIDE 56

Lecture 14 Page 56 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

slide-57
SLIDE 57

Lecture 14 Page 57 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

Current

slide-58
SLIDE 58

Lecture 14 Page 58 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 ∞ 3 1 4 2 4 3 2

slide-59
SLIDE 59

Lecture 14 Page 59 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 7 3 1 4 2 4 3 2

Frontier

slide-60
SLIDE 60

Lecture 14 Page 60 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 7 3 1 4 2 4 3 2

slide-61
SLIDE 61

Lecture 14 Page 61 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 7 3 1 4 2 4 3 2

Current

slide-62
SLIDE 62

Lecture 14 Page 62 CS 118 Winter 2016

Dijkstra’s Algorithm at work

1 5 7 3 1 4 2 4 3 2

slide-63
SLIDE 63

Lecture 14 Page 63 CS 118 Winter 2016

Which paths are used?

1 5 7 3 1 2 4 2

slide-64
SLIDE 64

Lecture 14 Page 64 CS 118 Winter 2016

What does Dijkstra compute?

  • Shortest path

– Between two nodes

  • A shortest rooted tree

– Between the root (initial) node and all others – I.e., N-1 routes between root:node pairs – There might be other trees with same cost

slide-65
SLIDE 65

Lecture 14 Page 65 CS 118 Winter 2016

Dijkstra: pros and cons

  • Pros

– Simple to implement

  • Broadcast to everyone
  • Everyone runs the same algorithm
  • Cons

– Requires broadcast flooding – Not everyone might compute the same tree – Everyone has to compute the full path everywhere

slide-66
SLIDE 66

Lecture 14 Page 66 CS 118 Winter 2016

Distance vector

  • Not always flooding
  • Bellman-Ford algorithm

– Shortest path

  • Ford-Fulkerson

– Max-flow

  • DUAL

– Current popular variant

  • We won’t look at Ford-Fulkerson or DUAL in

detail

slide-67
SLIDE 67

Lecture 14 Page 67 CS 118 Winter 2016

Basic distance vector algorithm

  • Routing by sending only useful info

– Tell neighbors who you can reach and cost – Everyone updates their table by transitive closure rules

  • Effect

– Walking the nodes while calculating Dijkstra – Still floods – just not everything

slide-68
SLIDE 68

Lecture 14 Page 68 CS 118 Winter 2016

Example of Bellman-Ford

A B D E C 1 4 2 4 3 2

slide-69
SLIDE 69

Lecture 14 Page 69 CS 118 Winter 2016

Example of Bellman-Ford

A B D E C 1 4 2 4 3 2

E A ∞ B ∞ C ∞ D 2 E D A ∞ B 4 C 3 D E 2 C A 4 B 2 C D 3 E ∞ B A 1 B C 2 D 4 E ∞ A A B 1 C 4 D ∞ E ∞

slide-70
SLIDE 70

Lecture 14 Page 70 CS 118 Winter 2016

Example of Bellman-Ford

A B D E C 1 4 2 4 3 2

C A 4 B 2 C D 3 E ∞ B A 1 B C 2 D 4 E ∞ A A B 1 C 4 D ∞ E ∞

slide-71
SLIDE 71

Lecture 14 Page 71 CS 118 Winter 2016

A look at A

  • A looks at the tables it has received

C A 4 B 2 C D 3 E ∞ B A 1 B C 2 D 4 E ∞

slide-72
SLIDE 72

Lecture 14 Page 72 CS 118 Winter 2016

A look at A

  • A looks at tables it has received
  • Updates them with the cost to get to there

C A 4 B 2 C D 3 E ∞ B A 1 B C 2 D 4 E ∞ A A B 1 C 4 D ∞ E ∞ C+4 A 4 B 2 C D 3 E ∞ B+1 A 1 B C 2 D 4 E ∞

slide-73
SLIDE 73

Lecture 14 Page 73 CS 118 Winter 2016

A look at A

  • A looks at tables it has received
  • Updates them with the cost to get to there

C A 4 B 2 C D 3 E ∞ B A 1 B C 2 D 4 E ∞ A A B 1 C 4 D ∞ E ∞ C+4 A 8 B 6 C 4 D 7 E ∞ B+1 A 2 B 1 C 3 D 5 E ∞

slide-74
SLIDE 74

Lecture 14 Page 74 CS 118 Winter 2016

A look at A

  • A looks at tables it has received
  • Updates its own table with the row min

C A 4 B 2 C D 3 E ∞ B A 1 B C 2 D 4 E ∞ A A B 1 C 3 D 5 E ∞ C+4 A 8 B 6 C 4 D 7 E ∞ B+1 A 2 B 1 C 3 D 5 E ∞

slide-75
SLIDE 75

Lecture 14 Page 75 CS 118 Winter 2016

Bellman-Ford

  • Converges over time

– Keep exchanging tables and updating them

  • Each step

– Faster – O(N), not O(E) – Less state – O(N), not O(E) – Works while it’s running

slide-76
SLIDE 76

Lecture 14 Page 76 CS 118 Winter 2016

Bellman-Ford

  • Pros

– Fewer and smaller messages – Send only changes, stops flood when changes stop – Keeps less state per node – Fast convergence when link improves/comes up

  • Cons

– Decentralized (benign errors or malicious attacks) – Slow convergence on link failure

slide-77
SLIDE 77

Lecture 14 Page 77 CS 118 Winter 2016

Link state vs. distance vector

  • Link state

– Sees the entire graph – Reacts fast to changes – Provides complete path

  • But…

– Always floods – Large local table – O(N^2) computation

  • Distance vector

– Floods only where changes affect route – Smaller table – O(N) computation – Reacts faster to some changes – Provides next-hop

  • But…

– No global view, so no global optimization

slide-78
SLIDE 78

Lecture 14 Page 78 CS 118 Winter 2016

Other algorithms

  • Hierarchical routing

– Use structure in the name – See the DNS

  • Geographic routing

– See phone calls

slide-79
SLIDE 79

Lecture 14 Page 79 CS 118 Winter 2016

Hierarchical

  • Go up when you don’t know

– Go towards the root

  • Go down based on what you know

– If target is a leaf on a subtree, go to that subtree

This describes a lot of Internet routing (except that the root is a graph)

slide-80
SLIDE 80

Lecture 14 Page 80 CS 118 Winter 2016

Geographic

  • Requires

– Spatial geometry (line, ring, plane, etc.) – Node locations

  • Use geometry to get you there

– Works great when it works – Hard to get it to work

slide-81
SLIDE 81

Lecture 14 Page 81 CS 118 Winter 2016

Landmark

  • Some geographic and hierarchical routing
  • Subset of nodes/locations called “landmarks”

– You must know how to get to landmarks – Go towards the landmark closest to your target – Once close enough, some other routing will help

slide-82
SLIDE 82

Lecture 14 Page 82 CS 118 Winter 2016

Who uses what?

  • Link state (Dijkstra)

– OSPF (runs over IP) – IS-IS (runs over its own protocol)

  • Distance vector (Bellman-Ford, etc.)

– RIP (runs over UDP) – BGP (runs over TCP) but with complete path! – EIGRP (runs over its own protocol)

slide-83
SLIDE 83

Lecture 14 Page 83 CS 118 Winter 2016

Issues

  • Split horizon
  • Loop avoidance
  • Cost metrics
slide-84
SLIDE 84

Lecture 14 Page 84 CS 118 Winter 2016

Split horizon

  • DV algorithms converge slowly

– But link failure = ∞ – How long does it take to count to ∞?

  • Problem

– DV doesn’t keep track of path, only cost

  • Solutions

– Don’t send back info you just got (split horizon) – Send back the info as bad (poison reverse)

slide-85
SLIDE 85

Lecture 14 Page 85 CS 118 Winter 2016

Loop avoidance

  • Prevention

– Ensure loops are never created

  • Correction

– Check for loops and remove them

  • Accommodation

– Add a hopcount so messages can loop a little without causing a big problem

slide-86
SLIDE 86

Lecture 14 Page 86 CS 118 Winter 2016

Cost metrics

  • Lowest propagation delay?

– Not the shortest message delivery time

  • Highest available capacity?

– Not the shortest delivery time either

  • Lowest price?

– I.e., minimize an external cost

slide-87
SLIDE 87

Lecture 14 Page 87 CS 118 Winter 2016

How to compose cost

  • Various equations

– Sum – Weighted sum – Min or max

  • Rules for composition?

– Depend on routing algorithm

slide-88
SLIDE 88

Lecture 14 Page 88 CS 118 Winter 2016

Metrics for success

  • Algorithm performance
  • Backups and then some
  • Other details
slide-89
SLIDE 89

Lecture 14 Page 89 CS 118 Winter 2016

Algorithm performance

  • Time

– To initial table (can start relaying) – To convergence – To add new routes – To delete dead routes

  • Bandwidth

– Number of messages – Size of messages

  • Fairness / equality

– Will everyone have the same result?

  • Local costs

– Computation – Storage

slide-90
SLIDE 90

Lecture 14 Page 90 CS 118 Winter 2016

Solutions to performance

  • Use simple topologies

– Original Ethernet – Token rings – Wireless LAN

  • Compartmentalize

– Break graph into regions

  • Route within the regions
  • Route between the regions separately
slide-91
SLIDE 91

Lecture 14 Page 91 CS 118 Winter 2016

Compartmentalization and Internet routing

  • How does the Internet route?
  • It breaks the graph up

– Subgraphs connected at ingress/egress – Name each subgraph (“Autonomous system”)

  • Route within the subgraph

– Typically OSPF (link state)

  • Route between the subgraphs

– Typically BGP (distance vector, sort of)

slide-92
SLIDE 92

Lecture 14 Page 92 CS 118 Winter 2016

BGP and autonomous systems

  • BGP doesn’t route between nodes
  • It routes at a higher level

– The autonomous system level

  • What is an autonomous system (AS)?

– A connected subnet controlled by one party – E.g., Verizon or AT&T

  • An AS contains multiple routers
slide-93
SLIDE 93

Lecture 14 Page 93 CS 118 Winter 2016

Graphically,

AS 47 AS 91 AS 7 AS 158 AS 55 AS 7 1 3 2 4 6 7 8 9 5

BGP routes at AS level

AS47, AS7, AS55

Each AS routes internally as it pleases

1,2,4,7,9

slide-94
SLIDE 94

Lecture 14 Page 94 CS 118 Winter 2016

BGP and policy-based routing

  • BGP essentially routes at a business-relevant

level

  • BGP routing decisions are thus made by policy
  • Each AS learns of routing options
  • The AS uses local policy to choose an option
  • Not necessarily shortest or computationally

cheapest

– Perhaps the business partner who gave you the best deal

slide-95
SLIDE 95

Lecture 14 Page 95 CS 118 Winter 2016

Building BGP paths

  • AS that handles traffic to an IP prefix

advertises that fact to neighboring ASes

– E.g., “I can deliver to 15.33.124.0/24”

  • Each neighbor AS remembers that

advertisement

  • If those neighbors choose, they advertise a

route to their neighbors

– Adding themselves to the path

slide-96
SLIDE 96

Lecture 14 Page 96 CS 118 Winter 2016

For example,

AS 47 AS 91 AS 7 AS 158 AS 55 15.33.124.0/24 15.33.124.0/24, AS47 15.33.124.0/24, AS47 15.33.124.0/24, AS47,AS91 I don’t want to carry this traffic

15.33.124.0/24

slide-97
SLIDE 97

Lecture 14 Page 97 CS 118 Winter 2016

Some BGP implications

  • No centralized decisions

– Either by authority or single algorithm – ASes don’t even know all possible choices

  • Decisions changeable dynamically

– At the AS level

  • Constraints on routing based not just on

physical connectivity

– Also on business arrangements

  • Only a partial description of the routes
slide-98
SLIDE 98

Lecture 14 Page 98 CS 118 Winter 2016

Backups and then some

  • One route might not be enough

– “Hot spare” – equivalent backup link ready for immediate use – Multipath – for increased capacity – Alternate path – to route around a dead link

slide-99
SLIDE 99

Lecture 14 Page 99 CS 118 Winter 2016

Summary

  • Many ways to route

– All variations of transitive closure – Vary in performance, convergence time, etc.

  • Primary alternatives

– Link state (i.e., central computation) – Distance vector (i.e., distributed computation)

  • The hardest parts

– Are the details – how to assign cost, how to compose cost, etc.