Professional Documents
Culture Documents
Traffic Engineering"
CSE 222A: Computer Communication Networks
Alex C. Snoeren
Multihoming
2!
3! 1!
1!
3!
2! 1! 5!
20!
congested link!
2!
3! 1!
1!
3!
2! 1! 5!
4! 3!
2!
3! 1!
1!
3!
2! 3!
1! 5!
4! 3!
CSE 222A – Lecture 13: Traffic Engineering" 11
Measure, Model, and Control"
Network-wide
“what if” model
control
Operational network
0.5!
1.0!
1.0! 0.25!
0.25!
0.5!
0.5!
0.5!
Values of Pi,j,l!
CSE 222A – Lecture 13: Traffic Engineering" 15
Objective Function"
Computing the link utilization
◆ Link load: ul = Σi,j Mi,j Pi,j,l
◆ Utilization: ul / cl
Objective functions
◆ min( maxl (ul/cl)) F(x)!
◆ min( Σ F(ul/cl))
x!
CSE 222A – Lecture 13: Traffic Engineering" 16
Complexity of Optimization"
NP-complete optimization problem
◆ No efficient algorithm to find the link weights
◆ Even for simple objective functions
◆ Have to resort to searching through weight settings
BGP
BGP routing Offered
routes model traffic
35%!
65%!
Provider 1! Provider 2!
Provider 1! Provider 2!
Provider 1! Provider 2!
12.34.1.0/24! 5.6.7.0/24!
12.34.1.2! 5.6.7.8!
CSE 222A – Lecture 13: Traffic Engineering" 29
For Next Class…"
1: 7! link 7! 1: 14!
1! 2: 7! 2: 8!
link 14!
2! link 8!
MPLS header
IP packet
34
CSE 222A – Lecture 13: Traffic Engineering" 34
Pushing, Popping, and Swapping"
Pushing: add the initial “in” label
Swapping: map “in” label to “out” label
Popping: remove the “out” label
IP edge! R1 R4
B R3 D
CSE 222A – Lecture 13: Traffic Engineering" 35
MPLS core!
Constrained Shortest Path First"
Run a link-state routing protocol
◆ Configurable link weights
◆ Plus other metrics like available bandwidth
Constrained shortest-path computation
◆ Prune unwanted links (e.g., not enough bandwidth)
◆ Compute shortest path on the remaining graph
Signal along the path
◆ Source router sends a
message to pin the s! 5, bw=10!
d!
path to destination
◆ Revisit decisions periodically,
3, bw=80! 5, bw=70!
in case better options exist
6, bw=60!
CSE 222A – Lecture 13: Traffic Engineering" 36
Choosing Outbound Traffic"
Primary and Backup
◆ Single policy for all prefixes
» High local-pref for session to primary provider
» Low local-pref for session to backup provider
◆ Outcome of BGP decision process
» Choose the primary provider whenever possible
» Use the backup provider when necessary
Load Balancing: Selectively use each provider
◆ Assign local-pref across destination prefixes
◆ Change the local-pref assignments over time
local-pref=100!
Provider 1! Provider 2!
local-pref=90!
traffic!
12.34.158.0/24!
Provider 1! Provider 2!
Provider 1! Provider 2!
12.34.0.0/16! 12.34.0.0/16!
12.34.0.0/17! 12.34.128.0/17!