ecse-6660 traffic engineering traffic engineering ... based upon dr. tim griffin’s sigcomm...
TRANSCRIPT
Shivkumar KalyanaramanRensselaer Polytechnic Institute
1
ECSE-6660Traffic Engineering
http://www.pde.rpi.edu/Or
http://www.ecse.rpi.edu/Homepages/shivkuma/
Shivkumar KalyanaramanRensselaer Polytechnic Institute
Shivkumar KalyanaramanRensselaer Polytechnic Institute
2
Overview
Introductions:course description & calendar
Answers to frequently asked questions
Prerequisites
Informal Quiz
Shivkumar KalyanaramanRensselaer Polytechnic Institute
3
Without Traffic Engineering
Cars:SFO-LAX
LAX-SFO
SAN-SMF
SMF-SAN
No Traffic Engineering
analogyto 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
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 natureAssumptions: 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
Motivation
Shivkumar KalyanaramanRensselaer Polytechnic Institute
6
Fundamental RequirementsNeed the ability to:
Map traffic to an LSPMonitor and measure trafficSpecify 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 StepsFirst, determine how to lay out traffic on the physical topology
Measure 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 OptionsBGP – play with communities, filteringIGP – play with metrics
Linear programming can helpSource routing
ATMMPLS
Shivkumar KalyanaramanRensselaer Polytechnic Institute
9
Routing Solution to Traffic Engineering
R2
R3
R1
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)
Shivkumar KalyanaramanRensselaer Polytechnic Institute
10
Linear ProgrammingTE among N cities: N² city pairsSet up N² by N² matrix for LPMatrix multiplication/inversion is O(M³) for M x M matrix; simplex is O(M³) matrix operationsSo, LP problem is O(N12)Also can’t deal with “looped routes”
Shivkumar KalyanaramanRensselaer Polytechnic Institute
11
The “Overlay” Solution
L3L3
L3L3
L3L3
L3L3
L3L3
L3L3
L3L3
L2L2
L2L2
L2L2
L2L2
L2L2
L2L2
L3L3
L3L3
L3L3
L3L3 L3L3Physical Logical
Routing at layer 2 (ATM or FR) is used for traffic engineeringAnalogy to direct highways between SFO-LAX & SAN-SMF. Nobody enters the highway in between.
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 TodayInternet 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 CriterionThe 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.
ik
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.
ik
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 routeSignaling 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 LSPForwarding is done based on a label table
13215
120
IP 1321
IP 120
IP 0
IP Label
Shivkumar KalyanaramanRensselaer Polytechnic Institute
20
What Does MPLS Offer?Tunnels
Drop 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 route
Non-IP packetsIP packets with private addresses
Don’t want to IP route“BGP-free” coreDon’t like IP multicast model
Shivkumar KalyanaramanRensselaer Polytechnic Institute
22
Tunnel ComparisonMPLS (LDP) tunnels
Small headerLabel stackingSignaling for demuxAutomagic tunnelsTracks IP routingHarder to spoofNo data security
IP tunnelsBig headerNo stacking (*)No signaling (yet)Configured tunnelsDuh!SpoofableIPSec
Shivkumar KalyanaramanRensselaer Polytechnic Institute
23
Bottom Line on TunnelsDon’t need MPLS for tunnelsBut MPLS tunnels have some nice propertiesDecision (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 LSPLabels = LOCAL IDENTIFIERS …
Signaling maps global identifiers (addresses, path spec) to local identifiers
13215
120
IP 1321
IP 120
IP 0
IP Label
Shivkumar KalyanaramanRensselaer Polytechnic Institute
25
Limitations of Signaled TE ApproachRequires extensive upgrades in the networkHard to inter-network beyond area boundariesVery 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 routingSpecific 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
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
Global Path Identifiers
Shivkumar KalyanaramanRensselaer Polytechnic Institute
29
Global Path Identifier
ik j
m-11
2w1
w2wm
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 weightsGlobal 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 sumMD5 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 valueVery low collision (I.e. non-uniqueness) probability
i
k
jm-1
1
2w1
w2wm
Path suffix
Shivkumar KalyanaramanRensselaer Polytechnic Institute
31
Abstract Forwarding ParadigmForwarding table (Eg; at Node k):
[Destination Prefix, ] → [Next-Hop, ][j, ] → [k+1, ]
i
k
j
m-11
2w1
w2wm
Path suffix
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 SuffixPathIDH{k, k+1, … , m-1} H{k+1, … , m-1}
Shivkumar KalyanaramanRensselaer Polytechnic Institute
32
BANANAS TE: Explicit, Multi-Path Forwarding…
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
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
Shivkumar KalyanaramanRensselaer Polytechnic Institute
33
BANANAS TE: Partial DeploymentOnly “red” routers are upgraded
Link State Advertisements (LSAs) may indicate (with 1 bit) which routers are upgradedNon-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
32
IP 27
IP 27
X
Shivkumar KalyanaramanRensselaer Polytechnic Institute
34
Multiplicity Paradigm
EthernetWiFi802.11a
USB/802.11a/b
Firewire/802.11a/b
Phone modem
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 pathCan then quickly meet the performance thresholds of high-quality multimedia apps!