{"id":1858,"date":"2024-10-22T15:56:00","date_gmt":"2024-10-22T13:56:00","guid":{"rendered":"https:\/\/www.quisted.net\/?p=1858"},"modified":"2024-11-05T13:06:38","modified_gmt":"2024-11-05T12:06:38","slug":"multi-protocol-label-switching-traffic-engineering","status":"publish","type":"post","link":"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/","title":{"rendered":"MPLS &#8211; Traffic Engineering (MPLS-TE) Options"},"content":{"rendered":"\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1884 size-full\" src=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2024\/10\/header3.png\" alt=\"\" width=\"1011\" height=\"394\" srcset=\"https:\/\/www.quisted.net\/wp-content\/uploads\/2024\/10\/header3.png 1011w, https:\/\/www.quisted.net\/wp-content\/uploads\/2024\/10\/header3-300x117.png 300w, https:\/\/www.quisted.net\/wp-content\/uploads\/2024\/10\/header3-768x299.png 768w\" sizes=\"auto, (max-width: 1011px) 100vw, 1011px\" \/><\/p>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#MPLS-TE_Traffic_manipulation_options\" >MPLS-TE Traffic manipulation options<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Explicit_Routing_with_Constraint-Based_Routing_CBR\" >Explicit Routing with Constraint-Based Routing (CBR)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Traffic_Engineering_Database_TED\" >Traffic Engineering Database (TED)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Resource_Reservation_with_RSVP-TE\" >Resource Reservation with RSVP-TE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Fast_Reroute_FRR\" >Fast Reroute (FRR)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Load_Balancing_and_Path_Diversity\" >Load Balancing and Path Diversity<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Bandwidth_Guarantees_and_Traffic_Prioritization\" >Bandwidth Guarantees and Traffic Prioritization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Administrative_Policies_and_Affinity-Based_Routing\" >Administrative Policies and Affinity-Based Routing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.quisted.net\/index.php\/2024\/10\/22\/multi-protocol-label-switching-traffic-engineering\/#Dynamic_Path_Computation_with_Path_Computation_Element_PCE\" >Dynamic Path Computation with Path Computation Element (PCE)<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<p>MPLS, or <strong>Multiprotocol Label Switching<\/strong>, is a technique that enhances the speed and efficiency of data flow across complex networks. It operates by adding short path labels to network packets, directing them through a predetermined <strong>Label-Switched Path (LSP)<\/strong> rather than traditional IP-based routing. These labels contain all the forwarding information, allowing routers to forward packets based on the label rather than performing complex IP lookups. By simplifying the routing decision process, MPLS can reduce latency, optimize network performance, and enable quality-of-service (QoS) features that guarantee certain levels of bandwidth and prioritize critical applications like voice and video.<\/p>\n<p>MPLS is widely used in service provider networks, supporting technologies like <strong>VPNs<\/strong> (Virtual Private Networks) and <strong>traffic engineering<\/strong>. In a typical MPLS setup, labels are assigned and stripped at the network\u2019s edge, so the core network can process packets quickly without IP overhead. Additionally, MPLS is adaptable to various network protocols and media, enabling seamless interoperability across different types of infrastructure. By allowing network operators to manage traffic dynamically and reroute around congestion or failures, MPLS ensures greater reliability and robustness, making it a preferred choice for large-scale enterprise and ISP networks.<\/p>\n<p><strong>MPLS Traffic Engineering (MPLS-TE)<\/strong> is a technology that enhances the capabilities of MPLS to enable more granular control over traffic flow within a network. This is achieved by manipulating traffic paths to optimize resource usage, avoid congestion, and meet specific service requirements, like bandwidth guarantees or low latency. Here are key methods by which MPLS-TE can manipulate paths and traffic flow:<\/p>\n<h2><span class=\"ez-toc-section\" id=\"MPLS-TE_Traffic_manipulation_options\"><\/span><span style=\"color: #800080;\">MPLS-TE Traffic manipulation options<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Explicit_Routing_with_Constraint-Based_Routing_CBR\"><\/span><strong>Explicit Routing with Constraint-Based Routing (CBR)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Constraint-based routing<\/strong> allows MPLS-TE to create Label-Switched Paths (LSPs) that follow a specific path through the network, rather than relying on traditional routing protocols.<\/li>\n<li><strong>Explicit path setup<\/strong> enables network operators to define exact paths based on link attributes, resource availability, or even administrative preferences, avoiding congested or unreliable links.<\/li>\n<li>Constraints can include <strong>bandwidth, latency, maximum hop count<\/strong>, and <strong>available resources<\/strong>.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"! Define an explicit path list for the TE tunnel\nRouter(config)# ip explicit-path name Path_R1_R3\nRouter(config-ip-expl-path)# next-address 10.1.1.2  ! IP of Router2\nRouter(config-ip-expl-path)# next-address 10.1.2.2  ! IP of Router3\n\n! Configure the TE Tunnel\nRouter(config)# interface Tunnel1\nRouter(config-if)# ip unnumbered Loopback0\nRouter(config-if)# tunnel mode mpls traffic-eng\nRouter(config-if)# tunnel destination 10.1.3.3     ! Destination (Router3)\nRouter(config-if)# tunnel mpls traffic-eng path-option 1 explicit name Path_R1_R3\nRouter(config-if)# tunnel mpls traffic-eng bandwidth 1000   ! Set bandwidth constraint\nRouter(config-if)# no shutdown\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">! <\/span><span style=\"color: #F286C4\">Define<\/span><span style=\"color: #F6F6F4\"> an explicit <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F6F6F4\"> list <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> the TE tunnel<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# ip explicit<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">name<\/span><span style=\"color: #F6F6F4\"> Path_R1_R3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ip<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">expl<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F6F6F4\">)# next<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">address <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">1.2<\/span><span style=\"color: #F6F6F4\">  ! IP <\/span><span style=\"color: #F286C4\">of<\/span><span style=\"color: #F6F6F4\"> Router2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ip<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">expl<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F6F6F4\">)# next<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">address <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">2.2<\/span><span style=\"color: #F6F6F4\">  ! IP <\/span><span style=\"color: #F286C4\">of<\/span><span style=\"color: #F6F6F4\"> Router3<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">! Configure the TE Tunnel<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface Tunnel1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# ip unnumbered Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel <\/span><span style=\"color: #F286C4\">mode<\/span><span style=\"color: #F6F6F4\"> mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel destination <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">3.3<\/span><span style=\"color: #F6F6F4\">     ! Destination (Router3)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">option <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\"> explicit <\/span><span style=\"color: #F286C4\">name<\/span><span style=\"color: #F6F6F4\"> Path_R1_R3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng bandwidth <\/span><span style=\"color: #BF9EEE\">1000<\/span><span style=\"color: #F6F6F4\">   ! <\/span><span style=\"color: #F286C4\">Set<\/span><span style=\"color: #F6F6F4\"> bandwidth <\/span><span style=\"color: #F286C4\">constraint<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# no shutdown<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Traffic_Engineering_Database_TED\"><\/span><strong>Traffic Engineering Database (TED)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>The <strong>TED<\/strong> collects information on the state of the network, such as available bandwidth, link utilization, and link properties.<\/li>\n<li>MPLS-TE uses the TED to make dynamic routing decisions based on real-time information, thus selecting paths that avoid congested areas and optimize resource use.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"! Enable traffic engineering on OSPF\nRouter(config)# router ospf 1\nRouter(config-router)# mpls traffic-eng router-id Loopback0\nRouter(config-router)# mpls traffic-eng area 0\n\n! Ensure interfaces participate in TE\nRouter(config)# interface GigabitEthernet0\/1\nRouter(config-if)# ip router ospf 1 area 0\nRouter(config-if)# mpls traffic-eng tunnels\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">! Enable traffic engineering <\/span><span style=\"color: #F286C4\">on<\/span><span style=\"color: #F6F6F4\"> OSPF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# router ospf <\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">router)# mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng router<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">id Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">router)# mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng area <\/span><span style=\"color: #BF9EEE\">0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">! Ensure interfaces participate <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> TE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface GigabitEthernet0<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# ip router ospf <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\"> area <\/span><span style=\"color: #BF9EEE\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng tunnels<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Resource_Reservation_with_RSVP-TE\"><\/span><strong>Resource Reservation with RSVP-TE<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>RSVP-TE (Resource Reservation Protocol with TE extensions)<\/strong> is used to signal and reserve resources along the selected path.<\/li>\n<li>This protocol sets up <strong>traffic-engineered LSPs (TE LSPs)<\/strong> and reserves the necessary bandwidth to meet quality-of-service (QoS) requirements.<\/li>\n<li>With RSVP-TE, MPLS-TE can ensure certain traffic flows (like voice or video) get dedicated resources, reducing packet loss and jitter.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"! Enable RSVP globally\nRouter(config)# mpls traffic-eng tunnels\nRouter(config)# ip rsvp signaling hello\n\n! Enable RSVP on each interface used by the MPLS-TE tunnel\nRouter(config)# interface GigabitEthernet0\/1\nRouter(config-if)# ip rsvp bandwidth 10000 1000  ! Interface bandwidth in kbps, reserved bandwidth\n\n! Configure an MPLS-TE tunnel with RSVP\nRouter(config)# interface Tunnel2\nRouter(config-if)# ip unnumbered Loopback0\nRouter(config-if)# tunnel mode mpls traffic-eng\nRouter(config-if)# tunnel destination 10.1.3.3\nRouter(config-if)# tunnel mpls traffic-eng bandwidth 2000\nRouter(config-if)# tunnel mpls traffic-eng path-option 1 dynamic\nRouter(config-if)# no shutdown\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">! Enable RSVP globally<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng tunnels<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# ip rsvp signaling hello<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">! Enable RSVP <\/span><span style=\"color: #F286C4\">on<\/span><span style=\"color: #F6F6F4\"> each interface used by the MPLS<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">TE tunnel<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface GigabitEthernet0<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# ip rsvp bandwidth <\/span><span style=\"color: #BF9EEE\">10000<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">1000<\/span><span style=\"color: #F6F6F4\">  ! Interface bandwidth <\/span><span style=\"color: #F286C4\">in<\/span><span style=\"color: #F6F6F4\"> kbps, reserved bandwidth<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">! Configure an MPLS<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">TE tunnel <\/span><span style=\"color: #F286C4\">with<\/span><span style=\"color: #F6F6F4\"> RSVP<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface Tunnel2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# ip unnumbered Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel <\/span><span style=\"color: #F286C4\">mode<\/span><span style=\"color: #F6F6F4\"> mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel destination <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">3.3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng bandwidth <\/span><span style=\"color: #BF9EEE\">2000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">option <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\"> dynamic<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# no shutdown<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Fast_Reroute_FRR\"><\/span><strong>Fast Reroute (FRR)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Fast Reroute<\/strong> enables rapid path switching in case of a link or node failure, ensuring minimal disruption.<\/li>\n<li>FRR pre-establishes backup LSPs so that traffic can be diverted almost instantaneously in case of an issue on the primary path, enhancing reliability and service continuity.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"! Configure fast reroute on the tunnel interface\nRouter(config)# interface Tunnel2\nRouter(config-if)# mpls traffic-eng fast-reroute\nRouter(config-if)# tunnel mpls traffic-eng path-option 1 dynamic\nRouter(config-if)# no shutdown\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">! Configure fast reroute <\/span><span style=\"color: #F286C4\">on<\/span><span style=\"color: #F6F6F4\"> the tunnel interface<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface Tunnel2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng fast<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">reroute<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">option <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\"> dynamic<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# no shutdown<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Load_Balancing_and_Path_Diversity\"><\/span><strong>Load Balancing and Path Diversity<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>MPLS-TE supports <strong>load balancing<\/strong> by distributing traffic across multiple LSPs. This is particularly useful for high-traffic routes that need more bandwidth than a single path can provide.<\/li>\n<li><strong>Path diversity<\/strong> ensures that critical data can be split across multiple paths, reducing the risk of a single point of failure and improving network redundancy.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"Router(config)# interface Tunnel3\nRouter(config-if)# ip unnumbered Loopback0\nRouter(config-if)# tunnel mode mpls traffic-eng\nRouter(config-if)# tunnel destination 10.1.3.3\nRouter(config-if)# tunnel mpls traffic-eng path-option 1 dynamic\nRouter(config-if)# tunnel mpls traffic-eng path-option 2 explicit name Path_R1_R3\nRouter(config-if)# no shutdown\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface Tunnel3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# ip unnumbered Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel <\/span><span style=\"color: #F286C4\">mode<\/span><span style=\"color: #F6F6F4\"> mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel destination <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">3.3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">option <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\"> dynamic<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">option <\/span><span style=\"color: #BF9EEE\">2<\/span><span style=\"color: #F6F6F4\"> explicit <\/span><span style=\"color: #F286C4\">name<\/span><span style=\"color: #F6F6F4\"> Path_R1_R3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# no shutdown<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Bandwidth_Guarantees_and_Traffic_Prioritization\"><\/span><strong>Bandwidth Guarantees and Traffic Prioritization<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>MPLS-TE can allocate bandwidth to specific traffic flows, ensuring certain types of traffic, like real-time or high-priority data, meet their QoS requirements.<\/li>\n<li><strong>Differentiated services<\/strong> (DiffServ) can be implemented within MPLS-TE, allowing traffic prioritization at the LSP level and ensuring high-priority traffic gets preferential treatment.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"! Set bandwidth requirement for TE tunnel\nRouter(config)# interface Tunnel4\nRouter(config-if)# tunnel mode mpls traffic-eng\nRouter(config-if)# tunnel destination 10.1.3.3\nRouter(config-if)# tunnel mpls traffic-eng bandwidth 5000   ! 5000 kbps reserved\nRouter(config-if)# no shutdown\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">! <\/span><span style=\"color: #F286C4\">Set<\/span><span style=\"color: #F6F6F4\"> bandwidth requirement <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> TE tunnel<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface Tunnel4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel <\/span><span style=\"color: #F286C4\">mode<\/span><span style=\"color: #F6F6F4\"> mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel destination <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">3.3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng bandwidth <\/span><span style=\"color: #BF9EEE\">5000<\/span><span style=\"color: #F6F6F4\">   ! <\/span><span style=\"color: #BF9EEE\">5000<\/span><span style=\"color: #F6F6F4\"> kbps reserved<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# no shutdown<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Administrative_Policies_and_Affinity-Based_Routing\"><\/span><strong>Administrative Policies and Affinity-Based Routing<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Administrative policies<\/strong> (affinity or coloring) can be used to prefer or avoid certain links based on the type of traffic.<\/li>\n<li><strong>Affinity or link coloring<\/strong> allows paths to be marked for certain traffic types (e.g., customer A\u2019s traffic can only use certain links), enabling more precise traffic segregation and adherence to SLA requirements.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"! Define affinity on an interface (e.g., marking it with color 0x10)\nRouter(config)# interface GigabitEthernet0\/2\nRouter(config-if)# mpls traffic-eng administrative-weight 0x10\n\n! Set affinity for the tunnel\nRouter(config)# interface Tunnel5\nRouter(config-if)# tunnel mode mpls traffic-eng\nRouter(config-if)# tunnel destination 10.1.3.3\nRouter(config-if)# tunnel mpls traffic-eng path-option 1 dynamic\nRouter(config-if)# tunnel mpls traffic-eng attribute-flags affinity 0x10\nRouter(config-if)# no shutdown\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">! <\/span><span style=\"color: #F286C4\">Define<\/span><span style=\"color: #F6F6F4\"> affinity <\/span><span style=\"color: #F286C4\">on<\/span><span style=\"color: #F6F6F4\"> an interface (e.g., marking it <\/span><span style=\"color: #F286C4\">with<\/span><span style=\"color: #F6F6F4\"> color 0x10)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface GigabitEthernet0<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #BF9EEE\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng administrative<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">weight 0x10<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">! <\/span><span style=\"color: #F286C4\">Set<\/span><span style=\"color: #F6F6F4\"> affinity <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> the tunnel<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface Tunnel5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel <\/span><span style=\"color: #F286C4\">mode<\/span><span style=\"color: #F6F6F4\"> mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel destination <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">3.3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">option <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\"> dynamic<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng attribute<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">flags affinity 0x10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# no shutdown<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3><span class=\"ez-toc-section\" id=\"Dynamic_Path_Computation_with_Path_Computation_Element_PCE\"><\/span><strong>Dynamic Path Computation with Path Computation Element (PCE)<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>The <strong>Path Computation Element (PCE)<\/strong> is a centralized network component that dynamically computes paths for MPLS-TE LSPs based on network-wide data.<\/li>\n<li>PCE enhances scalability and efficiency in large networks by providing real-time, optimized path computation and reducing computational strain on routers.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"! Enable PCEP on the router\nRouter(config)# pce\nRouter(config-pce)# address ipv4 10.1.4.4\nRouter(config-pce)# source Loopback0\nRouter(config-pce)# no shutdown\n\n! Configure the tunnel to use PCE for path computation\nRouter(config)# interface Tunnel6\nRouter(config-if)# tunnel mode mpls traffic-eng\nRouter(config-if)# tunnel destination 10.1.3.3\nRouter(config-if)# tunnel mpls traffic-eng path-option 1 dynamic pce\nRouter(config-if)# no shutdown\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">! Enable PCEP <\/span><span style=\"color: #F286C4\">on<\/span><span style=\"color: #F6F6F4\"> the router<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# pce<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">pce)# address ipv4 <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">4.4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">pce)# source Loopback0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">pce)# no shutdown<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">! Configure the tunnel to use PCE <\/span><span style=\"color: #F286C4\">for<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F6F6F4\"> computation<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config)# interface Tunnel6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel <\/span><span style=\"color: #F286C4\">mode<\/span><span style=\"color: #F6F6F4\"> mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel destination <\/span><span style=\"color: #BF9EEE\">10.1<\/span><span style=\"color: #F6F6F4\">.<\/span><span style=\"color: #BF9EEE\">3.3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# tunnel mpls traffic<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">eng <\/span><span style=\"color: #97E1F1\">path<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">option <\/span><span style=\"color: #BF9EEE\">1<\/span><span style=\"color: #F6F6F4\"> dynamic pce<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Router(config<\/span><span style=\"color: #F286C4\">-if<\/span><span style=\"color: #F6F6F4\">)# no shutdown<\/span><\/span><\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<p>\u00a0<\/p>\n<p>These examples demonstrate basic configurations for MPLS-TE features. Advanced setups may require customizations based on network architecture, device capabilities, and specific application needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MPLS, or Multiprotocol Label Switching, is a technique that enhances the speed and efficiency of data flow across complex networks. It operates by adding short path labels to network packets, directing them through a predetermined Label-Switched Path (LSP) rather than traditional IP-based routing. These labels contain all the forwarding information, allowing routers to forward packets [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1884,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[128,127],"tags":[65,140,138,130,139],"class_list":["post-1858","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mpls","category-sp","tag-mpls","tag-mpls-te","tag-multi-protocol-label-switching","tag-service-provider","tag-traffic-engineering"],"_links":{"self":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts\/1858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/comments?post=1858"}],"version-history":[{"count":35,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts\/1858\/revisions"}],"predecessor-version":[{"id":2416,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/posts\/1858\/revisions\/2416"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/media\/1884"}],"wp:attachment":[{"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/media?parent=1858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/categories?post=1858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quisted.net\/index.php\/wp-json\/wp\/v2\/tags?post=1858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}