Week 6 Routing Concepts - PowerPoint PPT Presentation

About This Presentation
Title:

Week 6 Routing Concepts

Description:

Week 6 Routing Concepts Network Layer Functions transport packet from sending to receiving hosts network layer protocols in every host, router path determination ... – PowerPoint PPT presentation

Number of Views:242
Avg rating:3.0/5.0
Slides: 41
Provided by: Nai86
Category:

less

Transcript and Presenter's Notes

Title: Week 6 Routing Concepts


1
Week 6Routing Concepts

2
Network Layer Functions
  • transport packet from sending to receiving hosts
  • network layer protocols in every host, router
  • path determination route taken by packets from
    source to dest. Routing algorithms
  • switching move packets from routers input to
    appropriate router output
  • call setup some network architectures require
    router call setup along path before data flows

3
Interplay between routing and forwarding
4
Graph abstraction
Graph G (N,E) N set of routers u, v, w,
x, y, z E set of links (u,v), (u,x),
(v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z)
Remark Graph abstraction is useful in other
network contexts Example P2P, where N is set of
peers and E is set of TCP connections
5
Graph abstraction costs
  • c(x,x) cost of link (x,x)
  • - e.g., c(w,z) 5
  • cost could always be 1, or
  • inversely related to bandwidth,
  • or inversely related to
  • congestion

Cost of path (x1, x2, x3,, xp) c(x1,x2)
c(x2,x3) c(xp-1,xp)
Question Whats the least-cost path between u
and z ?
Routing algorithm algorithm that finds
least-cost path
6
Routing
Goal determine good path (sequence of routers)
thru network from source to dest.
  • Graph abstraction for routing algorithms
  • graph nodes are routers
  • graph edges are physical links
  • link cost delay, cost, or congestion level
  • good path
  • typically means minimum cost path
  • other definitions possible

7
Routing Algorithm Classification
  • Global or decentralized information?
  • Global
  • all routers have complete topology, link cost
    info
  • link state algorithms
  • Decentralized
  • router knows physically-connected neighbors, link
    costs to neighbors
  • iterative process of computation, exchange of
    info with neighbors
  • distance vector algorithms
  • Static or dynamic?
  • Static
  • routes change slowly over time
  • Dynamic
  • routes change more quickly
  • periodic update
  • in response to link cost changes

8
Distance Vector Routing Algorithm (Old Arpanet
Routing or Bellman-Ford)
  • iterative
  • continues until no nodes exchange info.
  • self-terminating no signal to stop
  • asynchronous
  • nodes need not exchange info/iterate in lock
    step!
  • distributed
  • each node communicates only with
    directly-attached neighbors
  • Distance Table data structure
  • each node has its own
  • row for each possible destination
  • column for each directly-attached neighbor to
    node
  • example in node X, for dest. Y via neighbor Z

9
Distance Table Example
loop!
loop!
10
Distance table gives routing table
Outgoing link to use, cost
A B C D
A,1 D,5 D,4 D,4
destination
Routing table
Distance table
11
Distance Vector Routing Overview
  • Iterative, asynchronous each local iteration
    caused by
  • local link cost change
  • message from neighbor its least cost path change
    from neighbor
  • Distributed
  • each node notifies neighbors only when its least
    cost path to any destination changes
  • neighbors then notify their neighbors if necessary

Each node
12
Distance Vector Algorithm
At all nodes, X
1 Initialization 2 for all adjacent nodes v
3 D (,v) infty / the operator
means "for all rows" / 4 D (v,v) c(X,v)
5 for all destinations, y 6 send min D
(y,w) to each neighbor / w over all X's
neighbors /
X
X
X
w
13
Distance Vector Algorithm (cont.)
8 loop 9 wait (until I see a link cost
change to neighbor V 10 or until I
receive update from neighbor V) 11 12 if
(c(X,V) changes by d) 13 / change cost to
all dest's via neighbor v by d / 14 /
note d could be positive or negative / 15
for all destinations y D (y,V) D (y,V) d
16 17 else if (update received from V wrt
destination Y) 18 / shortest path from V to
some Y has changed / 19 / V has sent a
new value for its min DV(Y,w) / 20 /
call this received new value is "newval" /
21 for the single destination y D (Y,V)
c(X,V) newval 22 23 if we have a new min w
D X (Y,w) for any destination Y 24 send new
value of min w D X (Y,w) to all neighbors 25
26 forever
X
X
w
X
14
Distance Vector Algorithm example
15
Distance Vector Algorithm example
16
Distance Vector link cost changes
  • Link cost changes
  • node detects local link cost change
  • updates distance table (line 15)
  • if cost change in least cost path, notify
    neighbors (lines 23,24)

algorithm terminates
good news travels fast
17
Distance Vector link cost changes
  • Link cost changes
  • good news travels fast
  • bad news travels slow - count to infinity
    problem!

algorithm continues on!
18
What to do -- Split Horizon
  • If router R forwards traffic for destination D
    thru neighbor N, then R reports to N that Rs
    distance to D is infinity.
  • Because R is routing traffic for D thru N, Rs
    real distance to N cannot simply matter to N.
  • Works in the previous case but does not work in
    some cases
  • Example

