Traffic Engineering - Cisco网络技术(Net130.Com)

Download Report

Transcript Traffic Engineering - Cisco网络技术(Net130.Com)

MPLS Traffic
Engineering
-SESSION A(MPLS BOOTCAMP)
Mosaddaq Turabi
([email protected])
Mosaddaq Turabi
© 1999, Cisco Systems, Inc.
1
What is Traffic Engineering?
• “Traffic Engineering is the process of
controlling how traffic flows through
one’s network so as to optimize
resource utilization and network
performance”
(Global Crossing, IEEE)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
2
Traffic Engineering: Motivations
• Reduce the overall cost of operations by
more efficient use of bandwidth resources
– by preventing a situation where some parts of
a service provider network are over-utilized
(congested), while other parts under-utilized
The ultimate goal is cost saving !
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
3
The “Overlay” Solution
L3
L3
L2
L3
L2
L2
L2
L3
L2
L2
L3
L3
L3
L3
L3
L3
L3
L3
Physical
Logical
• Routing at layer 2 (ATM or FR) is used for traffic
engineering
• Full mesh of VCs between routers; each router has
a direct VC to every other router in the mesh
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
4
Traffic Engineering with Overlay
R1
R2
L2
L2
R1
TRAFFIC ENGINEERING
R2
L2
L2
L2
L2
AT LAYER 2
L2
L2
R4
R3
R4
R3
R2
R2
R1’s VIEW OF THE NETWORK
AT LAYER3
R1
R3
R4
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
R1
R3
R4
5
“Overlay” Solution: Drawbacks
• Extra network devices (cost)
• More complex network management (cost)
– two-level network without integrated network
management
– additional training, technical support, field
engineering
• IGP routing scalability issue for meshes
• Additional bandwidth overhead (“cell tax”)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
6
Issues with IGP Routing
• IGPs forward packets based on
shortest path (metric).
• Flows from multiple sources may go
over some common link(s) causing
congestion.
• Alternate longer and underutilized
path will not be used.
• IGP metric change may have side
effects.
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
7
Traffic Engineering With Layer 3
R2
R3
R1
IP routing: destination-based least-cost routing
Path for R2 to R3 traffic
Path for R1 to R3 traffic
under-utilized alternate path
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
8
Traffic Engineering with Layer 3
R2
R3
R1
IP routing: destination-based least-cost routing
Path for R2 to R3 traffic
Path for R1 to R3 traffic
under-utilized alternate path
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
9
Traffic Engineering with Layer 3
What is Missing ?
• Path computation based just on IGP metric
is not enough
• Packet forwarding in IP network is done on
a hop by hop basis, derived from IGP
• Support for “explicit” routing (aka “source
routing”) is not available
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
10
Routing Solution to Traffic
Engineering
R2
R3
R1
• Construct routes for traffic streams within a service provider in
such a way as to avoids causing some parts of the provider’s
network to be over-utilized, while others parts remain underutilized
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
11
MPLS Traffic
Engineering
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
12
TE - KEY COMPONENTS
- Be able to set up a LSP based on BW availability
(RSVP)
- Be able to set up a LSP based on user defined
policies (Explicit Path or Link resource-class attribute
string)
- Flooding of resource availability and policies to all
the routers in the network (IS-IS or OSPF)
- Be able to run C-SPF based on constraints defined
by a user
- MPLS as the forwarding mechanism
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
13
TE - KEY COMPONENTS
R2
R3
R1
- RSVP (extensions) on all links to reserve and monitor reservations per
LSP plus Label distribution
- Resource-class attribute string (policy) defined on all links
- IS-IS or OSPF (extensions) to flood policy and resource availability
- C-SPF to find the path meeting the constraints
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
14
TE - KEY COMPONENTS
R2
R3
R1
- TE tunnel (LSP) is initiated from the source (R1 and R2)
- Source of TE tunnel (LSP) is called “Head End” (R1 and R2)
- Destination of the TE tunnel (LSP) is called “Tail End” (R3)
- All the intermediate LSR are called “Mid Points”
- TE tunnel (LSP) is unidirectional and traffic flows from Head-end to the Tailend
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
15
What is a “traffic trunk” ?
A
B
D
C
• Aggregation of (micro) flows that are:
– forwarded along a common path (within a service
provider)
– often from a POP to another POP
• Essential for scalability
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
16
TE basics
• Traffic within a Service Provider as a
collection of “POP to POP traffic
trunks” with known bandwidth and
policy requirements
• TE provides traffic trunk routing that
meets the goal of Traffic Engineering
– via a combination of on-line and offline procedures
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
17
MPLS TE
REQUIREMENTS
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
18
Requirements
• Differentiating traffic trunks:
– large, ‘critical’ traffic trunks must be well routed in
preference to other trunks
• Handling failures:
– automated re-routing in the presence of failures
• Pre-configured paths:
– for use in conjunction with the off-line route
computation procedures
• Support of multiple Classes of Service
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
19
Requirements (cont.)
• Constraining sub-optimality:
– should re-optimize on new/restored bandwidth
• in a non-disruptive fashion - maintain the existing route until the
new route is established, without any double counting
• Ability to “spread” traffic trunk across multiple Label
Switched Paths (LSPs)
– could provide more efficient use of networking
resources
• Ability to include/exclude certain links for certain
traffic trunks
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
20
Design Constraints
• Constrained to a single routing domain
– initially constrained to a single area
• Requires OSPF or IS-IS
• Unicast traffic
• Focus on supporting routing based on a
combination of administrative +
bandwidth constraints
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
21
Trunk Attributes
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
22
Trunk Attributes
• Configured at the head-end of the trunk
• Bandwidth
• Priorities
– setup priority: priority for taking a
resource
– holding priority: priority for holding a
resource
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
23
Trunk Attributes
• Ordered list of Path Options
– possible administratively specified paths
(via an off-line central server) - {explicit list}
– Constrained-based dynamically computed
paths based on combo of BW and policies
• Re-optimization
– each path option is enabled or not for reoptimization, interval given in seconds.
– Max 1 week (7*24*3600), Disable 0, Def 1h.
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
24
Trunk Attributes
• Resource class affinity (Policy)
– supports the ability to include/exclude certain links for
certain traffic trunks based on a user-defined Policy
– Tunnel is characterized by a
• 32-bit resource-class affinity bit string
• 32-bit resource-class mask (0 = don’t care, 1 = care)
– Link is characterized by a 32-bit resource-class
attribute string
– Default-value of tunnel/link bits is 0
– Default value of the tunnel mask = 0x0000FFFF
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
25
Example 1: 4-bit String, Default
C
A
0000
0000
B
0000
0000
0000
D
E
• Trunk A to B:
– tunnel = 0000, t-mask = 0011
• ADEB and ADCEB are possible
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
26
Example 1a: 4-Bit String
C
A
0000
0000
B
0000
0000
0010
D
E
• Setting a link bit in the lower half drives all tunnels off
the link, except those specially configured
• Trunk A to B:
– tunnel = 0000, t-mask = 0011
• Only ADCEB is possible
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
27
Example 1b: 4-Bit String
C
A
0000
0000
B
0000
0000
0010
D
E
• A specific tunnel can then be configured to allow such
links by clearing the bit in its affinity attribute mask
• Trunk A to B:
– tunnel = 0000, t-mask = 0001
• Again, ADEB and ADCEB are possible
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
28
Example 1c: 4-Bit String
C
A
0000
0000
B
0000
0000
0010
D
E
• A specific tunnel can be restricted to only such links by
instead turning on the bit in its affinity attribute bits
• Trunk A to B:
– tunnel = 0010, t-mask = 0011
• No path is possible
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
29
Example 2a: 4-Bit String
C
A
0000
0000
B
0000
0000
0100
D
E
• Setting a link bit in the upper half drives has no
immediate effect
• Trunk A to B:
– tunnel = 0000, t-mask = 0011
• ADEB and ADCEB are both possible
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
30
Example 2b: 4-Bit String
C
A
0000
0000
B
0000
0000
0100
D
E
• A specific tunnel can be driven off the link by setting the
bit in its mask
• Trunk A to B:
– tunnel = 0000, t-mask = 0111
• Only ADCEB is possible
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
31
Example 2c: 4-Bit String
C
A
0000
0000
B
0000
0000
0100
D
E
• A specific tunnel can be restricted to only such links
• Trunk A to B:
– tunnel = 0100, t-mask = 0111
• No path is possible
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
32
Trunk Attribute
Resource Class Affinity (Policy)
• The user defines the semantics:
– this bit/mask says “low-delay path
excluded”
– this bit/mask says “use only links 0C-3
or higher”
– this bit/mask says “use only links in
region 1,2,3”
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
33
Link Attributes and
Their Flooding
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
34
Link Resource Attributes
• Resource attributes are configured on
every link in a network
– Bandwidth
– Link Attributes
– TE-specific link metric
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
35
Link Resource Attributes
• Resource attributes are flooded throughout
the network
– Bandwidth per priority (0-7)
– Link Attributes (Policy)
– TE-specific link metric
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
36
Per-Priority Available BW
D
T=0
T=1
T=2
Link L, BW=100
D advertises: AB(0)=AB(1)=AB(2)=100
AB(3)=AB(4)=…=AB(7)=70
Set-up of an additional tunnel over L at priority=5 for 30 units
D
T=4
D advertises: AB(0)=100=…= AB(7)=100
AB(i) = “Available Bandwidth at priority I”
Set-up of a tunnel over L at priority=3 for 30 units
D
T=3
Link L, BW=100
Link L, BW=100
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
D advertises: AB(0)=AB(1)=AB(2)=100
AB(3)=AB(4)=70
AB(5)=AB(6)=AB(7)=40
37
Information Distribution
• Re-use the flooding service from the
Link-State IGP
– opaque LSA for OSPF
• draft-katz-yeung-ospf-traffic-00.txt
– new wide TLV for IS-IS
• draft-ietf-isis-traffic-00.txt
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
38
Information Distribution
• Periodic (timer-based)
• On significant changes of available
bandwidth (threshold scheme)
• On link configuration changes
• On LSP Setup failure
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
39
Periodic Timer
• Periodically, a node checks if the
current TE status is the same as the
one last broadcasted
• If different, it floods its updated TE
Links status
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
40
Significant Change
100%
92%
85%
70%
Update
50%
Update
• Each time a threshold is
crossed, an update is
sent
• Denser population as
utilization increases
• Different thresholds for
Up and Down (stabler)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
41
LSP Setup Failure
• Due to the threshold scheme, it is possible
that one node thinks it can signal an LSP
tunnel via node Z while in fact, Z does not
have the required resources
• When Z receives the Resv message and
refuses the LSP tunnel, it broadcasts an
update of its status
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
42
Constrained-Based
Computation (C-SPF)
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
43
Constrained-Based Routing
• “In general, path computation for an LSP may
seek to satisfy a set of requirements
associated with the LSP, taking into account a
set of constraints imposed by administrative
policies and the prevailing state of the network
-- which usually relates to topology data and
resource availability. Computation of an
engineered path that satisfies an arbitrary set
of constraints is referred to as "constraint
based routing”.
Draft-li-mpls-igp-te-00.txt
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
44
Path Computation
“On demand” by the trunk’s head-end:
– for a new trunk
– for an existing trunk whose (current)
LSP failed
– for an existing trunk when doing reoptimization
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
45
Path Computation
Input:
– configured attributes of traffic trunks
originated at this router
– attributes associated with resources
• available from IS-IS or OSPF
– topology state information
• available from IS-IS or OSPF
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
46
Path Computation
• Prune links if:
– insufficient resources (e.g.,
bandwidth)
– violates policy constraints
• Compute shortest distance path
– TE uses its own metric
– Tie-break: selects the path with the
highest minimum bandwidth so far,
then with the smallest hop-count
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
47
Path Computation
Output:
– explicit route - expressed as a sequence
of router IP addresses
• interface addresses for numbered links
• loopback address for unnumbered
links
– used as an input to the path setup
component
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
48
C-SPF Algorithm
• Prune off the links that do not have the required BW
• Prune off the links that do not have the required affinity
• Run a dijkstra on the remaining topology, optimised based on the IGP metric
(or RRR metric if configured)
• If several paths are still available, then do the following to ultimately select a
single path
– choose the path that maximize the following value V
• V of a path is the minimum of the value L computed for each link. L on
a link is the available bw at the required priority.
• This rule helps loadbalancing tunnels on various paths
– If several paths are still available, then select the path with the smallest
number of hops
– If several paths are still available, select a random one
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
49
BW/Policy Example
C
BW(3)=80
0100
1000
BW(3)=60
A
0000
BW(3)=50
D
0000
BW(3)=20
0000
BW(3)=80
0010
BW(3)=70
1000
BW(3)=50
• Tunnel’s request:
E
B
G
– Priority 3, BW = 30 units,
– Policy string: 0000, mask: 0011
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
50
Maximizing the Tightest Constraint
C
Tightest Constraint: 60
BW(3)=80
A
B
BW(3)=60
BW(3)=80
D
BW(3)=80
E
Tightest Constraint: 40
BW(3)=40
BW(3)=50
• Tunnel’s request:
G
– Priority 3, BW = 30 units,
– Policy string: 0000, mask: 0011
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
51
Load-Balancing Tunnels
C
BW(3)=100
A
B
BW(3)=100
BW(3)=200
D
E
BW(3)=200
BW(3)=100
BW(3)=100
G
• all tunnels require 10
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
52
Load-Balancing Tunnels
C
BW(3)=90
A
B
BW(3)=90
BW(3)=190
D
E
BW(3)=190
BW(3)=100
BW(3)=100
G
• all tunnels require 10
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
53
Load-Balancing Tunnels
C
BW(3)=90
A
B
BW(3)=90
BW(3)=180
D
E
BW(3)=180
BW(3)=90
BW(3)=90
G
• all tunnels require 10
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
54
Load-Balancing Tunnels
C
BW(3)=80
A
B
BW(3)=80
BW(3)=170
D
E
BW(3)=170
BW(3)=90
BW(3)=90
G
• all tunnels require 10
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
55
Load-Balancing Tunnels
C
BW(3)=80
A
B
BW(3)=80
BW(3)=160
D
E
BW(3)=160
BW(3)=80
BW(3)=80
G
• all tunnels require 10
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
56
MPLS as the Forwarding
Mechanism
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
57
MPLS Labels
Two types of MPLS Labels:
Prefix Labels & Tunnel Labels
Distributed
by:
LDP
RSVP
MP-BGP
CR-LDP
PIM
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
58
MPLS as Forwarding Engine
• Traffic engineering requires explicit routing
capability
• IP supports only the destination-based
routing
– not adequate for traffic engineering
• MPLS provides simple and efficient support
for explicit routing
– label swapping
– separation of routing and forwarding
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
59
LSP Tunnel Setup
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
60
RSVP Extensions to RFC2205
for LSP Tunnels
• Downstream-on-demand label distribution
• Instantiation of explicit label switched paths
• Allocation of network resources (e.g., bandwidth) to explicit LSPs
• Re-routing of established LSP-tunnels in a smooth fashion using the
concept of make-before-break
• Tracking of the actual route traversed by an LSP-tunnel
• Diagnostics on LSP-tunnels
• The concept of nodal abstraction
• Pre-emption options that are administratively controllable
draft-ietf-mpls-rsvp-lsp-tunnel-0X.txt
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
61
RSVP Extensions: New Objects
• LABEL_REQUEST found in Path
• LABEL
• EXPLICIT_ROUTE found in Path
• RECORD_ROUTE found in Path, Resv
• SESSION_ATTRIBUTE found in Path 0x01 Fast Re-route Capable,
0x02 Permit Merging, 0x04 May Reoptimize => SE
• New C-Types are also assigned for the SESSION,
SENDER_TEMPLATE, FILTER_SPEC, FLOWSPEC objects
• All new objects are optional with respect to RSVP (RFC2205)
• The LABEL_REQUEST and LABEL objects are mandatory with
respect to MPLS LSP signalisation specification
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
62
LSP Setup
• Initiated at the head-end of a trunk
• Uses RSVP (with extensions) to
establish Label Switched Paths
(LSPs) for traffic trunks
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
63
Path Setup - Example
R9
R8
R3
R4
R2
Pop
R5
R1
Label 32
Label 49
Label 17
R6
R7
Label 22
Setup: Path (ERO = R1->R2->R6->R7->R4->R9)
Reply: Resv communicates labels and
reserves bandwidth on each link
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
64
Path Setup - More Details
R1
2
1
R2
R3
2
1
Path:
Common_Header
Session(R3-lo0, 0, R1-lo0)
PHOP(R1-2)
Label_Request(IP)
ERO (R2-1, R3-1)
Session_Attribute (S(3), H(3), 0x04)
Sender_Template(R1-lo0, 00)
Sender_Tspec(2Mbps)
Record_Route(R1-2)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
65
Path Setup - More Details
R1
2
1
R2
R3
2
1
Path State:
Session(R3-lo0, 0, R1-lo0)
PHOP(R1-2)
Label_Request(IP)
ERO (R2-1, R3-1)
Session_Attribute (S(3), H(3), 0x04)
Sender_Template(R1-lo0, 00)
Sender_Tspec(2Mbps)
Record_Route (R1-2)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
66
Path Setup - More Details
R1
2
1
R2
R3
2
1
Path:
Common_Header
Session(R3-lo0, 0, R1-lo0)
PHOP(R2-2)
Label_Request(IP)
ERO (R3-1)
Session_Attribute (S(3), H(3), 0x04)
Sender_Template(R1-lo0, 00)
Sender_Tspec(2Mbps)
Record_Route (R1-2, R2-2)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
67
Path Setup - More Details
R1
2
1
R2
R3
2
1
Path State:
Session(R3-lo0, 0, R1-lo0)
PHOP(R2-2)
Label_Request(IP)
ERO ()
Session_Attribute (S(3), H(3), 0x04)
Sender_Template(R1-lo0, 00)
Sender_Tspec(2Mbps)
Record_Route (R1-2, R2-2, R3-1)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
68
Path Setup - More Details
R1
2
1
R2
R3
2
1
Resv:
Common_Header
Session(R3-lo0, 0, R1-lo0)
PHOP(R3-1)
Style=SE
FlowSpec(2Mbps)
Sender_Template(R1-lo0, 00)
Label=POP
Record_Route(R3-1)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
69
Path Setup - More Details
R1
2
1
R2
R3
2
1
Resv State
Session(R3-lo0, 0, R1-lo0)
PHOP(R3-1)
Style=SE
FlowSpec (2Mbps)
Sender_Template(R1-lo0, 00)
OutLabel=POP
IntLabel=5
Record_Route(R3-1)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
70
Path Setup - More Details
R1
2
1
R2
R3
2
1
Resv:
Common_Header
Session(R3-lo0, 0, R1-lo0)
PHOP(R2-1)
Style=SE
FlowSpec (2Mbps)
Sender_Template(R1-lo0, 00)
Label=5
Record_Route(R2-1, R3-1)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
71
Path Setup - More Details
R1
2
1
R2
R3
2
1
Resv state:
Session(R3-lo0, 0, R1-lo0)
PHOP(R2-1)
Style=SE
FlowSpec (2Mbps)
Sender_Template(R1-lo0, 00)
Label=5
Record_Route(R1-2, R2-1, R3-1)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
72
Trunk Admission Control
• Performed by routers along a Label
Switched Path (LSP)
• Determines if resources are available
• May tear down (existing) LSPs with a lower
priority
• Does the local accounting
• Triggers IGP information distribution when
resource thresholds are crossed
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
73
Link Admission Control
• Already invoked by Path message
– if BW is available, this BW is put aside in a waiting
pool (waiting for the RESV msg)
– if this process required the pre-emption of
resources, LCAC notified RSVP of the pre-emption
which then sent PathErr and/or ResvErr for the
preempted tunnel
– if BW is not available, LCAC says “No” to RSVP
and a Path error is sent. A flooding of the node’s
resource info is triggered, if needed
– “draft-ietf-mpls-rsvp-lsp-tunnel-02.txt”
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
74
Path Monitoring
• Use of new Record Route Object
– keep track of the exact tunnel path
– detects loops
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
75
Path Re-Optimization
• Looks for opportunities to re-optimize
– make before break
– no double counting of reservations
– via RSVP “shared explicit” style!
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
76
Non-Disruptive Rerouting - New
Path Setup
R9
R8
R3
R4
R2
Pop
R5
R1
32
49
17
R6
R7
22
Current Path (ERO = R1->R2->R6->R7->R4->R9)
New Path (ERO = R1->R2->R3->R4->R9) - shared with Current Path
Until R9 gets new Path Message, current Resv is refreshed
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
77
Non-Disruptive Rerouting Switching Paths
R9
R8
R3
R4
R2
Pop
Pop
26
89
R5
R1
32
38
49
17
R6
R7
22
Resv: allocates labels for both paths
Reserves bandwidth once per link
PathTear can then be sent to remove old path (and release
resources)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
78
Reroute - More Details
ERO (R2-1, R3-1)
Sender_Template(R1-lo0, 00)
Session(R3-lo0, 0, R1-lo0)
00
R1 2
R3
1 R2 2
01
1
3 01
3
01
Resource Sharing
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
ERO (R2-1, …, R3-3)
Sender_Template(R1-lo0, 01)
79
Reroute - More Details
R1
2
1
R2
R3
2
3
1
3
Path:
Common_Header
Session(R3-lo0, 0, R1-lo0)
PHOP(R1-2)
Label_Request(IP)
ERO (R2-1, …,R3-3)
Session_Attribute (S(3), H(3), 0x04)
Sender_Template(R1-lo0, 01)
Sender_Tspec(3Mbps)
Record_Route(R1-2)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
80
Reroute - More Details
R1
2
1
R2
R3
3
3
Path State:
Session(R3-lo0, 0, R1-lo0)
PHOP(R1-2)
Label_Request(IP)
ERO (R2-1, …,R3-3)
Session_Attribute (S(3), H(3), 0x04)
Sender_Template(R1-lo0, 01)
Sender_Tspec(3Mbps)
Record_Route (R1-2)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
81
Reroute - More Details
R1
2
MPLS BOOTCAMP ( Mosaddaq Turabi)
1
© 2000, Cisco Systems, Inc.
R2
R3
3
3
82
Reroute - More Details
R1
2
1
R2
R3
3
3
RSVP:
Common_Header
Session(R3-lo0, 0, R1-lo0)
PHOP(R3-3)
Style=SE
FlowSpec(3Mbps)
Sender_Template(R1-lo0, 01)
Label=POP
Record_Route(R3-3)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
83
Reroute - More Details
R1
2
MPLS BOOTCAMP ( Mosaddaq Turabi)
1
© 2000, Cisco Systems, Inc.
R2
R3
3
3
84
Reroute - More Details
R1
2
1
R2
R3
3
3
RSVP:
Common_Header
Session(R3-lo0, 0, R1-lo0)
PHOP(R2-1)
Style=SE
FlowSpec (3Mbps)
Sender_Template(R1-lo0, 01)
Label=6
Record_Route(R2-1, …, R3-3)
Sender_Template(R1-lo0, 00)
Label=5
Record_Route(R2-1, R3-1)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
85
Reroute - More Details
R1
2
1
R2
R3
3
3
RSVP state:
Session(R3-lo0, 0, R1-lo0)
PHOP(R2-1)
Style=SE
FlowSpec
Sender_Template(R1-lo0, 01)
Label=6
Record_Route(R2-1, …, R3-3)
Sender_Template(R1-lo0, 00)
Label=5
Record_Route(R2-1, R3-1)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
86
Fast Restoration
Handling link failures - two
complementary mechanisms:
• Path protection
• Link/Node protection
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
87
Assigning Traffic to Paths
(aka autoroute)
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
88
Enhancement to SPF
• During SPF, each new node found is moved from a
TENTative list to PATHS list. Now the first-hop is
being determined via:
A. Check if there is any TE tunnel terminating at
this node from the current router and, if so, do
the metric check
B. If there is no TE tunnel and the node is directly
connected, use the first-hop from adj database
C. In none of the above applies, the first-hop is
copied from the parent of this new node
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
89
Enhancement to SPF - Metric Check
Tunnel metric:
A. Relative +/- X
B. Absolute Y
C. Fixed Z
The default is relative metric of 0
Example:
Metric of native IP path to the found node = 50
1. Tunnel with relative metric of -10 =>
40
2. Tunnel with relative metric of +10 =>
60
3. Tunnel with absolute metric of 10 =>
10
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
90
Enhancement to SPF - Metric Check
• If the metric of the found TE tunnel at this node is
higher then the metric for other tunnels or native
IGP path, this tunnel is not installed as next-hop
• If the metric of the found TE tunnel is equal to other
TE tunnels, the tunnel is added to the existing nexthops
• If the metric of the found TE tunnel is lower than
the metric of other TE tunnels or native IGP, the
tunnel replaces them as the only next-hop
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
91
Configuration
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
92
Enabling a Device for MPLS-TE
Router(config)# mpls traffic-eng tunnels
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
93
Enabling MPLS-TE On
Physical Interfaces
Router(config-if)# mpls traffic-eng tunnels
Router(config-if)# ip rsvp bandwidth <bw1> <bw2>
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
94
MPLS-TE Configuration for OSPF
Router(config)# router ospf <AS>
Router(config-router)# mpls traffic-eng area <x>
Router(config-router)# mpls traffic-eng router-id loopback0
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
95
MPLS-TE Configuration For IS-IS
Router(config)# router isis
Router(config-router)# mpls traffic-eng level <level>
Router(config-router)# mpls traffic-eng router-id loopback0
Router(config-router)# metric-style wide
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
96
Configuring TE Tunnel On The
Headend
Router(config)# interface tunnel1
Router(config-if)# tunnel destination A.B.C.D
Router(config-if)# tunnel mode mpls traffic-eng
Router(config-if)# tunnel mpls traffic-eng bandwidth <bw1>
Router(config-if)# tunnel mpls traffic-eng affinity <A> mask <M>
Router(config-if)# tunnel mpls traffic-eng autoroute announce
Router(config-if)# tunnel mpls traffic-eng autoroute metric rel/abs ...
Router(config-if)# tunnel mpls traffic-eng path-option 1 explicit name test
Router(config-if)# tunnel mpls traffic-eng path-option 2 dynamic
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
97
Summary
Systems,
Inc. Inc.
Mosaddaq Turabi© 1999,© Cisco
1999, Cisco
Systems,
98
MPLS TE Benefits
• Provides traffic engineering
capabilities at Layer 3
– above and beyond of what is provided
with ATM (e.g. load-sharing on unequal
cost paths)
MPLS BOOTCAMP ( Mosaddaq Turabi)
© 2000, Cisco Systems, Inc.
99
Presentation_ID
© 1999, Cisco Systems, Inc.
101