Académique Documents
Professionnel Documents
Culture Documents
V-16.a
Student Guide
Juniper Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice.
YEAR 2000 NOTICE
Juniper Networks hardware and software products do not suffer from Year 2000 problems and hence are Year 2000 compliant. The Junos operating system has no known
time-related limitations through the year 2038. However, the NTP application is known to have some difficulty in the year 2036.
SOFTWARE LICENSE
The terms and conditions for using Juniper Networks software are described in the software license provided with the software, or to the extent applicable, in an agreement
executed between you and Juniper Networks, or Juniper Networks agent. By using Juniper Networks software, you indicate that you understand and agree to be bound by its
license terms and conditions. Generally speaking, the software license restricts the manner in which you are permitted to use the Juniper Networks software, may contain
prohibitions against certain uses, and may state conditions under which the license is automatically terminated. You should consult the software license for further details.
Contents
iv • Contents www.juniper.net
Course Overview
This two-day course is designed to provide students with a solid foundation on Multiprotocol Label Switching (MPLS).
After introducing concepts such as MPLS forwarding and the structure of the MPLS header, the course will delve into the
configuration and operation of the two main label distribution protocols, RSVP and LDP. Special emphasis is given to the
central topics of traffic engineering and MPLS traffic protection, including fast reroute, link/node protection, and LDP
loop-free alternate.
The concepts are put into practice with a series of in-depth hands-on labs, which will allow participants to gain
experience in configuring and monitoring MPLS on Junos OS devices. These hands-on labs utilize Juniper Networks
vMX Series devices using the Junos OS Release 16.1R3.10, but are also applicable to other MX Series devices.
Course Level
Junos MPLS Fundamentals (JMF) is an intermediate-level course.
Intended Audience
This course benefits individuals responsible for configuring and monitoring devices running the Junos OS.
Prerequisites
Students should have intermediate-level networking knowledge and be familiar with the Junos OS command-line
interface (CLI). Students should also attend the Introduction to the Junos Operating System (IJOS), Junos Routing
Essentials (JRE), Junos Intermediate Routing (JIR), and Junos Service Provider Switching (JSPX) courses prior to
attending this class.
Objectives
After successfully completing this course, you should be able to:
• Describe the history and rationale for MPLS, as well as its basic terminology.
• Explain the MPLS label operations (push, pop, swap) and the concept of label-switched path (LSP).
• Describe the configuration and verification of MPLS forwarding.
• Describe the functionalities and operation of RSVP and LDP.
• Configure and verify RSVP-signaled and LDP-signaled LSPs.
• Select and configure the appropriate label distribution protocol for a given set of requirements.
• Describe the default Junos OS MPLS traffic engineering behavior.
• Explain the Interior Gateway Protocol (IGP) extensions used to build the Traffic Engineering Database (TED).
• Describe the Constrained Shortest Path First (CSPF) algorithm, its uses, and its path selection process.
• Describe administrative groups and how they can be used to influence path selection.
• Describe the default traffic protection behavior of RSVP-signaled LSPs.
• Explain the use of primary and secondary LSPs.
• Describe the operation and configuration of fast reroute.
• Describe the operation and configuration of link and node protection.
• Describe the operation and configuration of LDP loop-free alternate.
• Describe the LSP optimization options.
• Explain LSP priority and preemption.
• Describe the behavior of fate sharing.
• Describe how Shared Risk Link Groups (SRLG) changes the CSPF algorithm when computing the path of a
secondary LSP.
• Explain how extended admin groups can be used to influence path selection.
• Explain the purpose of several miscellaneous MPLS features.
Day 1
Chapter 1: Course Introduction
Chapter 2: MPLS Fundamentals
Lab: MPLS Fundamentals
Chapter 3: Label Distribution Protocols
Lab: Label Distribution Protocols
Chapter 4: Routing Table Integration
Lab: Routing Table Integration
Day 2
Chapter 5: Constrained Shortest Path First
Lab: CSPF
Chapter 6: Traffic Protection and LSP Optimization
Lab: Traffic Protection
Chapter 7: Fate Sharing
Lab: Fate Sharing
Chapter 8: Miscellaneous MPLS Features
Lab: Miscellaneous MPLS Features
Franklin Gothic Normal text. Most of what you read in the Lab Guide
and Student Guide.
CLI Input Text that you must enter. lab@San_Jose> show route
GUI Input Select File > Save, and type
config.ini in the Filename field.
CLI Undefined Text where the variable’s value is Type set policy policy-name.
the user’s discretion or text where
ping 10.0.x.y
the variable’s value as shown in
GUI Undefined the lab guide might differ from the Select File > Save, and type
value the user must input filename in the Filename field.
according to the lab topology.
We Will Discuss:
• Objectives and course content information;
• Additional Juniper Networks, Inc. courses; and
• The Juniper Networks Certification Program.
Introductions
The slide asks several questions for you to answer during class introductions.
Course Contents
The slide lists the topics we discuss in this course.
Prerequisites
The slide lists the prerequisites for this course.
Additional Resources
The slide provides links to additional resources available to assist you in the installation, configuration, and operation of
Juniper Networks products.
Satisfaction Feedback
Juniper Networks uses an electronic survey system to collect and analyze your comments and feedback. Depending on the
class you are taking, please complete the survey at the end of the class, or be sure to look for an e-mail about two weeks
from class completion that directs you to complete an online survey form. (Be sure to provide us with your current e-mail
address.)
Submitting your feedback entitles you to a certificate of class completion. We thank you in advance for taking the time to
help us improve our educational offerings.
Courses
Juniper Networks courses are available in the following formats:
• Classroom-based instructor-led technical courses
• Online instructor-led technical courses
• Hardware installation eLearning courses as well as technical eLearning courses
• Learning bytes: Short, topic-specific, video-based lessons covering Juniper products and technologies
Find the latest Education Services offerings covering a wide range of platforms at
http://www.juniper.net/training/technical_education/.
Junos Genius
The Junos Genius application takes certification exam preparation to a new level. With Junos Genius you can practice for
your exam with flashcards, simulate a live exam in a timed challenge, and even build a virtual network with device
achievements earned by challenging Juniper instructors. Download the app now and Unlock your Genius today!
Find Us Online
The slide lists some online resources to learn and share information about Juniper Networks.
Any Questions?
If you have any questions or concerns about the class you are attending, we suggest that you voice them now so that your
instructor can best address your needs during class.
We Will Discuss:
• The need for traffic engineering and the role of MPLS;
• Common terms relating to MPLS;
• Packet flow and handling through a label-switched path (LSP);
• Configuration and verification of MPLS forwarding; and
• Understanding the information in the Label Information Base (LIB).
MPLS Foundations
The slide lists the topics we will discuss. We discuss the highlighted topic first.
MPLS Foundations
The main ideas that led to MPLS were developed in the mid ‘90s as an answer to a number of perceived concerns, the most
prominent of which were:
• The scalability of the IP control plane: the technology at the time was thought to be unable to cope with the
growth of interfaces speed and the explosion of the global routing table; the operation of selecting “the best
route” over a table which was predicted to reach hundred of thousands of entries was simply not feasible with
the technology of the time, which revolved around ordinary CPU-based routers.
• The necessity of integrating with (and eventually replacing) contemporary layer-2 technologies like ATM and
Frame Relay, collapsing them into a single, versatile infrastructure.
• The need of fine-grained traffic engineering capabilities, much more accurate than any approach based on
conventional IP routing.
Over the years, advances in ASIC technology and the disappearance of legacy layer-2 technologies made the first two
concerns irrelevant.
But the need of traffic engineering came to be the first “killer application” of MPLS, causing its wide deployment in most (if
not all) major service-provider networks, already strained by the incredible traffic growth at the end of the 1990s. After that,
several other applications were developed to take full advantage of the new forwarding capabilities that MPLS offered.
Terminology
The slide highlights the topic we discuss next.
Label-Switching Router
The original definition of label-switching router is “a router that takes forwarding decisions based only on the content of the
MPLS header”. In other words, a label-switching router always operates in label-switching mode. We will use a definition
which is slightly less restrictive, to include also ingress and egress routers, sometimes referred to as label edge routers.
Traffic at the ingress or at the egress of a label-switched path is typically not encapsulated into MPLS, so label-switching is
not possible, and a forwarding decision needs to be taken according to other rules.
We will use the term label-switching router (LSR) to mean any router which participates in MPLS forwarding, including both
the ingress and the egress nodes. For brevity, in the rest of the course we will also use the term router as synonym for
label-switching router.
Label-Switched Path
A label-switched path (LSP) is a unidirectional path through the network defined in terms of label switching operations (push,
pop, swap). You can think of a LSP as a tunnel: any packet that enters it is delivered to its endpoint, no matter what type of
payload it contains.
Establishing a label-switched path across a MPLS domain means determining the actual labels and label operations
performed by the label-switching routers on the path. This can be done with manual configuration, or by some type of
dynamic label distribution protocol.
Often a label-switched path will reside within a single MPLS domain, for example within a single service provider. However,
the development of advanced BGP-based MPLS signaling allows the creation of label-switched paths that span multiple
domains and multiple administrations.
Penultimate-Hop Popping
Often the MPLS header is removed by the second-to-last (the penultimate) router in an LSP. This removal is an optimization
that helps in several cases, including using MPLS for IP traffic engineering. Removing the label at the penultimate hop
facilitates the work of the last-hop (egress) router, which, instead of having both to remove the MPLS header and then take
an IP routing decision, will only need to do the latter.
Penultimate-hop popping (PHP) is the default behavior on Juniper routers; however, it can be disabled in the configuration.
Some applications require PHP to be disabled, but that is often done automatically: the Junos OS is smart enough to detect
the need to signal the LSP so that PHP is disabled.
MPLS Configuration
The slide highlights the topic we discuss next.
Interface Configuration
To enable MPLS on an interface, you will first need to configure family mpls at the logical unit level. This allows an
interface to receive and process MPLS frames.
Protocol Configuration
After enabling MPLS frame processing at the interface level, you will need to list the interfaces running MPLS at the [edit
protocol mpls] level.
Historically, this was needed to inform the routing protocol process (RPD) about which interfaces could be used for MPLS
signaling. Enabling family mpls on interfaces would instead cause the microcode for MPLS de-capsulation to be
uploaded to line cards. While more modern platforms may work differently, this syntax remained. In order to use MPLS you
need both to configure interfaces for family mpls, and to enumerate the interfaces again at the [edit protocols
mpls] level.
In a lab scenario, you can also use the shortcut interface all, which enables MPLS on every interface on which
family mpls is configured. In a realistic configuration this is almost never done, as typically there are several other
properties and configuration knobs that need to be enabled on a per-interface basis.
End Result
One way of checking the forwarding behavior is to run a traceroute through the static LSP. Remember though that LSPs are
unidirectional, and the return ICMP TTL-expired packets used by traceroute need to be able to follow a normal IP route back
to the traceroute source (in this example, C1).
Traceroute also allows you to see the actual labels: within each TTL-expired ICMP packet is part of the frame which triggered
it, and this allows traceroute implementations to decode and display the fields of MPLS headers.
We Discussed:
• Common terms relating to MPLS;
• The way a label-switching router forwards MPLS;
• Packet flow and label operations through an LSP;
• Configuration and verification of MPLS forwarding; and
• The content of the label information base.
Review Questions
1.
2.
3.
We Will Discuss:
• Two label distribution protocols used by the Junos operating system;
• Configuration and verification of RSVP-signaled and LDP-signaled label-switched paths (LSPs); and
• Given a set of requirements, choosing and configuring the appropriate label distribution protocol.
RSVP
RSVP is a generic signaling protocol designed originally to be used by applications to request and reserve specific
quality-of-service (QoS) treatment across the Internet. Resources are reserved hop by hop across the network: each router
receives the resource reservation request, establishes and maintains the necessary state for the data flow, and forwards the
resource reservation request to the next router along the path.
The Junos OS uses RSVP as the label distribution protocol for traffic engineering. Allocating labels along a label-switched
path, optionally with an associated bandwidth reservation, can be viewed as a resource reservation problem, so it was
natural to create a set of RSVP extensions to handle label allocation and bandwidth reservation.
Some of the capabilities offered by RSVP are:
• The creation of an LSP that along an arbitrary path, without having to follow the interior gateway protocol (IGP);.
This opened the possibility of doing “real” traffic engineering.
• The distribution of label information to all LSRs in the LSP in a consistent way, avoiding problems such as
label-switching loops.
• The reservation of bandwidth along the path
• The possibility of requesting a specific Class of Service treatment for traffic traversing a label-switched path.
Continued on the next page.
LDP
LDP is a radically different protocol compared to RSVP. Its main goal was neither to reserve resources nor to do traffic
engineering, but simply to offload the forwarding plane of core routers by building a full mesh of label-switched paths, from
any node to any other node.
The LDP signaling protocol always establishes LSPs that follow the IGP best path, and because of this it cannot be used for
traffic engineering. However, if finds important applications in scenarios such as large Layer 2 or Layer 3 VPN deployments,
and generally all scenarios where it is not important the actual path a LSP takes as it crosses the network.
RSVP
The slide highlights the topic we discuss next.
RSVP
RSVP was originally designed as part of the Integrated Services architecture (RFC1633), an initial and now abandoned effort
to provide fine-grained Quality of Service across the Internet.
RSVP is a general resource reservation protocol, whose goal was to “provide a general facility for creating and maintaining
distributed reservation state across a set of multicast or unicast delivery paths” (RFC 2205). Originally it was supposed to be
deployed on hosts (end systems), and used for requesting and allocating guaranteed bandwidth along a path for
applications for such as videoconferencing and voice calls. It was explicitly designed to support extensibility by means of
opaque objects, complex entities transported in a transparent way by the protocol, and handled by the networking nodes in
the path independently from the protocol itself. The idea was to allow RSVP to handle reservations for any type of resource,
present or future; and this extreme flexibility and versatility allowed RSVP to be re-deployed as a label distribution protocol,
running not anymore between hosts, but between routers.
It is worth noting again that RSVP is a signaling, not a routing protocol: its purpose it to establish and tear down
label-switched paths, as well as to detect problems along an established LSP. The Junos OS uses RSVP as the label
distribution protocol for traffic engineering applications.
In the example, R4 can verify the strict constraint; the last remaining element of the ERO is removed, and forwarding can
continue towards the egress.
After these preliminary steps are completed, the basic RSVP configuration involves just enumerating the interfaces again at
the [edit protocol rsvp] level. This is already a valid minimal configuration, and the router will be able to initiate or
participate in RSVP LSP setup.
Committing the configuration will cause the LSP setup process to start, and the PATH message to be sent towards the egress
point. Note that we did not specify any Explicit Route Object, so the PATH message will be forwarded hop-by-hop towards the
egress following the IGP.
In the example, loopback addresses are used for both strict and loose hops. It is possible to use either interface addresses
or loopback addresses when specifying hops, but of course the results will be different. The general rule is to use interface
addresses, typically as strict hops, if you want to nail down an LSP to a specific incoming interface, and loopback address if
you do not care about the incoming interface, but you are only interested in the LSP crossing a given node.
The example shows a single LSP which reserved 400Mb of a Gigabit Ethernet interface. The high-water mark shows that at
one point in the past 921Mb were reserved on that interface.
In this example, taken on router R2, the LSP named R1-to-R6 is listed as down. To find out why, we will need to examine the
state of that specific LSP in detail. Often the best place to do this is the ingress router.
In this example, we are examining an LSP from the point of view of the second router in the path. You can see this by
checking the RRO object: the current node is expressed with the <self> tag.
It is possible to verify authentication by using the command show rsvp interface <name> extensive, as in the
example.
RSVP Traceoptions
As usual in the Junos OS, it is possible to enable protocol traceoptions (debugging) at the [edit protocols rsvp]
level.
The flags which are available are:
• error: Trace error conditions.
• event: Trace RSVP related events.
• lmp: Trace RSVP-LMP related interactions.
• lsp-prefix: Prefix the trace messages with LSP information.
• nsr-synchronization: Trace NSR synchronization events.
• packets: Trace all RSVP packets.
• path: Trace RSVP path messages.
• pathtear: Trace RSVP PathTear messages.
• resv: Trace RSVP Resv messages.
• resvtear: Trace RSVP ResvTear messages.
• route: Trace routing information.
• state: Trace state transitions.
LDP
The slide highlights the topic we discuss next.
LDP Concepts
The Label Distribution Protocol (LDP) protocol had very different origins and goals than RSVP. Its original design goal was to
offload core routers so that they did not have to do a full route lookup for every packet. The key observation was that there
should be no need to do a lookup at every hop on a table that typically contains thousand and thousands of prefixes.
LDP introduces the concept of FEC (Forwarding Equivalence Class), a class of packets which should be treated in the same
manner, or, in simpler terms, a class of packets which are headed to the same egress point within a MPLS network. In LDP,
every router will advertise one label for each FEC. We will see in the next slide how this is used to build a tree of LSPs from
every possible ingress router.
The Junos OS implementation of LDP supports LDP Version 1, using the ordered downstream unsolicited mode with liberal
label retention, as defined in RFC 3036. This means that each LDP peer will store all label bindings received (liberal
retention), that each downstream peer will advertise all FECs for which it is prepared to receive labeled traffic (downstream
unsolicited), and that FECs are only advertised when the router is the egress point or when it has received a label mapping
for the traffic’s next hop (ordered).
Since version 12.2, the Junos OS also supports downstream on-demand label distribution mode. For this, all routers need to
be configured with the downstream-on-demand command, at the [edit protocols ldp session
<session-address>] hierarchy.
Continued on the next page.
The transport address is used to determine which side is active. The transport address is placed into the Hello message as a
transport address object. If the transport address object is not specified, the source address of the hello packet is used to
determine it.
Session Establishment
The router with the numerically highest IP address is responsible for initiating the LDP TCP session. After the TCP 3-way
handshake has been completed, the LDP session can be established.
Session Maintenance
An LDP peer must receive an LDP packet every keepalive period to prevent the tear down of neighbor state. Any LDP protocol
message is acceptable for keepalive purposes, so keepalive messages are sent only in the absence of other LDP traffic.
Either end can shut down the session by issuing a shutdown message. If a router has multiple links to an LDP peer then
hellos are sent across all of the links. As long as one of the links can continue to exchange hellos, the LDP session remains
active.
The LDP hello messages enable LDP routers to discover one another and to detect the failure of a neighbor, or the link to
that neighbor. Hello messages are sent periodically on all interfaces on which LDP is enabled. By default, LDP sends hello
messages every 5 seconds. This value can be configured depending on the network requirements.
The hold time determines how long a router can wait for a hello message before declaring the neighbor lost. The configured
value is sent inside of hello messages to inform the receiving router how often it should expect to receive a hello; this
mechanism means that hello intervals do not need to be the same between neighbors. The default hold time is 15 seconds;
this value represents the recommended setting of three times the hello interval.
You can control the LDP transport address, that is the address used by the TCP session. You can configure the transport
address globally for all LDP sessions or for each interface independently. If you select interface, the interface address is
used as the transport address for any LDP sessions to neighbors that are reachable over that interface.
You cannot specify interface when there are multiple parallel links to the same LDP neighbor because the LDP specification
requires that the same transport address be advertised on all interfaces to the same neighbor. If LDP detects multiple
parallel links to the same neighbor, it disables interfaces to that neighbor one by one until the condition is cleared.
By default, the Junos OS implementation of LDP only advertises the primary loopback address; this behavior can be changed
by means of an egress policy, which will be described later.
LDP Policies
Differently from most other protocols which typically use two types of policy (import and export), LDP can be configured to
use three types of policy:
• Import policy: can be used to filter and control the label mappings (that is, the [prefix, label] pairs) that you are
willing to accept from your neighbors.
By default a router will accept all label mapping from its neighbors.
• Export policy: they are typically used to restrict the label mapping you advertise to your neighbors. This can be
useful in many scenarios where you would need to reduce the number of label mappings you advertise from the
core towards an access network.
By default a router will advertise all its LDP mapping to its peers.
Note that a LDP export policy behaves differently from export policies from most other protocols. Specifically,
you cannot use an export policy to redistribute routes from other protocols into LDP.
• Egress policy: this third policy allows to advertise additional label mappings, a function that is very similar to the
one of export policies in other protocols. For example, you could write a policy that matches your interface
routes; if you apply it as an egress policy, the router will advertise a label mapping for all directly connected
networks.
The default egress policy is to advertise a single prefix: the router’s primary loopback address.
LDP Tunneling Allows to Combine RSVP Traffic Engineering with LDP Label Distribution
LDP tunneling allows to combine RSVP-based traffic engineering with LDP-style label distribution. It is often used in
core-access networks, where RSVP is used for network optimization across the core, while LDP is used to distribute a large
amount of labels to access LSRs providing different services, for example MPLS-based VPNs.
LDP tunneling requires two LSPs, i.e. a bidirectional RSVP path, between endpoints. In this example, two LSPs exist between
R2 and R7, and a targeted LDP session between the routers’ loopbacks allows the two routers to exchange LDP labels.
Traffic across the RSVP core will use two stacked labels: an inner LDP label which will be preserved across the core, and an
outer RSVP label which will typically be subject to swap operations at every hop.
We Discussed:
• The two label distribution protocols that the Junos OS supports;
• The configuration elements needed to implement RSVP or LDP to dynamically signal a LSP
• The capabilities of both LDP and RSVP when using the Junos OS.
Review Questions
1.
2.
3.
We Will Discuss:
• The use and role of the inet.3 table in the Junos OS;
• How MPLS LSPs can be used for BGP next-hop resolution; and
• How the default traffic engineering behavior of the Junos OS can be changed.
Establishing an LSP
After next-hop self has been configured, it is sufficient to establish a LSP towards R4’s loopback address to be able to
do traffic engineering.
Remember that LSPs egress points are stored into the inet.3 table, with the preference of the label distribution protocol
used to create it. If we create, as in this example, a LSP to R4’s loopback address, then R1 will have two entries for R4’s
loopback: one installed into the inet.0 table and created by the IGP, and a second one installed into inet.3 and created
by RSVP.
We Discussed:
• The content of the inet.3 table, and how it is used by different applications;
• The role and use of MPLS LSPs for BGP next-hop resolution; and
• Different alternatives to the default Junos OS traffic engineering behavior.
Review Questions
1.
2.
3.
We Will Discuss:
• The path selection process of RSVP without the use of the Constrained Shortest Path First (CSPF) algorithm;
• The interior gateway protocol (IGP) extensions used to build the traffic engineering database (TED);
• The CSPF algorithm and its path selection process;
• Administrative groups and how they can be used to influence path selection; and
• The behavior of inter-area traffic engineered label switched paths (LSPs).
CSPF Algorithm
This slide highlights the topic we discuss next.
IGP Extensions
Both OSPF and IS-IS can propagate additional information through some form of extension. IS-IS carries different parameters
in type/length/value (TLV) tuples, which are propagated only within a level. OSPF, instead, uses Type 10 opaque LSAs to carry
traffic engineering extensions. Type 10 LSAs have an area flooding scope, meaning that the information is propagated within
an area. OSPF traffic engineering extensions do not cross area border routers (ABRs). The MPLS Traffic Engineering
Information carried by IGP extensions is defined in RFCs 3630 and 4203 for OSPF, and RFCs 3784 and 4205 for IS-IS.
The TED Is Used for Calculating MPLS Paths Across the Network
The IGP contains full information about the topology of the area (for OSPF) or of the level (for ISIS). Traffic engineering
extensions supplement this information, and maintain it up-to-date by re-generating and re-flooding link-state updates or
link-state PDUs when needed.
Information distributed by TE extensions includes the amount of free bandwidth, and the amount of bandwidth reserved at
each priority level. It is possible that a link may have no bandwidth available for a low-priority LSP, but still have available
bandwidth for a high-priority LSP, if LSP preemption is allowed.
Together with bandwidth-related data, the TED can also store administrative colors (also called link affinity), a feature which
allows a designer to specify a set of links that a given LSP should or should not traverse.
Administrative Groups
The slide highlights the topic we discuss next.
Configuring PCEP
Configuring PCEP involves three steps:
• Configuring each Path Computation Element at the [edit protocol pcep] level. The mandatory
parameters are IP address, port, and PCE type.
• Declaring each server at the [edit protocol mpls] level.
• Finally, for each LSP that needs to be externally controlled, specify the PCE name.
The protocol itself can handle both path computation, and synchronization of the PCE with the actual network state.
For more information on PCEP, please refer to the Junos MPLS applications guide available on the Juniper website.
Loss and Delay Statistics Collection Over a Pair of Associated UHP LSPs
For critical, delay-sensitive services it is possible to enable automatic delay and loss statistic collection over a pair of
associated LSPs. The LSPs need to be configured for ultimate hop popping, which is needed to preserve the identity of LSPs
even after the penultimate hop.
In the configuration above all intervals are in milliseconds. It is possible to specify different MPLS TC classes for each probe,
to check how your network prioritizes different traffic types according to the MPLS Traffic Class field.
We Discussed:
• The path selection process of RSVP without the use of the CSPF algorithm;
• The IGP extensions used to build the TED;
• The CSPF algorithm and its path selection process;
• Administrative groups and how they can be used to influence path selection; and
• The behavior of inter-area traffic engineered LSPs.
Review Questions
1.
2.
3.
4.
Lab: CSPF
The slide provides the objectives for this lab.
We Will Discuss:
• The default traffic protection behavior of RSVP-signaled label-switched paths
• The use of primary and secondary LSPs
• LSP priority and preemption
• Operation and configuration of fast reroute
• Operation and configuration of link and node protection
• LSP optimization options
Secondary Paths
Like primary paths, secondary paths are optional. By default, a secondary path is signaled only when it is needed, after a
failure. When multiple secondary paths are defined, they are signaled in the order they appear in the configuration.
Standby
You can specify the standby option for a secondary path. This causes the router to signal the secondary path immediately,
even if it is not needed yet. Note that standby secondaries result in routers having to maintain additional state in the form
of the pre-established standby LSPs. When the standby option is specified at the label-switched-path lsp-name
hierarchy, the router maintains standby state for all secondary paths. To keep only selected secondaries in standby state,
specify the standby keyword at the secondary name hierarchy, as shown here:
[edit protocols mpls label-switched-path green]
user@R1# show
to 192.168.24.1;
primary one {
bandwidth 35m;
priority 6 6;
}
secondary two {
standby;
}
Monitoring Preemption
This slide shows the effects of preemption over an established LSP.
The LSP is defined with an associated bandwidth of 800M, and setup and hold priorities both set to 4. The primary path has
two strict hops, while the secondary path has no constraints.
user@R1> show configuration protocols mpls
...
label-switched-path green {
to 172.17.20.6;
bandwidth 800m;
priority 4 4;
primary via-R2-R4;
secondary any-path;
}
path via-R2-R4 {
172.17.20.2 strict;
172.17.20.4 strict;
}
path any-path;
Continued on the next page.
172.17.20.6
From: 172.17.20.1, State: Up, ActiveRoute: 0, LSPname: green
ActivePath: any-path (secondary)
LSPtype: Static Configured, Penultimate hop popping
LoadBalance: Random
Encoding type: Packet, Switching type: Packet, GPID: IPv4
Primary via-R2-R4 State: Dn
Priorities: 4 4
Bandwidth: 800Mbps
SmartOptimizeTimer: 180
Will be enqueued for recomputation in 19 second(s).
13 Jan 5 14:17:38.092 CSPF failed: no route toward 172.17.20.2[2 times]
12 Jan 5 14:17:12.489 Clear Call: CSPF computation failed
11 Jan 5 14:17:12.488 172.17.23.2: Requested bandwidth unavailable
10 Jan 5 14:17:12.400 Deselected as active
9 Jan 5 14:17:12.398 Originate Call
8 Jan 5 14:17:12.394 Clear Call
7 Jan 5 14:17:12.394 CSPF: computation result accepted 172.17.23.2 172.17.23.14
172.17.23.22 172.17.23.30
6 Jan 5 14:17:12.393 172.17.23.14: Session preempted
5 Jan 5 14:16:39.226 Selected as active path
4 Jan 5 14:16:39.225 Record Route: 172.17.23.2 172.17.23.14 172.17.23.26
3 Jan 5 14:16:39.225 Up
2 Jan 5 14:16:39.166 Originate Call
1 Jan 5 14:16:39.166 CSPF: computation result accepted 172.17.23.2 172.17.23.14
172.17.23.26
*Secondary any-path State: Up
Priorities: 4 4
Bandwidth: 800Mbps
SmartOptimizeTimer: 180
Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 31)
172.17.23.6 S 172.17.23.18 S 172.17.23.30 S
Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt
20=Node-ID):
172.17.23.6 172.17.23.18 172.17.23.30
6 Jan 5 14:17:38.172 Selected as active path
[...]
Fast Reroute
The slide highlights the topic we discuss next.
LSP Configuration
To take advantage of protection, an LSP needs to be configured with either the link-protection or the
node-link-protection keyword. If Node Protection is not available, then the behavior will fall back to link protection.
This can happen because in the topology there is no alternative path that bypasses the next-hop router.
Label Mapping
The slide shows the alternate next-hop that is installed by link protection. The next-hop will be available to protect traffic in
case of failure of the protected interface, ge-1/0/4.105.
LSP Optimization
The slide highlights the topic we discuss next.
LSP Rerouting
Once an LSP is established, changes in topology or available resources might result in the existing path becoming
suboptimal. A subsequent CSPF recomputation might find that a better path is now available. When optimization is enabled,
LSPs can be rerouted as a result of periodic CSPF recomputations. Without optimization the LSP has a fixed path and cannot
take advantage of newly available network resources, at least until the next topology change or operator intervention. Note
that optimization is not related to failover; a new path is always computed when topology failures disrupt an established
path.
Enable Optimization
Because of the potential system overhead involved, you should carefully consider the frequency at which routers perform
optimization runs. By default, the optimize-timer is set to 0 (that is, it is disabled). LSP optimization is only meaningful
for CSPF LSPs. Due to statistical characteristics that arise in large topologies, a network can effectively synchronize and end
up trying to recalculate all LSPs at the same time when all reoptimization timers are set the same. To prevent this behavior,
the LSP reoptimization timer is modified to include a randomization factor when recalculating LSPs. The randomization
factor is fixed and cannot be modified.
Note that you can manually trigger optimization with the operational mode clear mpls lsp optimize command.
Optimization Rules
By default, an LSP can only have its path optimized when all of the following criteria are met. These rules are intentionally
conservative as stability is better than being optimal in many cases.
1. The new path is not higher in CSPF metric. (The metric for the old path is updated during computation, so if a
recent link metric changed somewhere along the old path, it is accounted for.)
2. If the new path has the same CSPF metric, it must not have more hops.
3. The new path does not cause preemption. (This is to reduce the ripple effect of one preemption causing yet more
preemption.)
4. The new path does not worsen congestion overall. This is determined by comparing the percentage of available
bandwidth on each link traversed by the new and old paths, starting from the most congested links.
When all the above conditions are met, then if the new path has a lower CSPF metric, it is accepted. If the new path has an
equal CSPF metric and lower hop count, it is accepted. If you choose least fill as a load-balancing algorithm and if the new
path reduces congestion by at least 10 percent aggregated over all links it traversed, it is accepted. For random or most-fill
algorithms, this rule does not apply. Otherwise, the new path is rejected.
Continued on the next page.
Configuration Example
To define an adaptive LSP, include the adaptive statement when defining the LSP, as shown on the slide. When
adaptive is specified at the label-switched-path lsp-name hierarchy and sufficient resources exist to establish
both LSPs, the primary and all secondary paths share the same bandwidth reservation (the higher of all bandwidths
defined). When adaptive is included at the primary or secondary hierarchy level, the SE-style reservation behavior is
enabled only for the path (primary or secondary) that is so configured. When specified at the primary and secondary level,
the corresponding primary and secondary paths are considered as separate adaptive settings, and therefore, their
resources are double-counted.
We Discussed:
• The default traffic protection behavior of RSVP-signaled LSPs;
• The use of primary and secondary LSPs;
• LSP priority and preemption;
• Operation and configuration of fast reroute;
• Operation and configuration of link and node protection; and
• LSP optimization options.
Review Questions
1.
2.
3.
We Will Discuss:
• The behavior of fate sharing;
• How Shared Risk Link Groups (SRLG) change the Constrained Shortest Path First (CSPF) algorithm when
computing the secondary path of a LSP; and
• How extended administrative groups can be used to influence path selection.
SRLG
The slide highlights the topic we discuss next.
SRLG Standard
The purpose of SRLG is defined in RFC 4202. SRLG relies on the distribution of SRLG values using the IGP similar to admin
groups. RFC 4203 describes the Open Shortest Path First (OSPF) extensions to support the distribution of SRLG information.
RFC 5307 describes the extensions to Intermediate System Intermediate System (ISIS) to support the distribution of SRLG
information.
When trying to understand SRLG, you should equate them to admin groups. Interfaces are associated with one or more
SRLG values. Just like admin groups, you configure a static table in the configuration that converts the numeric SRLG value
to a named value. Unlike admin groups, SRLG values assigned to an interface are not advertised as a single 32-bit value but
are instead advertised with one, unique 32-bit value for every assigned SRLG value. The slide shows that two SRLG values
(each 32-bits in length) that will be advertised by a router that has an interface assigned to two different SRLGs.
Interface Configuration
Like admin groups, SLRG are assigned to interfaces under the [edit protocols mpls] hierarchy. Use the show mpls
interface detail command to view the SRLGs that are currently assigned to your interfaces.
CSPF Calculation
The router, when signaling the secondary path, will automatically attempt to avoid the SRLGs that the primary path traverses.
As shown in the traceoptions output, the router simply adds the configured SRLG cost to the CSPF metric of the links
that belong to the SRLG.
Excluding SRLG
By default, it is possible for a secondary path to traverse the same SRLGs as of the primary path. This could happen because
there is no alternative path, or because the increase in metric due to the SRLG is not enough to make the path non-best.
If you would like the router to prune the SRLG links, apply the exclude-srlg configuration option to your LSP. This will
ensure that primary and secondaries will not have any common SRLG.
IGP Distribution
The slide shows how the extended admin groups are advertised along with the SRLG values (if any) that have been assigned
to interfaces. Although they are advertised as SRLG values, as long as they have correctly been repurposed at the [edit
routing-options] hierarchy they will be interpreted as extended admin groups.
We Discussed:
• The behavior of fate sharing;
• How SRLG configuration changes the CSPF algorithm when computing the path of a secondary multiprotocol
LSP; and
• How extended admin groups can be used to influence path selection.
Review Questions:
1.
2.
3.
We Will Discuss:
• The purpose of several miscellaneous MPLS features.
Forwarding Adjacencies
The slide lists the topics we will discuss. We discuss the highlighted topic first.
Control Plane Caveat: Do Not Use no-cspf LSPs If You Plan to Use Forwarding Adjacencies
You should only use Constrained Shortest Path First (CSPF) LSPs when deploying forwarding adjacencies. Forwarding
adjacencies are not placed into the Traffic Engineering Database, as they do not run MPLS. Because of this, CSPF will never
compute a path which crosses a forwarding adjacency.
If you use LSPs with the no-cspf configuration option, it is possible that RSVP may attempt to establish a new LSP over a
forwarding adjacency due to its lower IGP cost, which will cause the LSP setup to fail.
LSP Metrics
The slide highlights the topic we discuss next.
Automatic Bandwidth
The slide highlights the topic we discuss next.
Option Meaning
adjust-interval Time to adjust LSP bandwidth (300..4294967295
seconds)
Container LSPs
The slide highlights the topic we discuss next.
All-or-None Reservation
RSVP reservation either succeed in allocating the requested bandwidth, or they fail. This all-or-nothing behavior does not
allow - for example - to split the LSP and allocate the requested bandwidth over separate paths going the same egress point.
This can lead to inefficiencies, as some capacity between endpoints is not used.
TTL Handling
The slide highlights the topic we discuss next.
MPLS Pings
The slide highlights the topic we discuss next.
We Discussed:
• Several miscellaneous MPLS features; and
• Features that fulfill some given design requirements.
Review Questions
1.
2.