ECSE-6660 Traffic Engineering
-
Upload
umberto-potter -
Category
Documents
-
view
35 -
download
0
description
Transcript of ECSE-6660 Traffic Engineering
Shivkumar KalyanaramanRensselaer Polytechnic Institute
1
ECSE-6660Traffic Engineering
http://www.pde.rpi.edu/
Or
http://www.ecse.rpi.edu/Homepages/shivkuma/
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
Shivkumar KalyanaramanRensselaer Polytechnic Institute
2
Introductions:course description & calendar
Answers to frequently asked questions
Prerequisites
Informal Quiz
Overview
Shivkumar KalyanaramanRensselaer Polytechnic Institute
3
Without Traffic Engineering
Cars:
SFO-LAX
LAX-SFO
SAN-SMF
SMF-SAN
No Traffic Engineering
analogy
to Human Drivers
Shivkumar KalyanaramanRensselaer Polytechnic Institute
4
Traffic Engineering: Analogy
Cars:
SFO-LAX
LAX-SFO
SAN-SMF
SMF-SAN
Traffic Engineering
analogy
Shivkumar KalyanaramanRensselaer Polytechnic Institute
5
Motivation TE: “…that aspect of Internet network engineering
dealing with the issue of performance evaluation and performance optimization of operational IP networks …’’
90’s approach to TE was by changing link weights in IGP (OSPF, IS-IS) or EGP (BGP-4) Performance limited by the shortest/policy path nature Assumptions: Quasi-static traffic, knowledge of
demand matrix
A
B
C
D
1
1 2
1
E
2
Can not do this with OSPFA
B
C
D
1
1 2
1
E
2
Links AB and BD are overloaded
A
B
C
D
1
1 2
4
E
2
Links AC and CD are overloaded
Shivkumar KalyanaramanRensselaer Polytechnic Institute
6
Fundamental Requirements Need the ability to:
Map traffic to an LSP Monitor and measure traffic Specify explicit path of an LSP
Partial explicit routeFull explicit route
Characterize an LSPBandwidthPriority/ PreemptionAffinity (Link Colors)
Reroute or select an alternate LSP
Shivkumar KalyanaramanRensselaer Polytechnic Institute
7
Traffic Engineering Steps
First, determine how to lay out traffic on the physical topologyMeasure traffic (e.g., city-pair-wise)Crunch numbers
Second, do something to convince the packets to follow your plan
Shivkumar KalyanaramanRensselaer Polytechnic Institute
8
Traffic Engineering Options
BGP – play with communities, filtering IGP – play with metrics
Linear programming can help Source routing
ATMMPLS
Shivkumar KalyanaramanRensselaer Polytechnic Institute
9
Routing Solution to Traffic Engineering
Construct routes for traffic streams within a service provider in such a way, as to avoid causing some parts of the provider’s network to be over-utilized, while others parts remain under-utilized (I.e. load-balance)
R2
R3
R1
Shivkumar KalyanaramanRensselaer Polytechnic Institute
10
Linear Programming
TE among N cities: N² city pairs Set up N² by N² matrix for LP Matrix multiplication/inversion is O(M³) for M x M
matrix; simplex is O(M³) matrix operations So, LP problem is O(N12) Also can’t deal with “looped routes”
Shivkumar KalyanaramanRensselaer Polytechnic Institute
11
The “Overlay” Solution
Routing at layer 2 (ATM or FR) is used for traffic engineering Analogy to direct highways between SFO-LAX & SAN-SMF.
Nobody enters the highway in between.
L3L3
L3L3
L3L3
L3L3
L3L3
L3L3
L3L3
L2L2
L2L2
L2L2
L2L2
L2L2
L2L2
L3L3
L3L3
L3L3
L3L3 L3L3
Physical Logical
Shivkumar KalyanaramanRensselaer Polytechnic Institute
12
Traffic engineering with overlay
R2
R3
R1
PVC for R2 to R3 trafficPVC for R2 to R3 traffic
PVC for R1 to R3 trafficPVC for R1 to R3 traffic
Shivkumar KalyanaramanRensselaer Polytechnic Institute
13
Connectionless Routing Today Internet connectionless routing protocols
originally designed to find one route Eg: shortest route or policy route)
Connectionless routing relies upon a global consistency criterion (GCC) The GCC is constructed using globally known
identifiers (Eg: ASNs, link weights)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
14
DV: Global Consistency Criterion The subset of a shortest path is also the shortest path between the two intermediate nodes. If the shortest path from node i to node j, with distance D(i,j) passes through neighbor k, with link
cost c(i,k), then: D(i,j) = c(i,k) + D(k,j)
D(i,*) is a distance vector at node i.
i
k
jc(i,k)
D(k,j)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
15
Link State (LS): Global Consistency Criterion
The link state (Dijkstra) approach is iterative, but it pivots around destinations j, and their predecessors k = p(j) Alternative version of the consistency condition:
D(i,j) = D(i,k) + c(k,j)
Each node i collects all link states c(*,*) first and runs the complete Dijkstra algorithm locally.
i
k
jc(k
,j)
D(i,k)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
16
Path-Vector: BGP’s Consistency Criterion
AS 4AS 3AS 2AS 1135.207.0.0/16
135.207.0.0/16ASPATH = 3 2 1
IP Packet Dest =135.207.44.66
Policy-based routing:
Arbitrary preference among a menu of available routes (based upon routes’ attributes)
Acknowledgement: Based upon Dr. Tim Griffin’s SIGCOMM Tutorial Slides
Consistency: If AS2 announces a route, it is actively using
the route, and will honor forwarding requests on that route
Shivkumar KalyanaramanRensselaer Polytechnic Institute
17
Limitations of Today’s Connectionless TE
Traffic mapping coupled with route availabilityChanging parameters changes routes AND
changes the traffic mapped to the routes
Priority rules only: LOCAL-PREF, MED, longest-prefix match Cannot split traffic to same destination among
two paths
Shivkumar KalyanaramanRensselaer Polytechnic Institute
18
Signaled Approach (eg: MPLS) Nice features:
In MPLS, choice of a route (and its setup) is orthogonal to the problem of traffic mapping onto the route
Signaling maps global IDs (addresses, path-specification) to local IDs (labels)
Nice label stacking, tunneling features
Shivkumar KalyanaramanRensselaer Polytechnic Institute
19
Label-Switched Forwarding
Miami
Seattle
SanFrancisco(Ingress)
New York(Egress)
San Francisco prepends MPLS header to the IP packet MPLS label is swapped at each hop along the LSP Forwarding is done based on a label table
1321
5
120
IP 1321
IP 120
IP 0
IPLabe
l
Shivkumar KalyanaramanRensselaer Polytechnic Institute
20
What Does MPLS Offer?
TunnelsDrop a packet in, and out it comes at the other
end without being IP routed Explicit (source) routing (circuits) Label stack
2-label stack: “outer” label defines the tunnel; “inner” label de-multiplexes
Layer 2 independence
Shivkumar KalyanaramanRensselaer Polytechnic Institute
21
Why Tunnels?
Can’t IP routeNon-IP packets IP packets with private addresses
Don’t want to IP route “BGP-free” core Don’t like IP multicast model
Shivkumar KalyanaramanRensselaer Polytechnic Institute
22
Tunnel Comparison
MPLS (LDP) tunnels Small header Label stacking Signaling for demux Automagic tunnels Tracks IP routing Harder to spoof No data security
IP tunnels Big header No stacking (*) No signaling (yet) Configured tunnels Duh! Spoofable IPSec
Shivkumar KalyanaramanRensselaer Polytechnic Institute
23
Bottom Line on Tunnels
Don’t need MPLS for tunnels But MPLS tunnels have some nice properties Decision (should be) based on cost of deploying
new protocol vs. benefits
Shivkumar KalyanaramanRensselaer Polytechnic Institute
24
MPLS Signaling and Forwarding Model
Miami
Seattle
SanFrancisco(Ingress)
New York(Egress)
MPLS label is swapped at each hop along the LSP
Labels = LOCAL IDENTIFIERS … Signaling maps global identifiers (addresses,
path spec) to local identifiers
1321
5
120
IP 1321
IP 120
IP 0
IPLabe
l
Shivkumar KalyanaramanRensselaer Polytechnic Institute
25
Limitations of Signaled TE Approach
Requires extensive upgrades in the network Hard to inter-network beyond area boundaries Very hard to go beyond AS boundaries
Even within the same organization/ISP !Note: large ISPs (eg: ATT) have several AS’es
Impossible for inter-domain routing across multiple organizations Inter-domain TE has to be connectionless
Shivkumar KalyanaramanRensselaer Polytechnic Institute
26
Traffic Engineering w/o Signaling?
Fine-grained Traffic Engineering needs some form of source routing
Specific incremental changes much easier with source routing Change a single city-pair flowReacting to a link failure
Can we do source-routing efficiently in connectionless protocols?
Shivkumar KalyanaramanRensselaer Polytechnic Institute
27
Idea!
Instead of using local path identifiers (Labels in MPLS), use global path identifiers
10
Miami
Seattle
9
27
SanFrancisco(Ingress)
New York(Egress)
18
1
5
4
3
5
IP
IP PathId
4
IP 36
IP 27
IP 0
Routers have capability to compute multiple paths using map from IGP (OSPF/IS-IS)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
28
Global Path Identifiers Instead of using local path identifiers (Labels in
MPLS), we propose the use of global path identifiers
10
Miami
Seattle
9
27
SanFrancisco(Ingress)
New York(Egress)
18
1
5
4
3
5
IP
IP PathId
4
IP 36
IP 27
IP 0
Shivkumar KalyanaramanRensselaer Polytechnic Institute
29
Global Path Identifier
ik j
m-11
2w1
w2
wm
IP PathId(i,j)
IP PathId(1,j)
Central idea: Swap global pathids instead of local labels!
Shivkumar KalyanaramanRensselaer Polytechnic Institute
30
Global Path Identifier (contd)
Path = {i, w1, 1, w2, 2, …, wk, k, wk+1, … , wm, j} Sequence of globally known node IDs & Link weights Global Path ID is a hash of this sequence => locally computable without the need for signaling!
Potential hash functions: [j, { h(1) + h(2) + …+h(k)+ … +h(m-1) } mod 2b ]: node ID sum MD5 one-way hash, XOR, 32-bit CRC etc… We propose the use of MD5 hashing of the subsequence of nodeIDs followed by a CRC-32 to get a 32-bit hash value
Very low collision (I.e. non-uniqueness) probability
i
k
j
m-11
2w1
w2
wm
Path su
ffix
Shivkumar KalyanaramanRensselaer Polytechnic Institute
31
Abstract Forwarding Paradigm Forwarding table (Eg; at Node k):
[Destination Prefix, ] [Next-Hop, ] [j, ] [k+1, ]
i
k
j
m-1
1
2w1
w2
wm
Path su
ffix
Incoming Packet Hdr: Destination address (j) & PathID = H{k, k+1, … , m-1} Outgoing Packet Hdr: [j, PathID = H{k+1, … , m-1} ]
Longest prefix match + exact label match + label swap!PathID mismatch => map to shortest (default) path, and set PathID = 0No signaling because of globally meaningful pathIDs!
PathID SuffixPathID
H{k, k+1, … , m-1} H{k+1, … , m-1}
Shivkumar KalyanaramanRensselaer Polytechnic Institute
32
BANANAS TE: Explicit, Multi-Path Forwarding…
Explicit Source-Directed Routing: Not limited by the shortest path nature of IGP Different PathIds => different next-hops (multi-paths) No signaling required to set-up the paths
Traffic splitting is decoupled from route computation
10
Miami
Seattle
9
27
SanFrancisco(Ingress)
New York(Egress)
18
1
5
4
3
5
IP
IP PathId
4IP 5
IP 0
IP 36IP 27
IP 0
Shivkumar KalyanaramanRensselaer Polytechnic Institute
33
BANANAS TE: Partial Deployment Only “red” routers are upgraded
Link State Advertisements (LSAs) may indicate (with 1 bit) which routers are upgraded
Non-upgraded routers forward everything on the shortest path (default path): forming a “virtual hop”
10
Miami
Seattle
9SanFrancisco(Ingress)
New York(Egress)
28
1
5
4
30
1
IP
4IP 5
IP 0
IP 27
IP 0
27
1
3
2
IP 27
IP 27
X
Shivkumar KalyanaramanRensselaer Polytechnic Institute
34
Multiplicity Paradigm Unlike telephony, data networking can get statistical multiplexing
gains from simultaneously using: Multiple transmission modes (802.11a/b, 3G etc) Multiple exits (USB, Firewire, Ethernet, modem) Multiple paths (routes)
Lightweight distributed QoS on each path Can then quickly meet the performance thresholds of high-quality
multimedia apps!
EthernetWiFi802.11a
USB/802.11a/b
Firewire/802.11a/b
Phone modem
Shivkumar KalyanaramanRensselaer Polytechnic Institute
35
Eg: Multipath MPEG using Multi-band 802.11a/b Community Wireless Networks
“Fast” path
I
“Slow” path
P