Routing - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Routing

Description:

Dijkstra's Shortest Path Algorithm. 7. Building the Network Topology ... Computing the Shortest Path: Dijkstra's Algorithm. Notation: ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 32
Provided by: cuneyta
Category:

less

Transcript and Presenter's Notes

Title: Routing


1
Routing IP Routing Protocols
2
Routing Problem Definition
  • You are a router in a packet switched network and
    you receive a packet destined to some remote node
  • E.g., router A below receives a packet destined
    to node F
  • Question How does A know where to send this
    packet?
  • Does A send it to B? C? or D?
  • Answer Recall from our earlier discussion in IP
    that router A consults a forwarding table to make
    this decision
  • Routing Problem How does router A build this
    forwarding table?
  • Built by a routing algorithm (protocol) The job
    of the routing algorithm is to determine the next
    hop router for ALL destinations in the network

3
End-to-End Path Determination Routing principles
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
    (amount of traffic carried on the link)
  • good path
  • typically means minimum cost path

4
Forwarding vs Routing
  • Distinction between Forwarding and Routing
  • Forwarding consists of taking a packet, looking
    at its destination address, consulting the
    forwarding table, and sending the packet in a
    direction determined by the table
  • Very easy once the forwarding table has been
    built
  • Routing is the process by which the forwarding
    table is built
  • Need a routing protocol to dynamically build and
    maintain the table

5
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

6
Link-State Algorithms General Idea
  • Have each router build the complete topology of
    the network
  • Once the complete topology is built, have each
    router run an algorithm to compute the shortest
    path from itself to all other routers (nodes) in
    the network
  • 2 Issues
  • How does a router build the complete topology of
    the network?
  • How does a router compute the shortest path to
    all other nodes in the network using this
    topology information?
  • Dijkstras Shortest Path Algorithm

7
Building the Network Topology
  • At the heart of a link state algorithm is the
    discovery of a nodes links states
  • Each node is assumed to capable of finding out
    the state of the link to its neighbors (up or
    down) and the cost of each link
  • Each node creates an update packet, also called a
    link-state packet (LSP) and periodically sends
    this information to all of its neighbors
  • Nodes neighbors send the packet to their
    neighbors and so on until the LSP is received by
    all nodes in the network
  • LSP Contents
  • ID of the node -- A
  • List of neighbors and the cost to each neighbor
    (B, 2), (C, 5), (D, 1)
  • A sequence number
  • A time-to-live (TTL)

8
Reliable Flooding
  • Reliable flooding is the process of making sure
    that all nodes get a copy of LSP from all other
    nodes in the network
  • When a node X receives a copy of an LSP that
    originated at some other node Y, it checks to see
    if it has already stored a copy of an LSP from Y.
  • If not, it stores the LSP.
  • If it already has a copy, it compares the SeqNos
    if the new LSP has a larger SeqNo, it is assumed
    to be more recent, and the last LSP is stored
    replacing the old one. Otherwise the new LSP is
    discarded
  • The new LSP is then forwarded on all neighbors of
    X except the neighbor from which the LSP was just
    received

9
Computing the Shortest Path Dijkstras Algorithm
  • Notation
  • Cost(i,j) link cost from node i to j.
  • Cost(A, B) 2
  • Cost(A, C) 5
  • Cost(A, F) infinity
  • Distance(v) current value of cost of path from
    source to destination V
  • Distance(D) 1
  • Pred(v) predecessor node of v along path from
    source to v
  • Pred(D) A
  • N set of nodes whose least cost path
    definitively known

10
Dijsktras Algorithm where A is the source node
1 Initialization 2 N A 3 for all
nodes v 4 if v adjacent to A 5 then
Distance (v) cost(A,v) 6 else Distance
(v) infinity 7 8 Loop 9 find w not in
N such that Distance(w) is a minimum 10 add w
to N 11 update Distance(v) for all v adjacent
to w and not in N 12 Distance(v) min(
Distance(v), Distance(w) cost(w,v) ) 13 /
new distance to v is either old distance to v or
known 14 shortest path distance to w plus
cost from w to v / 15 until all nodes in N
11
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
N A AD ADE ADEB ADEBC ADEBCF
D(F),p(F) infinity infinity 4,E 4,E 4,E
5
3
5
2
2
1
3
1
2
1
  • Algorithm complexity n nodes
  • each iteration need to check all nodes, w, not
    in N
  • n(n1)/2 comparisons O(n2) O(nlogn) algorithm
    possible

12
Distance Vector Algos General Idea
  • We do NOT need to know the complete topology of
    the network to build the forwarding table!
  • If a node X simply tells its neighbor Y the cost
    of reaching another node Z via itself (X), then
  • neighbor Y can compute the cost of reaching Z
    via X by simply adding the cost of reaching X
    from Y and the cost of reaching Z from X, which
    was advertised by X
  • Example
  • If D tells A that it can reach E with a cost of
    1, then A knows it can reach E via D with a cost
    of 11 2
  • If D tells A that it can reach F with a cost of
    3, then A knows it can reach F via D with a cost
    of 13 4

