View
218
Download
0
Category
Tags:
Preview:
Citation preview
1© 1999, Cisco Systems, Inc. Mosaddaq Turabi
MPLS Traffic MPLS Traffic EngineeringEngineering
-SESSION A--SESSION A-
(MPLS BOOTCAMP)(MPLS BOOTCAMP)
Mosaddaq Turabi Mosaddaq Turabi (mturabi@cisco.com)(mturabi@cisco.com)
2MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
What is Traffic Engineering?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)(Global Crossing, IEEE)
3MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Traffic Engineering: MotivationsTraffic 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 !cost saving !
4MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
The “Overlay” SolutionThe “Overlay” Solution
• 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
L3L3
L3L3
L3L3
L3L3
L3L3
L3L3
L3L3
L2L2
L2L2
L2L2
L2L2
L2L2
L2L2
L3L3
L3L3
L3L3
L3L3 L3L3
Physical Logical
5MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Traffic Engineering with OverlayTraffic Engineering with Overlay
R1R1
R2R2
R4R4
R3R3
TRAFFIC ENGINEERING
AT LAYER 2
R1R1
L2L2
L2L2 L2L2
L2L2R2R2
R4R4 R3R3
R1R1
L2L2
L2L2 L2L2
L2L2R2R2
R4R4 R3R3
R1R1
R2R2
R4R4
R3R3
R1’s VIEW OF THE NETWORK
AT LAYER3
6MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
““Overlay” Solution: DrawbacksOverlay” 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”)
7MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Issues with IGP RoutingIssues 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.
8MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Traffic Engineering With Layer 3Traffic Engineering With Layer 3R2
R3
R1
IP routing: destination-based least-cost routingIP routing: destination-based least-cost routing
under-utilized alternate pathunder-utilized alternate path
Path for R2 to R3 trafficPath for R2 to R3 traffic
Path for R1 to R3 trafficPath for R1 to R3 traffic
9MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Traffic Engineering with Layer 3Traffic Engineering with Layer 3
R2
R3
R1
IP routing: destination-based least-cost routingIP routing: destination-based least-cost routing
under-utilized alternate pathunder-utilized alternate path
Path for R2 to R3 trafficPath for R2 to R3 traffic
Path for R1 to R3 trafficPath for R1 to R3 traffic
10MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Traffic Engineering with Layer 3 Traffic Engineering with Layer 3 What is Missing ?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
11MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Routing Solution to Traffic Routing Solution to Traffic Engineering Engineering
• 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 under-utilized
R2
R3
R1
12© 1999, Cisco Systems, Inc. Mosaddaq Turabi
MPLS Traffic MPLS Traffic EngineeringEngineering
12© 1999, Cisco Systems, Inc.
13MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
TE - KEY COMPONENTSTE - 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
14MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
TE - KEY COMPONENTSTE - 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
15MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
TE - KEY COMPONENTSTE - KEY COMPONENTS
- 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 Tail-end
R2
R3
R1
16MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
What is a “traffic trunk” ?What is a “traffic trunk” ?
• 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
D
A B
C
17MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
TE basicsTE 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 off-line procedures
18© 1999, Cisco Systems, Inc. Mosaddaq Turabi
MPLS TE MPLS TE REQUIREMENTSREQUIREMENTS
18© 1999, Cisco Systems, Inc.
19MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
RequirementsRequirements
• 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
20MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Requirements (cont.)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
21MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Design ConstraintsDesign 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
22© 1999, Cisco Systems, Inc. Mosaddaq Turabi
Trunk AttributesTrunk Attributes
22© 1999, Cisco Systems, Inc.
23MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Trunk AttributesTrunk 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
24MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Trunk AttributesTrunk 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 re-optimization, interval given in seconds.
– Max 1 week (7*24*3600), Disable 0, Def 1h.
25MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Trunk AttributesTrunk 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
26MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Example 1: 4-bit String, DefaultExample 1: 4-bit String, Default
• Trunk A to B:
– tunnel = 0000, t-mask = 0011
• ADEB and ADCEB are possible
A B
0000
0000 0000
00000000
C
D E
27MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Example 1a: 4-Bit StringExample 1a: 4-Bit String
• 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
A B
0000
0000 0000
00100000
C
D E
28MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Example 1b: 4-Bit StringExample 1b: 4-Bit String
• 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
A B
0000
0000 0000
00100000
C
D E
29MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Example 1c: 4-Bit StringExample 1c: 4-Bit String
• 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
A B
0000
0000 0000
00100000
C
D E
30MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Example 2a: 4-Bit StringExample 2a: 4-Bit String
• 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
A B
0000
0000 0000
01000000
C
D E
31MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Example 2b: 4-Bit StringExample 2b: 4-Bit String
• 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
A B
0000
0000 0000
01000000
C
D E
32MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Example 2c: 4-Bit StringExample 2c: 4-Bit String
• A specific tunnel can be restricted to only such links
• Trunk A to B:
– tunnel = 0100, t-mask = 0111
• No path is possible
A B
0000
0000 0000
01000000
C
D E
33MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Trunk AttributeTrunk Attribute Resource Class Affinity (Policy)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”
34© 1999, Cisco Systems, Inc. Mosaddaq Turabi
Link Attributes and Link Attributes and Their FloodingTheir Flooding
34© 1999, Cisco Systems, Inc.
35MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Link Resource AttributesLink Resource Attributes
• Resource attributes are configured on every link in a network
– Bandwidth
– Link Attributes
– TE-specific link metric
36MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Link Resource AttributesLink Resource Attributes
• Resource attributes are flooded throughout the network
– Bandwidth per priority (0-7)
– Link Attributes (Policy)
– TE-specific link metric
37MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Per-Priority Available BWPer-Priority Available BW
DT=0 Link L, BW=100 D advertises: AB(0)=100=…= AB(7)=100
AB(i) = “Available Bandwidth at priority I”
DT=2 Link L, BW=100 D advertises: AB(0)=AB(1)=AB(2)=100
AB(3)=AB(4)=…=AB(7)=70
T=1 Set-up of a tunnel over L at priority=3 for 30 units
DT=4 Link L, BW=100
D advertises: AB(0)=AB(1)=AB(2)=100 AB(3)=AB(4)=70 AB(5)=AB(6)=AB(7)=40
T=3 Set-up of an additional tunnel over L at priority=5 for 30 units
38MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Information DistributionInformation 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
39MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Information DistributionInformation Distribution
• Periodic (timer-based)
• On significant changes of available bandwidth (threshold scheme)
• On link configuration changes
• On LSP Setup failure
40MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Periodic TimerPeriodic 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
41MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Significant ChangeSignificant Change
• Each time a threshold is crossed, an update is sent
• Denser population as utilization increases
• Different thresholds for Up and Down (stabler)
50%
100%
70%85%92%
Update
Update
42MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
LSP Setup FailureLSP 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
43© 1999, Cisco Systems, Inc. Mosaddaq Turabi
Constrained-Based Constrained-Based Computation (C-SPF)Computation (C-SPF)
43© 1999, Cisco Systems, Inc.
44MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Constrained-Based RoutingConstrained-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
45MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path ComputationPath 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 re-optimization
46MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path ComputationPath 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
47MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path ComputationPath 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
48MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path ComputationPath 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
49MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
C-SPF AlgorithmC-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
50MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
• Tunnel’s request:
– Priority 3, BW = 30 units,
– Policy string: 0000, mask: 0011
A B
0000
1000 0100
0000 0000
C
D E
10000010
G
BW(3)=60
BW(3)=50
BW(3)=80
BW(3)=20
BW(3)=50 BW(3)=70
BW(3)=80
BW/Policy ExampleBW/Policy Example
51MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
• Tunnel’s request:
– Priority 3, BW = 30 units,
– Policy string: 0000, mask: 0011
A B
C
D E
G
BW(3)=60
BW(3)=80
BW(3)=80
BW(3)=50 BW(3)=40
BW(3)=80
Tightest Constraint: 40
Tightest Constraint: 60
Maximizing the Tightest ConstraintMaximizing the Tightest Constraint
52MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Load-Balancing TunnelsLoad-Balancing Tunnels
• all tunnels require 10
A B
C
D E
G
BW(3)=100
BW(3)=200
BW(3)=100
BW(3)=100 BW(3)=100
BW(3)=200
53MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Load-Balancing TunnelsLoad-Balancing Tunnels
• all tunnels require 10
A B
C
D E
G
BW(3)=90
BW(3)=190
BW(3)=90
BW(3)=100 BW(3)=100
BW(3)=190
54MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Load-Balancing TunnelsLoad-Balancing Tunnels
• all tunnels require 10
A B
C
D E
G
BW(3)=90
BW(3)=180
BW(3)=90
BW(3)=90 BW(3)=90
BW(3)=180
55MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Load-Balancing TunnelsLoad-Balancing Tunnels
• all tunnels require 10
A B
C
D E
G
BW(3)=80
BW(3)=170
BW(3)=80
BW(3)=90 BW(3)=90
BW(3)=170
56MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Load-Balancing TunnelsLoad-Balancing Tunnels
• all tunnels require 10
A B
C
D E
G
BW(3)=80
BW(3)=160
BW(3)=80
BW(3)=80 BW(3)=80
BW(3)=160
57© 1999, Cisco Systems, Inc. Mosaddaq Turabi
MPLS as the Forwarding MPLS as the Forwarding MechanismMechanism
57© 1999, Cisco Systems, Inc.
58MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
MPLS LabelsMPLS Labels
Two types of MPLS Labels:
Prefix Labels & Tunnel Labels
LDP RSVP
MP-BGP CR-LDP
PIM
Distributed by:
59MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
MPLS as Forwarding EngineMPLS 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
60© 1999, Cisco Systems, Inc. Mosaddaq Turabi
LSP Tunnel SetupLSP Tunnel Setup
60© 1999, Cisco Systems, Inc.
61MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
RSVP Extensions to RFC2205RSVP Extensions to RFC2205for LSP Tunnelsfor 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
62MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
RSVP Extensions: New ObjectsRSVP Extensions: New Objects
• LABEL_REQUESTLABEL_REQUEST found in Path
• LABELLABEL
• EXPLICIT_ROUTE EXPLICIT_ROUTE found in Path
• RECORD_ROUTERECORD_ROUTE found in Path, Resv
• SESSION_ATTRIBUTESESSION_ATTRIBUTE found in Path 0x01 Fast Re-route Capable, 0x02 Permit Merging, 0x04 May Reoptimize => SE
• New C-Types are also assigned for the SESSIONSESSION, SENDER_TEMPLATESENDER_TEMPLATE, FILTER_SPECFILTER_SPEC, FLOWSPECFLOWSPEC 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
63MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
LSP SetupLSP Setup
• Initiated at the head-end of a trunk
• Uses RSVP (with extensions) to establish Label Switched Paths (LSPs) for traffic trunks
64MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - ExamplePath Setup - Example
Setup: Path (ERO = R1->R2->R6->R7->R4->R9)Setup: Path (ERO = R1->R2->R6->R7->R4->R9)
Reply: Resv communicates labels andReply: Resv communicates labels andreserves bandwidth on each linkreserves bandwidth on each link
Pop
Label 22
Label 49Label 17
R8
R2
R6
R3
R4
R7
R1R5
R9
Label 32
65MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - More Details Path Setup - More Details
R2 R3R1
Path: Common_HeaderSession(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)
2 21 1
66MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - More DetailsPath Setup - More Details
R3R1
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)
2 1R2
21
67MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - More DetailsPath Setup - More Details
R3R1
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)
2 1R2
21
68MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - More DetailsPath Setup - More Details
R3R12 1
R221
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)
69MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
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)
Path Setup - More DetailsPath Setup - More Details
R3R12 1
R221
70MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - More DetailsPath Setup - More Details
R3R12 1
R221
Resv State Session(R3-lo0, 0, R1-lo0)
PHOP(R3-1)Style=SE
FlowSpec (2Mbps) Sender_Template(R1-lo0, 00)
OutLabel=POPIntLabel=5
Record_Route(R3-1)
71MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - More DetailsPath Setup - More Details
R3R12 1
R221
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)
72MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Setup - More DetailsPath Setup - More Details
R3R12 1
R221
Resv state:Session(R3-lo0, 0, R1-lo0)PHOP(R2-1)Style=SEFlowSpec (2Mbps) Sender_Template(R1-lo0, 00)Label=5Record_Route(R1-2, R2-1, R3-1)
73MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Trunk Admission ControlTrunk 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
74MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Link Admission ControlLink 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”
75MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path MonitoringPath Monitoring
• Use of new Record Route Object
– keep track of the exact tunnel path
– detects loops
76MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Path Re-OptimizationPath Re-Optimization
• Looks for opportunities to re-optimize
– make before break
– no double counting of reservations
– via RSVP “shared explicit” style!
77MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Non-Disruptive Rerouting - New Non-Disruptive Rerouting - New Path SetupPath Setup
Current Path (ERO = R1->R2->R6->R7->R4->R9)Current Path (ERO = R1->R2->R6->R7->R4->R9)
New Path (ERO = R1->R2->R3->R4->R9) - shared with Current PathNew Path (ERO = R1->R2->R3->R4->R9) - shared with Current Path
Until R9 gets new Path Message, current Resv is refreshedUntil R9 gets new Path Message, current Resv is refreshed
Pop
22
4917
R8
R2
R6
R3
R4
R7
R1R5
R9
32
78MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Non-Disruptive Rerouting - Non-Disruptive Rerouting - Switching PathsSwitching Paths
PopPop
22
3849 17
R8
R2
R6
R3
R4
R7
R1R5
R9
32
Resv: allocates labels for both pathsResv: allocates labels for both pathsReserves bandwidth once per linkReserves bandwidth once per link
PathTear can then be sent to remove old path (and release PathTear can then be sent to remove old path (and release resources)resources)
8926
79MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R1
ERO (R2-1, R3-1R2-1, R3-1)Sender_Template(R1-lo0, 0000)
2
3
1
3
12
Session(R3-lo0, 0, R1-lo0)
ERO (R2-1, …, R3-3R2-1, …, R3-3)Sender_Template(R1-lo0, 0101)
00
01
0101
Resource Sharing
80MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R1
Path: Common_HeaderSession(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)
2
3
1
3
12
81MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R12 31 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)
82MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R12 31 3
83MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R12 31 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)
84MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R12 31 3
85MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R12 31 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=5Record_Route(R2-1, R3-1)
86MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Reroute - More DetailsReroute - More Details
R2 R3R12 31 3
RSVP state:Session(R3-lo0, 0, R1-lo0)PHOP(R2-1)Style=SEFlowSpec Sender_Template(R1-lo0, 01)Label=6Record_Route(R2-1, …, R3-3)Sender_Template(R1-lo0, 00)Label=5Record_Route(R2-1, R3-1)
87MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Fast RestorationFast Restoration
Handling link failures - two complementary mechanisms:
• Path protection
• Link/Node protection
88© 1999, Cisco Systems, Inc. Mosaddaq Turabi
Assigning Traffic to PathsAssigning Traffic to Paths (aka autoroute) (aka autoroute)
88© 1999, Cisco Systems, Inc.
89MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Enhancement to SPFEnhancement 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
90MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Enhancement to SPF - Metric CheckEnhancement 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
91MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Enhancement to SPF - Metric CheckEnhancement 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 next-hops
• 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
92© 1999, Cisco Systems, Inc. Mosaddaq Turabi
ConfigurationConfiguration
92© 1999, Cisco Systems, Inc.
93MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Enabling a Device for MPLS-TEEnabling a Device for MPLS-TE
Router(config)# mpls traffic-eng tunnels
94MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Enabling MPLS-TE On Enabling MPLS-TE On Physical InterfacesPhysical Interfaces
Router(config-if)# mpls traffic-eng tunnels
Router(config-if)# ip rsvp bandwidth <bw1> <bw2>
95MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
MPLS-TE Configuration for OSPFMPLS-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
96MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
MPLS-TE Configuration For IS-ISMPLS-TE Configuration For IS-IS
Router(config)# router isisRouter(config-router)# mpls traffic-eng level <level>Router(config-router)# mpls traffic-eng router-id loopback0Router(config-router)# metric-style wide
97MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
Configuring TE Tunnel On The Configuring TE Tunnel On The HeadendHeadend
Router(config)# interface tunnel1Router(config-if)# tunnel destination A.B.C.DRouter(config-if)# tunnel mode mpls traffic-engRouter(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 announceRouter(config-if)# tunnel mpls traffic-eng autoroute metric rel/abs ... Router(config-if)# tunnel mpls traffic-eng path-option 1 explicit name testRouter(config-if)# tunnel mpls traffic-eng path-option 2 dynamic
98© 1999, Cisco Systems, Inc. Mosaddaq Turabi
SummarySummary
98© 1999, Cisco Systems, Inc.
99MPLS BOOTCAMP ( Mosaddaq Turabi) © 2000, Cisco Systems, Inc.
MPLS TE BenefitsMPLS 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)
101Presentation_ID © 1999, Cisco Systems, Inc.
Recommended