The count-to-infinity problem still exists
19
Distance Vector Poison Reverse
  • If Z routes through Y to get to X
  • Z tells Y its (Zs) distance to X is infinite (so
    Y wont route to X via Z)
  • will this completely solve count to infinity
    problem?

algorithm terminates
20
Link State Routing
  • Each router is responsible for meeting its
    neighbours and learning their names
  • Each router constructs a packet known as link
    state packet, or LSP, which contains a list of
    names of and cost to each of its neighbours
  • A router generates an LSP periodically as well as
    when R discovers that
  • it has a new neighbour
  • the cost of a link to a neighbour has changed
  • a link to a neighbour has gone down
  • The LSP is somehow transmitted (this is the most
    complex and critical piece) to all other routers
    and each router stores the most recently
    generated LSP from each other router
  • Each router armed now with a complete map of the
    topology, computes routes to each destination.

21
Disseminating the LSP to all Routers
  • A simple scheme for routing that does not depend
    having any routing info is flooding, in which
    each packet received is transmitted to each
    neighbour except the one from which the packet is
    received. Also let the packet have a hop count.
  • A better and simple LSP distribution scheme is as
    follows
  • If an LSP is received from neighbour N with
    source S and if the LSP is identical to the one
    from S that is stored, then ignore the received
    LSP (it is a duplicate)
  • If the received LSP is not identical to the one
    from S currently stored or no LSP from S is
    stored, store the received LSP and transmit it to
    all neighbours
  • The problem is that router cannot assume that the
    LSP most recently received from S is the one most
    recently generated.
  • Use sequence number/age schemes

22
Sequence number/age Schemes
  • A sequence number is a counter
  • Each router S keeps track of the sequence number
    it used the last time it generated an LSP when S
    needs to generate a new LSP, it uses the next
    sequence number
  • When router R receives an LSP from from S, router
    R compares sequence number of the received LSP
    with the one from S stored in memory and assumes
    that the the one with the higher sequence number
    is the more recently generated.
  • Problem 1. Sequence number field is of finite
    size
  • Wrap around, count as 0,1,,n-1,n,0,1,
  • How would you compare two sequence numbers a and
    b in this framework?

23
Sequence number/age schemes
gt a
a
lt a
n-1
1
0
n
24
Sequence number/age schemes
  • What happens if router S goes down and forgets
    the sequence number it was using? If it starts at
    0 again, will its LSPs be believed by the
    network, or will they look older than the LSPs
    that S had issued before?
  • To solve this problem, a second field, known as
    the age of the LSP is added to each LSP packet.
  • It starts at some value and is decremented by
    routers as it is held in memory.
  • When an LSPs age reaches 0, the LSP can be
    considered too old, and an LSP with a nonzero age
    is accepted as newer regardless of its sequence
    number.
  • LSP distribution scheme intelligently uses age
    and sequence number for dissemination of LSPs
    used in IS-IS, OSPF, and PNNI.

25
A Link-State Routing Algorithm
  • Dijkstras algorithm
  • net topology, link costs known to all nodes
  • accomplished via link state broadcast
  • all nodes have same info
  • computes least cost paths from one node
    (source) to all other nodes
  • gives routing table for that node
  • iterative after k iterations, know least cost
    path to k dest.s
  • Notation
  • c(i,j) link cost from node i to j. cost infinite
    if not direct neighbors
  • D(v) current value of cost of path from source
    to dest. v
  • p(v) predecessor node along path from source to
    v, that is next v
  • N set of nodes whose least cost path
    definitively known

26
Dijsktras Algorithm -- Shortest Path
1 Initialization 2 N A 3 for all
nodes v 4 if v adjacent to A 5 then
D(v) c(A,v) 6 else D(v) infty 7 8
Loop 9 find w not in N such that D(w) is a
minimum 10 add w to N 11 update D(v) for
all v adjacent to w and not in N 12 D(v)
min( D(v), D(w) c(w,v) ) 13 / new cost
to v is either old cost to v or known 14
shortest path cost to w plus cost from w to v /
15 until all nodes in N
27
Dijkstras algorithm example
D(B),p(B) 2,A 2,A 2,A
D(D),p(D) 1,A
Step 0 1 2 3 4 5
D(C),p(C) 5,A 4,D 3,E 3,E
D(E),p(E) infinity 2,D
start N A AD ADE ADEB ADEBC ADEBCF
D(F),p(F) infinity infinity 4,E 4,E 4,E
28
Dijsktras Algorithm -- Widest Path
1 Initialization 2 N A 3 for all
nodes v 4 if v adjacent to A 5 then
D(v) b(A,v) / b(A,v) is the available
bandwidth/ 6 else D(v) 0 7 8 Loop
9 find w not in N such that D(w) is a
maximum 10 add w to N 11 update D(v) for
all v adjacent to w and not in N 12 D(v)
max D(v), min(D(w),b(w,v)) 13 / new
cost to v is either old cost to v or known 14
shortest path cost to w plus cost from w to v /
15 until all nodes in N
29
Dijkstras algorithm -- Widest Path
D(B),p(B) 2,A 3,C 3,C
D(D),p(D) 1,A 3,C 3,C 3,C
Step 0 1 2 3 4 5
D(C),p(C) 5,A
D(E),p(E) 0 1,C 2,F 2,F 2,F
start N A AC ACF ACFB ACFBD ACFBDE
D(F),p(F) 0 5,C
30
Dijkstras algorithm, Discussion
  • Algorithm complexity n nodes
  • each iteration need to check all nodes, w, not
    in N
  • n(n1)/2 comparisons O(n2)
  • more efficient implementations possible O(n
    logn)
  • Oscillations possible
  • e.g., link cost amount of carried traffic

