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
We take content rights seriously. If you suspect this is your content, claim it here.
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
We take content rights seriously. If you suspect this is your content, claim it here.
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