0% found this document useful (0 votes)
10 views

lx9 Routing

- No class will be held next Wednesday - A take-home midterm exam will be distributed on Wednesday and is due the following Monday - The midterm exam will cover material through this Monday

Uploaded by

ING
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

lx9 Routing

- No class will be held next Wednesday - A take-home midterm exam will be distributed on Wednesday and is due the following Monday - The midterm exam will cover material through this Monday

Uploaded by

ING
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 45

 no class next Wednesday

 take home midterm on Wednesday – due


following Monday
 covers material thru today/Monday

1-1
Network layer functions

three important functions:


 path determination: route
taken by packets from source
to dest. Routing algorithms
 forwarding: move packets
from router’s input to
appropriate router output
 call setup: some network
architectures require router
call setup along path before
data flows

1-2
Network layer functions

three important functions:


 path determination: route
taken by packets from
source to dest. Routing
algorithms
 forwarding: move packets
from router’s input to
appropriate router output
 call setup: some network
architectures require router
call setup along path before
data flows

1-3
Routing
Routing protocol
Goal: determine “good” path 5
(sequence of routers) thru 3
network from source to dest. B C 5
2
A 2 1 F
3
Graph abstraction for 1 2
routing algorithms: D E
1
 graph nodes are
routers  “good” path:
 graph edges are  typically means minimum

physical links cost path


 other def’s possible
 link cost: delay, $ cost,
or congestion level
1-4
Routing Algorithm classification
Global or decentralized information?
Global:
 all routers have complete topology, link cost info
 “link state” algorithms (Dijkstra)

Decentralized:
 router knows physically-connected neighbors, link costs to
neighbors
 iterative process of computation, exchange of info with
neighbors
 “distance vector” algorithms (Bellman Ford)

1-5
OSPF (Open Shortest Path First)
 link state protocol
 link costs between 0 and 65,535
 Cisco recommendation - link cost = 1/(link capacity)
 rapid, loop-free convergence, scales well
 topology map at each node, route computation using
Dijkstra’s algorithm
 OSPF advertisement carries one entry per neighbor
router, advertisements flooded to entire Autonomous
System
 multiple equal-cost paths allowed: flow equally split
on all outgoing links belonging to shortest paths
 IS – IS (intermediate system-intermediate system)
similar

1-6
Routing vs Switching
 routing: based on address lookup, max
prefix match
 search operation
 complexity O(logn) - 0(n)

 switching: based on circuit numbers


 indexing operation
 complexity O(1)
 scalable to large networks

 MPLS
1-7
History: Ipsilon’s IP Switching

1-8
Ipsilon’s IP Switching
ATM VCs setup when new IP “flows” seen, I.e.,
“data-driven” VC setup

1-9
Issues with Ipsilon’s IP
switching

1-10
Tag Switching

Key difference: tags setup in background using


IP routing protocols (I.e. control-driven VC setup)
1-11
Alphabet Soup!
 CSR Cell Switched Router
 ISR Integrated Switch and Router
 LSR Label Switching Router
 TSR Tag Switching Router
 Multi layer switches
 Direct IP
 FastIP
 PowerIP

MPLS - IETF standard


1-12
MPLS Concept: Route at Edge, Switch
in Core

IP IP #L1 IP #L2 IP #L3 IP

IP Forwarding LABEL SWITCHING IP Forwarding

1-13
MPLS Terminology
 LDP: Label Distribution Protocol

 LSP: Label Switched Path

 FEC: Forwarding Equivalence Class


 LSR: Label Switching Router

 LER: Label Edge Router (Useful term not in


standards)
 MPLS “multi-protocol” both in terms of protocols

it supports ABOVE and BELOW in protocol stack!

1-14
MPLS Header

 IP packet encapsulated in MPLS header


and sent down LSP

IP Packet …

32-bit
MPLS Header

 IP packet restored at end of LSP by


egress router
 TTL adjusted by default
1-15
MPLS Header

Label EXP S TTL

 label
 used to match packet to LSP

 experimental bits
 carries packet queuing priority (CoS)
 stacking bit: can build “stacks” of labels
 qoal: nested tunnels!

 time to live
 copied from IP TTL

1-16
MPLS Forwarding: Example
 IP packet destined to 134.112.1.5/32 arrives to SF
 San Francisco has route for 134.112/16
 next hop is LSP to New York

134.112/16

IP New York
134.112.1.5
0
San 1965
Francisco 1026
Santa Fe

1-17
MPLS Forwarding Example
 San Francisco pre-pends MPLS header onto IP
packet, sends packet to first transit router on path

134.112/16
New York

San 1965 IP
Francisco

Santa Fe

1-18
MPLS Forwarding Example
 because packet arrived to Santa Fe with
MPLS header, Santa Fe forwards it using
MPLS forwarding table

134.112/16

New York

San
Francisco 1026 IP

Santa Fe

1-19
MPLS Forwarding Example
 packet arrives from penultimate router with label 0
 egress router sees label 0, strips MPLS header
 egress router performs standard IP forwarding

IP 134.112/16

New York

0 IP

San
Francisco

Santa Fe

1-20
Regular IP Forwarding
Dest Out
47.1 1
Dest Out 47.2 2
47.1 1 47.3 3
47.2 2
47.3 3
1 47.1
IP 47.1.1.1
1 2 IP 47.1.1.1
Dest Out 3
47.1 1 2
47.2 2
47.3 3 IP 47.1.1.1
1
47.3 3 47.2