1
1e
0
2e
0
0
0
0
e
0
1
1e
1
1
e
recompute
recompute routing
recompute
initially
31
Comparison of LS and DV algorithms
  • Message complexity and memory
  • LS with n nodes, E links, O(nE) messages sent
    each, larger tables
  • DV exchange between neighbors only
  • convergence time varies, smaller distance tables
  • Speed of Convergence
  • LS O(n2) algorithm requires O(nE) messages
  • may have oscillations
  • DV convergence time varies
  • may have routing loops
  • count-to-infinity problem
  • link state routing converges more quickly than
    distance vector
  • a router cannot pass routing information on until
    it has computed its distance vector
  • looping
  • Robustness what happens if router malfunctions?
  • LS
  • node can advertise incorrect link cost
  • each node computes only its own table
  • DV
  • DV node can advertise incorrect path cost
  • each nodes table used by others
  • error propagate thru network

32
Link Costs
  • Whether link costs are fixed or they vary with
    the utilization of the link?
  • Proponents of variable costs
  • traffic is routed more optimally
  • having costs assigned by network management
    requires additional configuration
  • Proponents of fixed link costs
  • routing info needs to be generated only if the
    link goes down or recovers
  • if link costs change frequently, the network is
    often in an unconverged state, not making good
    routing decisions
  • stability
  • There are recent studies that find link costs in
    the networks so as to maximize the total traffic
    through the network (traffic matrix should be
    known)

33
Load Splitting
  • If costs are equal then traffic can be split
    amongst equal-cost paths splitting otherwise may
    lead to routing loops
  • Applicable to both LS and DV
  • However, this annoys the transport layer
  • Out of order packets
  • Transport layer requires a uniform service for
    RTT and MTU calculations
  • Flow-level splitting
  • Packets of the same flow would follow the same
    path
  • The router, if it has two equal cost paths, can
    do a hash of (source IP, dest. IP, source port,
    dest. port) to select which path the packet
    should take

34
Hierarchical Routing
  • Our routing study thus far - idealization
  • all routers identical
  • network flat
  • not true in practice
  • scale with 200 million destinations
  • cant store all dests in routing tables!
  • routing table exchange would swamp links!
  • administrative autonomy
  • internet network of networks
  • each network admin may want to control routing in
    its own network

35
Hierarchical Routing
  • Gateway router
  • Direct link to router in another AS
  • aggregate routers into regions, autonomous
    systems (AS)
  • routers in same AS run same routing protocol
  • intra-AS routing protocol
  • routers in different AS can run different
    intra-AS routing protocol

36
Interconnected ASes
  • Forwarding table is configured by both intra- and
    inter-AS routing algorithm
  • Intra-AS sets entries for internal dests
  • Inter-AS Intra-As sets entries for external
    dests

37
Inter-AS tasks
  • AS1 needs
  • to learn which dests are reachable through AS2
    and which through AS3
  • to propagate this reachability info to all
    routers in AS1
  • Job of inter-AS routing!
  • Suppose router in AS1 receives datagram for which
    dest is outside of AS1
  • Router should forward packet towards on of the
    gateway routers, but which one?

38
Example Setting forwarding table in router 1d
  • Suppose AS1 learns from the inter-AS protocol
    that subnet x is reachable from AS3 (gateway 1c)
    but not from AS2.
  • Inter-AS protocol propagates reachability info to
    all internal routers.
  • Router 1d determines from intra-AS routing info
    that its interface I is on the least cost path
    to 1c.
  • Puts in forwarding table entry (x,I).

39
Example Choosing among multiple ASes
  • Now suppose AS1 learns from the inter-AS protocol
    that subnet x is reachable from AS3 and from AS2.
  • To configure forwarding table, router 1d must
    determine towards which gateway it should forward
    packets for dest x.
  • This is also the job on inter-AS routing
    protocol!
  • Hot potato routing send packet towards closest
    of two routers.

40
Intra-AS Routing
  • Also known as Interior Gateway Protocols (IGP)
  • Most common Intra-AS routing protocols
  • RIP Routing Information Protocol
  • OSPF Open Shortest Path First
  • IGRP Interior Gateway Routing Protocol (Cisco
    proprietary)
Write a Comment
User Comments (0)
About PowerShow.com