13
Distance Vector Routing Algorithm
  • Each node tells its neighbors the cost of
    reaching every other node via itself
  • A node computes its cost of reaching a
    destination via each of its neighbors and picks
    the best one
  • distributed
  • each node communicates only with
    directly-attached neighbors
  • iterative
  • continues until no nodes exchange new information
  • self-terminating no signal to stop

C(X,Y)
C(X,T)
14
Distance Table Structure
  • Distance Table Data Structure
  • each node has its own distance table
  • row for each possible destination
  • column for each directly-attached neighbor to
    node
  • example in node X, for dest. Y via neighbor Z

15
Distance Table gives Forwarding Table
Outgoing link to use, cost
A B C D
A,1 D,5 D,4 D,4
destination
Forwarding (Routing) Table
Distance Table
16
Distance Vector Routing overview
17
Initialization
At all nodes, X
1 Initialization 2 for all adjacent nodes v
3 D (,v) infinity / the
operator means "for all rows" / 4 D (v,v)
c(X,v) 5 for all destinations, y 6
send D (y) to each neighbor / Cost of reaching Y
via X /
X
X
X
18
Distance Vector Algorithm Example
We need to adjust values if necessary
19
Distance Vector Algorithm (cont.)
8 loop 9 wait (until I receive update from
neighbor V) 10 if (update received from neighbor
V wrt destination Y) 11 / shortest path
from V to some Y has changed / 12 / V has
sent a new value for its DV(Y) / 13 / call
this received new value is "newval" / 14
for the single destination Y D (Y,V) c(X,V)
newval 15 16 if we have a new D (Y) for any
destination Y 17 send new value of D (Y)
to all neighbors 18 19 forever
X
X
X
20
Distance Vector Algorithm Example
info sent
Adjusted new value
Initial values
21
Distance Vector Algorithm Example
Adjust values if necessary
Init Info sent
This column Shows the Init. results
Adjusted new values
New Info sent
22
Hierarchical Routing
  • Our routing study thus far assumed
  • all routers to be identical and the network to
    be flat
  • 2 Problems exist with such a model
  • 1. scale with 200 million destinations
  • cant store all destinations in routing tables!
  • routing table exchange would swamp links!
  • 2. administrative autonomy
  • Cant assume that a network with the scale of
    Internet will be administered by a single
    authority
  • Solution?
  • Internet is NOT flat, but is a network of
    networks
  • each network admin controls routing in its own
    network next
  • http//www.ilkertemir.com/backbone-map/
  • Turkeys past and current Internet backbone map

23
Hierarchical Routing
b
a
a
C
B
d
A
  • gateway routers
  • special routers in AS
  • run intra-AS routing protocol with all other
    routers in AS
  • also responsible for routing to destinations
    outside AS
  • run inter-AS routing protocol with other gateway
    routers
  • 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

24
Intra-AS Routing
  • Also known as Interior Gateway Protocols (IGP)
  • Most common Intra-AS routing protocols
  • OSPF Open Shortest Path First
  • RIP Routing Information Protocol
  • IGRP Interior Gateway Routing Protocol (Cisco
    proprietary)

25
OSPF (Open Shortest Path First)
  • open publicly available
  • Uses Link State algorithm
  • LS advertisement dissemination to entire AS via
    flooding
  • Topology map at each node
  • Route computation using Dijkstras algorithm
  • Carried in OSPF messages directly over IP
  • OSPF has its own network layer protocol number
    like IP!

26
RIP (Routing Information Protocol)
  • Distance vector algorithm
  • Included in BSD-UNIX Distribution in 1982
  • Distance metric of hops (max 15 hops)
  • 16 is the infinity to eliminate routing loops
  • Distance vectors exchanged among neighbors every
    30 sec via Response Message (also called
    advertisement)
  • Each advertisement list of up to 25 destination
    nets within AS
  • If more destinations, send multiple advertisements

27
RIP Example
z
w
x
y
A
D
B
C
Destination Network Next Router Num. of
hops to dest. w A 2 y B 2
z B 7 x -- 1 . . ....
Routing table in D
28
RIP Example
Dest Next hops w - - x -
- z C 4 . ...
Advertisement from A to D
Destination Network Next Router Num. of
hops to dest. w A 2 y B 2 z B
A 7 5 x -- 1 . . ....
Routing table in D
29
RIP Table processing
  • RIP routing tables managed by application-level
    process called route-d (daemon)
  • advertisements sent in UDP packets, periodically
    repeated

Transprt (UDP)
Transprt (UDP)
network forwarding (IP) table
network (IP)
forwarding table
link
link
physical
physical
30
Inter-AS routing in the Internet BGP
  • Each BGP router communicates only with its
    neighbors
  • R1 with R2, R3 with R4
  • Global info about routes to destination networks
    propagates in an AS-by-AS manner via the exchange
    of BGP messages

31
Why different Intra- and Inter-AS routing ?
  • Policy
  • Intra-AS single admin, so no policy decisions
    needed
  • Inter-AS admin wants control over how its
    traffic routed, who routes through its net.
  • Performance
  • Intra-AS can focus on performance
  • Inter-AS policy may dominate over performance
Write a Comment
User Comments (0)
About PowerShow.com