2
IP 47.1.1.1

IP destination address unchanged in packet header!


1-21
MPLS Label Distribution

Intf Label Dest Intf Label Intf Label Dest Intf


In In Out Out In In Out
3 0.50 47.1 1 0.40 3 0.40 47.1 1

1 47.1
3 Request: 47.1
3
Intf Dest Intf Label
t: 4 7. 1
In Out Out ues 2
3 47.1 1 0.50 Req 1
Mapping: 0.40
1
2
. 50
47.3 3
pi n g: 0 47.2
p
2 Ma

1-22
Label Switched Path (LSP)

Intf Label Dest Intf Label Intf Label Dest Intf


In In Out Out In In Out
3 0.50 47.1 1 0.40 3 0.40 47.1 1

IP 47.1.1.1
1 47.1
Intf Dest Intf Label 3 3
In Out Out
3 47.1 1 0.50 2
1
1
2
47.3 3 47.2
2
IP 47.1.1.1

1-23
A General Vanilla LSP
#14 #311
#216 #99 #311
#963 #311

#963
#14
#612 #462

#99 #311
#5

- Vanilla LSP actually part of tree from every source to


destination (unidirectional)
- Vanilla LDP builds tree using existing IP forwarding
tables to route control messages
1-24
Forwarding Equivalence Classes
 FEC - group of IP packets
 forwarded over same path, with same
forwarding treatment
 FEC may correspond to
 destination IP subnet
 source, destination IP subnet
 QoS class

1-25
Example

1-26
Label Distribution Protocol (LDP)

 label distribution always done from


downstream to upstream
 downstream-unsolicited: new route => send
new label

 downstream-on-demand: upstream LSR


asks for label

1-27
Traffic Engineering
 configuring routes to traffic demands so as
to
 improve user performance
 use network resources more efficiently

 operates at coarse timescales


 not for failures, sudden traffic changes

 uses shortest path computations


 OSPF, MPLS
Q: how to set link weights?
1-28
Effect of link weights
 unit link weights
 local change to congested link
 global optimization
 to balance link utilizations

1-29
Traffic Engineering Framework
 knowledge of topology
 traffic matrix
K – set of origin destination flows
 k K, d – demand, s – source, t – destination
k k k

 how to get traffic matrix?


 SNMP
 edge measurements + routing tables
 network tomography
 packet sampling

 optimization criteria
 minimize maximum utilization
 keep utilizations below 60% 1-30
How does one set link weights?

1-31
Digression – linear programming

1-32
Linear program

minimize c x
i
i j

subject to a
j
i,j x j  bi , i  1,  , n

x j  0, j  1,  , m
 polynomial time solution in n,m

1-33
Example: optimal routes
 topology G = (V,E)
 K – set of origin destination flows
 k K, d – demand, s – source, t – destination
k k k

 set of given link weights {wij : (i,j) E }


k
 X ij fraction of flow k going over (i,j) E

min kK (i , j )E wij X ijk


kK
s.t.  j:( i , j )E
X   j:( j ,i )E X  0,
k
ij
k
ji
i  sk , t k
kK
 j:( i , j )E
X  1,
k
ij
i  sk
X ijk  0 1-34
1-35
Example
 decomposes into separate problems per
flow k K

min (i , j )E wij X k


ij

s.t.  j:(i, j )E ij  j:( j ,i )E ji  0, i  sk , tk


X k
 X k

 j:( i , j )E
X  1,
k
ij i  sk
X 0
k
ij

1-36
Interpretation
 let X  be optimal solutions
k
ij

 if X 
k
ijtakes values 0 and 1, corresponds
to shortest paths

 if X k
ij takes other values, there exist
multiple shortest paths.

1-37
Linear Program

minimize c x
i
i j
minimize c x T

subject to a
j
i,j x j  bi , i  1,  , n → subject to Ax  b
x j  0, j  1,  , m x  0,

 x0 is feasible if Ax0 = b and x0 > 0

1-38
Dual problem.
T T
minimize c x maximize y b
subject to Ax  b subject to y A  c
T T

x  0,
 if {xi} and {yi} are optimal, then the
objective functions are equal

 y b  c x
i
*
i i
i
i
*
i

1-39
Dual problem: properties.
 if x and y are feasible, then cTx > yT b
 if x’ and y’ are feasible and if cTx’ > y’T b,
then x’ and y’ are optimal
 if either problem has finite solution, so
does other, if either has unbounded
solution, so does other

1-40
Complementary slackness.
Let x and y be feasible solutions. A necessary
and sufficient condition for them to be
optimal is that for all i
1. xi > 0  yT Ai = ci
2. xi = 0  yT Ai < ci

Here Ai is i-th column of A


1-41
Example: primal (P-SP)

min kK (i , j )E wij X ijk


kK
s.t.  k
ij
j:( i , j )E
X   j:( j ,i )E
k
X
ji  0,
i  sk , t k
kK
 k
ij
j:( i , j )E
X  1,
i  sk
X 0
k
ij

1-42
Example: dual (D-SP)
max kK U k
tk

kK
s.t. U  U  wij ,
k
j i
k

(i, j )  E
U  0,
k
sk kK

1-43
Example
max kK U k
tk

kK
s.t. U  U  wij ,
k
j i
k

(i, j )  E
U  0,
k
sk kK
 
 U ik optimal solution to dual problem
 U ik shortest distance from sk to i
 U tkk length of shortest path from sk to tk

1-44
Optimal route selection

1-45

You might also like