MPLS Overview, MPLS Label Distribution Protoc...


 


Table of Contents
Course Files
Bookmarks
Transcript
  • 1 Introduction Closed Caption 0h 43m
    2 Using the Cisco Documentation Closed Caption 0h 52m
    3 Ethernet Overview, Layer 2 Switchports, Trunking, ISL, 802.1q, DTP Closed Caption 0h 47m
    4 VTP, VTP Authentication, VTP Pruning Closed Caption 1h 02m
    5 VTP Prune Eligible List, VTP Transparent, VTP Troubleshooting, Trunk Allowed List, Extended VLANs Closed Caption 0h 48m
    6 VLAN and VTP Review Closed Caption 0h 19m
    7 SVIs, Native Routed Interfaces, Router-on-a-Stick Closed Caption 0h 46m
    8 Layer 2 EtherChannel, EtherChannel Load Balancing, Layer 3 EtherChannel Closed Caption 0h 57m
    9 802.1q Tunneling, Layer 2 Protocol Tunneling, EtherChannel over 802.1q Tunneling Closed Caption 1h 03m
    10 STP Root Bridge Election, STP Root Port Election, STP Designated Port Election, STP Priority, STP Cost, STP Port-Priority Closed Caption 1h 46m
    11 STP Review Closed Caption 0h 12m
    12 STP Timers, STP PortFast Closed Caption 0h 34m
    13 STP UplinkFast Closed Caption 0h 11m
    14 STP BackboneFast Closed Caption 0h 12m
    15 STP BPDU Filter Closed Caption 0h 13m
    16 STP BPDU Guard Closed Caption 0h 11m
    17 STP Root Guard Closed Caption 0h 11m
    18 STP Loop Guard, Unidirectional Link Detection (UDLD) Closed Caption 0h 11m
    19 Multiple Spanning-Tree Protocol (MST) Closed Caption 0h 40m
    20 Rapid Spanning-Tree Protocol (RSTP), Rapid-PVST Closed Caption 0h 18m
    21 MST with Multiple Regions Closed Caption 0h 33m
    22 Flex Links Closed Caption 0h 16m
    23 Frame Relay Closed Caption 0h 39m
    24 Frame Relay Configuration Part 1 Closed Caption 0h 34m
    25 Frame Relay Configuration Part 2 Closed Caption 0h 41m
    26 Frame Relay Switching Closed Caption 0h 27m
    27 Back-to-Back Frame Relay Closed Caption 0h 08m
    28 Frame-Relay End-to-End Keepalives Closed Caption 0h 18m
    29 PPP, PPP PAP Authentication, PPP CHAP Authentication Closed Caption 0h 59m
    30 PPPoFR, PPPoE Closed Caption 0h 40m
    31 Transparent Bridging, IRB Closed Caption 0h 32m
    32 Fallback Bridging Closed Caption 0h 14m
    33 IP Routing Overview, Switching Paths, Static Routing Closed Caption 0h 42m
    34 Static Routing Examples Closed Caption 0h 25m
    35 IP Default-Gateway, IP Default-Network Closed Caption 0h 14m
    36 On-Demand Routing (ODR) Closed Caption 0h 07m
    37 Floating Static Routes Closed Caption 0h 10m
    38 Backup Interface Closed Caption 0h 29m
    39 Enhanced Object Tracking, IP SLA, Reliable Static Routing Closed Caption 0h 21m
    40 Policy Routing Closed Caption 0h 43m
    41 GRE Tunneling, GRE Recursive Routing Errors Closed Caption 0h 27m
    42 Reliable Backup Interface with GRE Closed Caption 0h 25m
    43 RIP Overview, RIP Versions, RIP Auto-Summary Closed Caption 0h 48m
    44 RIP Split-Horizon, RIP Timers Closed Caption 0h 22m
    45 RIP Broadcast Updates, IP Directed Broadcast, IP Broadcast-Address, Smurf Attacks, Fraggle Attacks Closed Caption 0h 16m
    46 RIP Unicast Updates Closed Caption 0h 03m
    47 RIP Offset-List Closed Caption 0h 18m
    48 RIP Authentication Closed Caption 0h 11m
    49 RIP Summarization Closed Caption 0h 10m
    50 Prefix-Lists, RIP Distribute-List Filtering, RIP Administrative Distance Filtering Closed Caption 0h 48m
    51 RIP Default Routing, RIP Conditional Default Routing Closed Caption 0h 18m
    52 RIP Triggered, RIP Validate Update Source, Closed Caption 0h 12m
    53 EIGRP Overview Closed Caption 0h 29m
    54 EIGRP Auto-Summary Closed Caption 0h 07m
    55 EIGRP Split-Horizon Closed Caption 0h 11m
    56 EIGRP Update Types, EIGRP Neighbor, EIGRP Passive-Interface Closed Caption 0h 24m
    57 EIGRP Hello-Interval, EIGRP Hold-Time Closed Caption 0h 05m
    58 EIGRP Authentication Closed Caption 0h 11m
    59 EIGRP Time Based Authentication Closed Caption 0h 25m
    60 EIGRP Path Selection, EIGRP Metric Weights, EIGRP Traffic Engineering Closed Caption 0h 47m
    61 EIGRP Unequal Cost Load Balancing, EIGRP Variance Closed Caption 0h 19m
    62 EIGRP QUERY, EIGRP Summarization, EIGRP Leak-Map Closed Caption 0h 28m
    63 EIGRP Stub Router Advertisement Closed Caption 0h 22m
    64 EIGRP Default Routing Closed Caption 0h 13m
    65 EIGRP Route Filtering Closed Caption 0h 11m
    66 EIGRP Router-ID Closed Caption 0h 07m
    67 Miscellaneous EIGRP Features Closed Caption 0h 02m
    68 OSPF Overview Closed Caption 0h 27m
    69 Establishing OSPF Adjacencies, Understanding the OSPF Database Closed Caption 0h 43m
    70 OSPF Network Type Broadcast, OSPF DR/BDR Election, OSPF over NBMA, OSPF Network Type Non-Broadcast and Point-to-Multipoint Closed Caption 0h 56m
    71 OSPF Network Type Point-to-Point, OSPF Network Type Mismatch Closed Caption 0h 13m
    72 OSPF Network Type Point-to-Multipoint Non-Broadcast, OSPF Per Neighbor Cost Closed Caption 0h 17m
    73 OSPF Network Type Loopback Closed Caption 0h 02m
    74 OSPF Path Selection Closed Caption 0h 27m
    75 OSPF Convergence Timers Closed Caption 0h 09m
    76 OSPF Authentication Closed Caption 0h 12m
    77 OSPF Summarization Closed Caption 0h 32m
    78 OSPF Stub Areas, OSPF Totally Stubby Areas, OSPF NSSAs, OSPF Totally NSSAs Closed Caption 0h 40m
    79 Controlling OSPF NSSA Redistribution Closed Caption 0h 02m
    80 OSPF Type 7 to 5 Translator Election, OSPF LSA Type 3 Filter, OSPF Forwarding Address Suppression Closed Caption 0h 24m
    81 Route Redistribution Overview Closed Caption 0h 36m
    82 Route Redistribution Configuration & Verification, Connected Redistribution Closed Caption 0h 22m
    83 OSPF External Path Selection, TCL PING Scripting Closed Caption 0h 33m
    84 Routing Loops Overview, EIGRP Route Loop Prevention Closed Caption 0h 55m
    85 Metric Based Routing Loops, Route Tagging Closed Caption 0h 46m
    86 Administrative Distance Based Routing Loops, Debug IP Routing, IP Route Profile Closed Caption 0h 58m
    87 BGP Overview, BGP Peering Types Closed Caption 0h 51m
    88 Establishing BGP Peerings, EBGP Multihop, BGP Neighbor Disable Connected Check, BGP TTL Security Closed Caption 0h 49m
    89 BGP 4-Byte ASNs Closed Caption 0h 20m
    90 BGP Local AS, BGP Peer Groups Closed Caption 0h 30m
    91 BGP Next-Hop Self, BGP Next-Hop Processing Closed Caption 0h 30m
    92 BGP Route Reflectors Closed Caption 0h 37m
    93 Large Scale BGP Route Reflectors with Clusters Closed Caption 0h 34m
    94 BGP Confederation Closed Caption 0h 37m
    95 BGP NLRI Advertisements, BGP Network Statement, BGP Redistribution Closed Caption 0h 43m
    96 BGP Aggregation, BGP Aggregation & Summary-Only, BGP Aggregation & Unsuppress-Map Closed Caption 0h 46m
    97 BGP Origin, BGP Aggregation & AS-Set, BGP Aggregation & Advertise-Map Closed Caption 0h 22m
    98 BGP Conditional Route Injection Closed Caption 0h 21m
    99 BGP Bestpath Selection, BGP Multipath, BGP Weight Closed Caption 0h 53m
    100 BGP Local Preference, BGP Local Preference and Communities, BGP AS-Path Prepending, Closed Caption 0h 30m
    101 BGP MED, BGP MED Missing As Worst, BGP Deterministic MED Closed Caption 0h 17m
    102 BGP Communites, BGP Regular Expressions Closed Caption 0h 43m
    103 BGP Filtering, BGP Convergence Timers, BGP Default Routing, Miscellaneous BGP Features Closed Caption 0h 24m
    104 MPLS Overview, MPLS Label Distribution Protocol (LDP) Closed Caption 1h 05m
    105 MPLS Tunnels, MPLS Penultimate Hop Popping (PHP) Closed Caption 0h 40m
    106 MPLS Layer 3 VPNs Overview, VRF Lite Closed Caption 0h 36m
    107 MPLS Layer 3 VPNs and VPNv4 BGP Closed Caption 1h 08m
    108 MPLS Layer 3 VPN Verification & Troubleshooting Closed Caption 0h 49m
    109 MPLS Layer 3 VPN OSPF PE-CE Routing Overview Closed Caption 0h 06m
    110 MPLS Layer 3 VPN OSPF PE-CE Routing Path Selection & Sham-Links Closed Caption 2h 01m
    111 MPLS Layer 3 VPN OSPF PE-CE Routing Loop Prevention & Down-Bit, OSPF Capability VRF-Lite Closed Caption 0h 40m
    112 IPv6 Overview, IPv6 ICMPv6 ND, IPv6 over NBMA Closed Caption 0h 44m
    113 IPv6 Routing Overview, IPv6 Static Routing Closed Caption 0h 28m
    114 IPv6 RIPng Closed Caption 0h 20m
    115 IPv6 EIGRPv6 Closed Caption 0h 09m
    116 IPv6 OSPFv3 Closed Caption 0h 31m
    117 MP-BGP for IPv6 Closed Caption 0h 26m
    118 IPv6 Tunneling Closed Caption 1h 13m
    119 Multicast Overview, IGMP Closed Caption 0h 34m
    120 PIM Overview Closed Caption 0h 18m
    121 PIM Dense Mode Closed Caption 1h 03m
    122 PIM Sparse Mode Closed Caption 0h 30m
    123 PIM Sparse Mode Configuration Closed Caption 0h 36m
    124 PIM Sparse Mode RPF & RP Troubleshooting Closed Caption 0h 27m
    125 Auto-RP, Multicast over GRE Tunnels Closed Caption 0h 53m
    126 Bootstrap Router (BSR), Bidirectional PIM, Source Specific Multicast (SSM) Closed Caption 0h 40m
    127 MSDP, Anycast RP Closed Caption 0h 27m
    128 IPv6 Multicast Routing Closed Caption 0h 24m
    129 QoS Overview, IntServ QoS, DiffServ QoS, IP Precedence, DSCP, MQC, HQF Closed Caption 0h 41m
    130 MQC Classification Closed Caption 0h 44m
    131 FIFO, FQ, WFQ, CBWFQ, HQF Closed Caption 0h 50m
    132 LLQ Closed Caption 0h 23m
    133 WRED Closed Caption 0h 31m
    134 Traffic Shaping, Traffic Policing Closed Caption 0h 40m
    135 Frame Relay Traffic Shaping (FRTS) Closed Caption 0h 33m
    136 RSVP Closed Caption 0h 07m
    137 Catalyst 3560 QoS Closed Caption 1h 00m
    138 IOS Security Overview, Access Lists (ACLs) Closed Caption 0h 58m
    139 Time Based ACLs, Dynamic ACLs Closed Caption 0h 33m
    140 Reflexive ACLs Closed Caption 0h 21m
    141 TCP Intercept, Content Based Access Control (CBAC) Closed Caption 0h 34m
    142 Zone Based Policy Firewall (ZBPF) Closed Caption 1h 09m
    143 AAA, Local Authentication, Local Authorization, Role Based CLI Access Closed Caption 0h 43m
    144 Port Security, Static CAM Entries, Storm Control, 802.1X Authentication, PACLs, RACLs, VLAN Access Maps (VACLs) Closed Caption 0h 48m
    145 DHCP Snooping, Dynamic ARP Inspection (DAI), IP Source Guard Closed Caption 0h 12m
    146 Protected Ports, Private VLANs Closed Caption 0h 25m
    147 IP Services Overview, HSRP Closed Caption 1h 10m
    148 VRRP, GLBP Closed Caption 0h 28m
    149 NAT Closed Caption 0h 42m
    150 DHCP, DNS Closed Caption 0h 30m
    151 NetFlow Closed Caption 0h 09m
    152 WCCP, Miscellaneous IP Services Closed Caption 0h 06m
    153 System Management Overview, NTP, NTP Authentication Closed Caption 0h 24m
    154 SNMP, RMON Closed Caption 0h 38m
    155 Syslog, Telnet, SSH, Banners Closed Caption 0h 21m
    156 EEM Scripting, Miscellaneous System Management Closed Caption 0h 26m
    Total Duration   81h 42m
  • 0:00:13 Welcome back everybody to InterNetwork Expert CCIE Routing and Switching Advanced Technologies class.
    0:00:19 In today's class sessions, we're gonna be talking about multiprotocol label switching
    0:00:23 within the scope of the routing and switching lab exam.
    0:00:26 We'll see that there's a bunch of topics for MPLS that are going to be outside of the scope
    0:00:30 that we're not gonna be discussing today.
    0:00:32 Things like MPLS traffic engineering, MPLS Layer 2 VPNs
    0:00:37 and then any type of inter AS communication
    0:00:40 or doing inter provider MPLS VPNs.
    0:00:44 Mainly our discussion today is gonna be focusing on the general logic
    0:00:47 of how MPLS can be used as switch packets inside of one single autonomous system.
    0:00:52 Then also the Layer 3 VPN topics.
    0:00:56 What are the different PE to CE routing protocols that we can use.
    0:01:00 Also, we'll look at the virtual routing and forwarding instances
    0:01:03 using those for both the VRF light configuration and for the Layer 3 MPLS VPNs.
    0:01:09 And how BGP is gonna be used to advertise
    0:01:11 both the customer information over the MPLS network.
    0:01:15 And then also the label values that are gonna be used for actually switching the traffic.
    0:01:20 So, to start here for MPLS,
    0:01:23 it is an open standards-based protocol that is defined in RFC 3031.
    0:01:29 Originally, this came from Cisco proprietary's feature known as tag switching.
    0:01:34 Where most of the terms we'll see are interchangeable
    0:01:36 from the older versions of Cisco using the TDP protocol and the tag switching logic.
    0:01:43 Where now it's an open standard for MPLS.
    0:01:46 And as a part of that,
    0:01:47 there is multivendor support for the different protocols that are gonna be used for
    0:01:52 both the label distribution and then for the actual forwarding of the traffic.
    0:01:58 Now, the name of MPLS itself is mainly gonna be made up of two portions that we'll see.
    0:02:05 It's considered a multiprotocol encapsulation
    0:02:09 because it can transport different types of payloads.
    0:02:12 This includes both Layer 2 and Layer 3 protocols,
    0:02:17 where a service provider can do a Layer 2 circuit emulation over MPLS.
    0:02:22 Where inside the service provider core, they are running Layer 3 MPLS switching.
    0:02:27 When on the network edge between the service provider and the customer,
    0:02:31 they can emulate either on Ethernet segment
    0:02:35 with features like any transport over MPLS or the virtual private LAN services.
    0:02:41 That also point-to-point configurations, like HTLC, PPP frame-relay or ATM.
    0:02:47 Where from the end customer's point of view,
    0:02:49 they see no difference between a normal Layer 2 private VPN service,
    0:02:55 like a point-to-point frame-relay DLCI
    0:02:57 But inside the actual service provider network,
    0:02:59 this traffic can be switched to over the MPLS network.
    0:03:04 Now, again, for our discussion here, we're mainly gonna be focusing on the Layer 3 MPLS configuration.
    0:03:10 Which is gonna be used to transport IP version 4.
    0:03:13 over the MPLS enabled core.
    0:03:17 There are also features available for MPLS to transport IP version 6.
    0:03:23 There is an extension that is known as six PE or six Provider Edge
    0:03:28 that allows us to run IP version 6 between a provider edge and the customer edge,
    0:03:33 then transport this traffic over the IPV 4 enabled MPLS core
    0:03:38 without the service provider actually having to run IP version 6 routing.
    0:03:44 So, the vast majority the scope of MPLS probably, 80% is gonna be outside of our scope.
    0:03:49 We'll kind of narrow it down today to figure out what you actually need to know
    0:03:53 particularly for the CCIE routing and switching lab exam.
    0:03:57 The second portion of the aim for label switching
    0:04:01 is based on how the traffic is routed or switched in the service provider network
    0:04:06 where we're remaking a change instead of doing a normal IP version 4 destination-based routing
    0:04:12 or Layer 2 circuit switching
    0:04:14 like a frame-relay DLCI to a frame-relay DLCI,
    0:04:18 and we're replacing this with an MPLS label value
    0:04:22 that the devices in the provider network are going to switch
    0:04:26 between their interfaces as a locally significant value.
    0:04:31 So, it's a similar type of logic as to how an ATM permanent virtual circuit works,
    0:04:35 or a frame-relay permanent virtual circuit works,
    0:04:38 because the Layer 2 circuit numbers and frame-relay or ATM,
    0:04:43 the DLCI numbers, of the VPI VCI
    0:04:46 is gonna be the same type of logic as what the MPLS label value is used for.
    0:04:51 So, once we actually get into our configurations,
    0:04:54 and look at the verification for how the label distribution protocol
    0:04:58 does the label to IP prefix binding,
    0:05:02 which we call the Forwarding Equivalency Class, or the FEC.
    0:05:06 We'll see that these label numbers are only locally significant between two attached devices.
    0:05:12 And it's going to allow them to forward traffic anywhere within the provider network
    0:05:16 or past the provider network
    0:05:19 between different customer sites
    0:05:20 without having to null full reachability information about the network.
    0:05:25 So, when we actually look at the design advantages of using the MPLS over the normal IP routing design,
    0:05:32 the main idea is that inside the MPLS core,
    0:05:35 those devices do not necessarily need full reachability information
    0:05:39 about what's going on in the overall network.
    0:05:42 As long as the routers can agree on these locally significant label values
    0:05:45 they can switch traffic to the network edge,
    0:05:48 then, the network edge is gonna have specific reachability information about where the traffic is actually supposed to go.
    0:05:54 Whether this is going out to a Layer 2 circuit like Ethernet over MPLS,
    0:05:59 or going out to a Layer 3 destination like a Layer 3 MPLS VPN that's using IP version 4
    0:06:06 as its transport protocol.
    0:06:07 Now, the actual MPLS label format itself
    0:06:11 is a 4-byte value that is gonna be sitting between the Layer 2 encapsulation
    0:06:16 and either the Layer 3 encapsulation or an additional Layer 2 encapsulation.
    0:06:23 So, in the case of Ethernet over MPLS,
    0:06:26 we would have our normal Layer 2 header that's for the actual transit interface that we're going over.
    0:06:31 Followed by the 4-byte MPLS header.
    0:06:34 Then, followed by the additional Ethernet header that we're actually tunneling inside of the protocol.
    0:06:40 For Layer 3 MPLS configurations,
    0:06:42 we would have are normal Layer 2 encapsulation.
    0:06:45 Like a Packet over Sonnet, PPP link that's used in the provider network.
    0:06:49 Followed by the 4-byte MPLS label,
    0:06:52 and then, the actual IP packet payload
    0:06:54 that's being transited inside the Layer 3 VPN.
    0:07:01 So, the header itself is 4 bytes long.
    0:07:04 This is gonna consist of a 20 bit label.
    0:07:07 3 bits that are reserved for the class of service that are to be used for QOS markings.
    0:07:13 And 7:14 that is gonna define the last label in the stack
    0:07:18 that is gonna be used by the provider edge router
    0:07:21 in order to figure out that the packet is gonna go down to an end customer who is not running MPLS.
    0:07:26 And then, an 8-bit Time To Live value that's similar to the IP Time To Live.
    0:07:31 To make sure that we don't end up in infinite loops in the actual data plane
    0:07:34 if there's some sort of problem with the actual routing of the traffic through the service provider network.
    0:07:39 Now, the actual packet level details about MPLS for the labels,
    0:07:43 for label distribution protocol, for BGP.
    0:07:46 That type of stuff is really gonna be outside of our scope for the lab exam,
    0:07:50 but if you do want more information about this,
    0:07:53 generally, the best resource is gonna be the particular RFC's that are defining that individual protocol.
    0:08:00 So, we'll see, there's separate ones that define MPLS as a whole.
    0:08:04 One that defines the label format,
    0:08:06 one that defines how LDP works.
    0:08:09 Separate ones that define how BGP is gonna work with MPLS.
    0:08:13 So, there's a lot of different individual specifications that go together
    0:08:17 in order to form the entire end-to-end MPLS transit network.
    0:08:21 Now, the actual operation of MPLS
    0:08:24 is gonna be based on our association of a label value
    0:08:28 to an IPv4 prefix destination in the network.
    0:08:33 And this binding of the label value and IP prefixes known as the Forwarding Equivalency Class, or the FEC.
    0:08:39 Now, the FEC is essentially gonna be used to switch the traffic between the router's local interfaces
    0:08:45 based on the CEF table that we're now calling the MPLS Label Forwarding Information Base, or the LFIB,
    0:08:52 which is essentially our normal CEF FIB
    0:08:55 plus an additional label value that's gonna be added on to the encapsulation.
    0:09:00 So, we'll see what at our final verifications today,
    0:09:02 and the traffic is actually transiting through the MPLS network,
    0:09:06 the router is still gonna be using CEF to forward the traffic,
    0:09:08 but the difference is that it will pre-calculate what is the label value
    0:09:14 that is supposed to go in the Layer 2 header as the packet is actually switched out the interface.
    0:09:19 Now, we'll also see, there's a difference in the logic between MPLS switching
    0:09:23 versus IP version for routing,
    0:09:26 where in IPv4,
    0:09:28 we are determining what is the outgoing interface based on the destination address of the IP packet.
    0:09:35 So, if a packet comes in that's going to destination 1.2.3.4,
    0:09:39 the router is gonna figure out what is my longest match to 1.2.3.4,
    0:09:42 and then perform route recursion towards the outgoing interface.
    0:09:47 Whereas in MPLS, the outgoing interface is determined based on the incoming label value.
    0:09:53 So, this means that if a packet comes in with label number 1,
    0:09:58 the router is gonna know that we need to change this to label value 2,
    0:10:01 and then, send it out the appropriate interface.
    0:10:05 So, in order to do this, the routers in the MPLS transit path
    0:10:08 are gonna have to agree on what these locally significant labels are.
    0:10:13 So, we'll see the actual label values, that can be used over and over and over on separate interfaces,
    0:10:19 because the number itself is only locally significant to the local router,
    0:10:22 and then, the device that's attached on the other end of the link.
    0:10:26 In the MPLS network, there are two different device roles that were gonna be looking at.
    0:10:30 The first is known as the PE router, or the LER,
    0:10:35 which is either the Provider Edge Router or the Label Edge Router.
    0:10:40 So essentially, they mean the same thing, but the LER is kind of a legacy notation for it
    0:10:46 when we're talking about the tag switching.
    0:10:48 Most of the time today, this is referred to as the PE router, or the Provider Edge.
    0:10:53 So, this is the device on the edge of the provider's network
    0:10:57 that is connecting down to the actual customer.
    0:11:00 in our particular cases today, this is where we are gonna be running PE to CE routing protocol
    0:11:06 to exchange IPv4 routes from the customer to the provider.
    0:11:13 Now, in addition to running the...
    0:11:16 routing protocols between the provider and the customer,
    0:11:19 the PE router is gonna be in charge of adding MPLS labels
    0:11:24 to packets in the data plane as they're receiving inbound from the customer.
    0:11:29 And this operation is known as the Label Push, or the Label Imposition.
    0:11:34 So, we're taking a normal IP packet.
    0:11:37 Again, when we're talking about Layer 3 MPLS VPNs,
    0:11:40 we're taking a normal Layer 3 IP version 4 packet
    0:11:44 as the packet comes in, the router's gonna do a look-up
    0:11:47 to figure out what is the label value that is associated with that.
    0:11:50 Do the Label Push operation to add the label onto the stack,
    0:11:54 and then switch it out another connected interface.
    0:11:59 Now, once the traffic is forwarded into the provider core network,
    0:12:03 the packet is then received by what's known as the "P router", or the LSR,
    0:12:09 where the Provider Router or the Label Switch Router
    0:12:12 is inside of the provider network that is not attaching to any customers.
    0:12:18 So, from a physical connectivity point of view, the P router is only connected either to other P routers,
    0:12:24 or two other PE routers.
    0:12:27 The key point being that the provider core routers,
    0:12:31 they're only gonna switch the traffic based on the MPLS labels.
    0:12:36 They don't necessarily need to have the routing information about the end customers,
    0:12:40 or knows any type of information about the Layer 2 circuits the end customers are using
    0:12:45 if we're doing some sort of Layer 2 MPLS VPN solution.
    0:12:50 Now, we'll also see design-wise that one of the advantages of running MPLS from the service provider's perspective
    0:12:57 is that it's gonna reduce the load
    0:12:59 in the control plane in the service provider core.
    0:13:04 So, we can end up in situations where in the service provider transit network,
    0:13:08 they do not need to run BGP with the global Internet table,
    0:13:12 and they do not need to know about what the customer's prefixes are
    0:13:15 that they're trying to transit traffic between.
    0:13:19 Now, these two device roles in the network, the PE router,
    0:13:22 which is again the Provider Edge,
    0:13:24 and the P router, which is just the Provider router,
    0:13:27 they're mainly gonna be performing three different operations.
    0:13:31 These are called the Label Push, Swap, and Pop operations.
    0:13:36 Label Push is gonna be done by the provider edge,
    0:13:39 where we are adding an MPLS label
    0:13:42 onto a packet that is received inbound from customer.
    0:13:47 So, this is also called the Label Imposition.
    0:13:51 The Label Swap operation is generally done by the P router
    0:13:56 in the core of the service provider network.
    0:13:59 We are receiving a packet inbound that already has a label value assigned.
    0:14:04 We are replacing it with a new label value,
    0:14:06 and then switch it out another outgoing interface.
    0:14:11 So, the Label Swap operation is analogous to what a frame-relay switch
    0:14:15 or an ATM switch would be doing in a traditional Layer 2 circuits switch network,
    0:14:21 where a frame-relay switch is looking at what is the incoming DLCI value,
    0:14:25 and based on that, it's changing the circuit value
    0:14:28 in order to be switched out another connected interface.
    0:14:33 Once the MPLS packet finally gets to the opposite provider edge router
    0:14:37 where it's going to exit the network,
    0:14:40 that last hop provider edge router is gonna do the Label Pop operation
    0:14:45 that is removing a label from the outgoing packet,
    0:14:48 and then sending it on to the end customer.
    0:14:51 This is also sometimes called the Label Disposition,
    0:14:54 where we are removing the MPLS labels, or the entire MPLS stack
    0:14:58 and then, forwarding of out of the MPLS enabled network.
    0:15:03 Now, in order for the routers to do the Label Switching,
    0:15:07 it means the first off, they're gonna need to agree on what the mappings are between the label numbers,
    0:15:12 and the IP prefixes.
    0:15:15 So again, this is what we consider the Forwarding Equivalency Class, or the FEC.
    0:15:20 Now again, the label values are only locally significant between to attached routers.
    0:15:24 So, we don't need on overall routing protocol like we do in OSPF or IS-IS
    0:15:31 that knows the full information about the entire topology.
    0:15:35 We'll see that the majority of the label distribution protocols
    0:15:39 are going to rely on underlying loop prevention mechanisms like IGP
    0:15:46 in order to make sure that the underlying network is loop-free,
    0:15:50 and that we know about the entire topology to begin with.
    0:15:55 So, the first two of these dynamic protocols, the advertise, the label information,
    0:15:59 are the legacy Tag Distribution Protocol, or TDP,
    0:16:03 and the open standard version of this, which is the Label Distribution Protocol, or LDP.
    0:16:11 So, for the vast majority of our configurations today,
    0:16:13 we're gonna be looking at the LDP derived labels,
    0:16:18 where technically,we could also do this with Resource Reservation Protocol, which is RSVP.
    0:16:23 This is used for MPLS traffic engineering or MPLS TE implementations,
    0:16:29 and also multi-protocol BGP could technically be used to advertise both the IP prefix and the associated label value.
    0:16:38 But the vast majority of the time, if we're not using additional applications like MPLS traffic engineering,
    0:16:43 we're simply gonna run the Label Distribution Protocol
    0:16:46 on every single interface in the MPLS network that is also running IGP.
    0:16:52 Now, LDP itself is specified in a separate RFC that is 3036.
    0:16:59 The LDP Specification.
    0:17:01 The main things that we care about with LDP
    0:17:04 are that the neighbors will be automatically discovered
    0:17:07 using UDP multicasts going to the all router multicast of 224.0.0.2
    0:17:13 using UDP 646.
    0:17:17 And once the neighbors discover each other, then, they are going to establish a TCP session
    0:17:22 using the same port value 646
    0:17:25 going to their LDP router IDs.
    0:17:30 So, we'll see in the operation of this, this is the same type of logic as BGP uses for a peering,
    0:17:36 where BGP can change the TCP update source to its loopback interface.
    0:17:40 This is the same type logic that Label Distribution Protocol is gonna use by default.
    0:17:47 So, the LDP router ID, it's gonna be chosen with the same logic as how the OSPF router ID,
    0:17:53 or EIGRP, BGP router ID,
    0:17:56 where IOS is gonna look at what is the highest loopback address
    0:18:00 that is allocated to router.
    0:18:02 If there's no loopback address assigned then, it's gonna be the highest IP address that's assigned on any other interface.
    0:18:10 So, in order to establish the LDP adjacency then,
    0:18:14 we're assuming in the MPLS transit network that we are already running IGP.
    0:18:21 Now, in a real design,
    0:18:22 the vast majority the time that IGP is either going to be OSPF or IS-IS,
    0:18:28 but technically, it could be any protocol.
    0:18:31 It could be EIGRP, or RIP,
    0:18:33 it could even be static routing.
    0:18:35 As long as we have IGP reachability to all of the different portions of the network,
    0:18:40 then, LDP is automatically gonna do our label bindings.
    0:18:46 Now, the key point we'll see it from the operation of LDP
    0:18:50 is that it is an IGP-based Label Distribution Protocol.
    0:18:55 This means that LDP is only going to advertise any interface that is locally enabled for IGP,
    0:19:02 and any IGP learned prefixes.
    0:19:06 So, when we look in the routing table and say Show IP Route OSPF,
    0:19:10 and look at the Show IP Protocols and see what are the local interfaces that are running OSPF,
    0:19:14 those are the values that are gonna be advertised in the Forwarding Equivalency Classes.
    0:19:22 We'll also see that the label values are originated on a hop by hop basis
    0:19:27 since they are only locally significant between
    0:19:30 the two connected routers over the link.
    0:19:33 Or, in the case of a multipoint segment like three routers over a LAN,
    0:19:36 the label values would then be significant to all three of them.
    0:19:40 The actual configuration of MPLS is very straightforward.
    0:19:44 There's only basically one command in order to enable the process,
    0:19:47 which is MPLS IP at the interface level,
    0:19:52 which is automatically going to enable either LDP or TDP
    0:19:56 depending on what the default is for the MPLS Label Protocol in a global config.
    0:20:03 Now, the reason that this is significant is that different IOS versions use different defaults for this.
    0:20:08 Some of the older versions use TDP as the default Label Protocol.
    0:20:13 Whereas the newer ones should automatically default to LDP.
    0:20:19 Since the actual protocol format for TDP and LDP is not compatible,
    0:20:24 they use different UDP port numbers for discovery, they use different TCP port numbers for the actual adjacency.
    0:20:31 It means that the connected devices do need to agree on whether they're gonna run the LDP or TDP.
    0:20:39 Now, we can technically have designs where the network is mixed between some portions running TDP
    0:20:44 and some portions running LDP.
    0:20:46 Because again, it is only locally significant on a link by link basis.
    0:20:51 There's really no reason why you would want to do that design.
    0:20:54 Generally, you're just gona use label distribution protocol on all of your IGP enabled interfaces.
    0:20:59 But you could technically have a mix of LDP and TDP if you wanted to.
    0:21:07 Once the LDP process is enabled,
    0:21:10 we look at the Show MPLS LDP Iinterfaces, that's gonna tell us what links are actually running the protocol locally.
    0:21:17 Show MPLS LDP Neighbors is gonna show the adjacency status between the connected devices.
    0:21:22 This is gonna make sure that we are actually establishing the TCP peerring
    0:21:28 which would then allow us to actually exchange the label values.
    0:21:31 So, the equivalent of the show IP route for MPLS is gonna be the Show MPLS Forwarding Table.
    0:21:38 So, this is the Label Forwarding Information Base or the LFIB,
    0:21:42 which is the combination of the label value and the IP prefix.
    0:21:48 So, the Show MPLS Forwarding Table, that's what's verifying the Forwarding Equivalency Class or the FEC.
    0:21:54 Now, the final verification to figure out how the router is actually encapsulating the traffic,
    0:21:59 would still be based on the CEF table.
    0:22:02 So, we Show IP CEF or Show IP CEF Internal,
    0:22:05 that's gonna show us on the router
    0:22:06 what are the particular adjacencies that are associated with a particular destination
    0:22:11 and then what's the label value that's gonna be used as the packet is encapsulated out the interface.
    0:22:19 So, in general, you shouldn't really need to verify the CEF table.
    0:22:22 Because looking at the Show MPLS Forwarding Table is essentially gonna give as the same information.
    0:22:30 Then lastly, we'll see to, actually, look at the traffic flow
    0:22:34 since the routers are now going to be switching the traffic based on the MPLS labels.
    0:22:39 Any debugging of the actual data plane would be with the debug MPLS packets now
    0:22:44 as opposed to the debug IP packets.
    0:22:48 We'll see later when we get into some more advanced examples of this.
    0:22:52 Running MPLS in the service provider core
    0:22:54 is also gonna have us have a loss of visibility as to what types of traffic are actually going over the network.
    0:23:03 So, when we look at quality of service with MPLS or any type of filtering with MPLS,
    0:23:09 it gets more difficult to classify what are the actual flows
    0:23:13 that are going over the service provider network.
    0:23:16 Because now, they are classifying the packets based on the MPLS header
    0:23:19 not based on the IP packet that is inside of the payload.
    0:23:24 So, this would then mean, if we wanted to do some sort of firewall filtering or just basic access list filtering,
    0:23:30 that's not going to apply if the packets are MPLS as they are forwarding out the interface.
    0:23:35 Or if we are trying to do some sort of quality of service,
    0:23:38 let's say, we wanna put our voice over IP traffic into a priority queue,
    0:23:42 if we try to classify the packets based on the real-time protocol header,
    0:23:48 and that is a sub-encapsulation of UDP,
    0:23:51 the routers not gonna be able to see that because the classifier is working now on the MPLS label
    0:23:56 not based on the IP header.
    0:24:00 So, there's some kind of hacks on the process. We'll see that how we deal with quality of service with MPLS,
    0:24:06 which is mainly gonna be based on a translation between the IP type of service
    0:24:13 that could be based on the DSCP value or the IP precedence
    0:24:17 or any manual classification that we're doing.
    0:24:21 And the classification in the Layer 2 MPLS label,
    0:24:24 which is known as the MPLS experimental bits or essentially the MPLS class of service.
    0:24:32 Now, the topology that we're gonna be using for today's examples
    0:24:36 is a different logical setup that we've been using up to this point.
    0:24:40 Where we have routers 1 through 6 that are made up of the MPLS service provider core.
    0:24:47 Routers 1, 2 and 3, these are gonna be considered as the P routers.
    0:24:55 Because they are attached only to other P routers and other PE routers.
    0:25:03 Which in this case, are routers 4, 5 and 6.
    0:25:07 Ultimately, we'll see at the end of the day that this means that routers 1, 2 and 3,
    0:25:12 they're not gonna need to know reachability information
    0:25:14 about anything that's going on in the EIGRP domain or the RIP domain,
    0:25:20 the OSPF process 100 or the BGP AS 254, that's running on BB2.
    0:25:28 As long as in the service provider core of the MPLS network,
    0:25:33 we have label values that are associated with all of the provider edge routers.
    0:25:39 Then ultimately, a packet can be received in on router 4
    0:25:43 and switched out to either router 6 or router 5
    0:25:47 based on the label value and not based on the actual IP destination.
    0:25:54 So, let's look at the command line here and the first thing that we're gonna do
    0:25:58 is configure just the basic MPLS network between routers 1 through 6.
    0:26:04 Look at how we're doing the label allocation with LDP
    0:26:08 and then look at some of the caveats that we could potentially run into
    0:26:10 when we're trying to establish our label distribution protocol adjacencies.
    0:26:16 So, first, let's start on router 1
    0:26:18 and let's look at what's going on in the IGP table to begin with.
    0:26:23 So if we look at the Show IP Route,
    0:26:26 right now, we are running OSPF in the service provider core.
    0:26:31 And router 1 through router 6, they're advertising loopback interfaces that are 10.0.1.1, 10.0.2.2 through 10.0.6.6.
    0:26:40 All the AS /32 host routes.
    0:26:44 We'll see that there are some caveats of the MPLS design
    0:26:48 that dictate you have to use a /32 loopback
    0:26:53 for the value that's gonna be used for the multiprotocol BGP peering,
    0:26:58 that is used to advertise the costumer route between the different PE routers.
    0:27:05 So, in general, in the provider network, all of the router should have a /32 loopback
    0:27:10 that's gonna be used for the actual label switching to that particular router.
    0:27:15 Now, in some service provider designs,
    0:27:18 the loopback itself will be the only address that's actually
    0:27:22 can be referenced to that router from other devices,
    0:27:25 where on the transit links between the routers, they could be unnumbered links
    0:27:29 or they could be using link local address space or private addressing.
    0:27:34 Because we really only care about getting traffic to that particular node in the network,
    0:27:40 which we're denoting based on the loopback
    0:27:43 and the actual transit traffic that is going between the customers
    0:27:46 is never gonna be sent to the provider's transit links itself.
    0:27:52 So, if we were to look at that topology here,
    0:27:54 from the perspective of one of the customers, let's say, inside EIGRP AS 10,
    0:28:00 they would not need to know the reachability information about the transit link between routers 1 and 3.
    0:28:05 Or between 1 and 2, or 2 and 3.
    0:28:10 As long as their traffic could be received in and then switched out to the other exit point of the provider network,
    0:28:19 then the actual customer in EIGRP AS 10 is not gonna need to know specific reachability information about the provider.
    0:28:27 So, the key point being here that these routes that are installed on router 1,
    0:28:32 these are only locally significant to the provider.
    0:28:35 These do not have to be advertised into the global BGP table
    0:28:38 as long as the internal IGP of the provider allows us to get reachability to all of the routers loopbacks
    0:28:45 that's wrote what we really care about to start.
    0:28:51 Now, since LDP is an IGP-based label distribution protocol,
    0:28:56 it means that once LDP is enabled on the per link basis,
    0:29:02 then we should automatically see label bindings for all of these routes that we see in the routing table.
    0:29:08 It's gonna be any of our connected interfaces that are running IGP.
    0:29:12 Plus the actual routes that are being learned from OSPF.
    0:29:16 So, from router 1's perspective, if we were to look at the Show IP Protocols,
    0:29:22 we see that OSPF is running on any interface that starts with 10.0.
    0:29:28 So, if we were to look at the Show IP Route Connected,
    0:29:33 this would then mean when router 1 runs Label Distribution Protocol or LDP,
    0:29:39 there should be bindings for these 4 connected interfaces
    0:29:43 in addition to any route that already show up as OSPF in the routing table.
    0:29:50 So, again, the key point with the actual label distribution,
    0:29:53 is that it is locally significant on a hop by hop basis..
    0:29:59 So, although router three is gonna be running label distribution protocol,
    0:30:02 router 3 is not the router that does the label binding for its own local loopback.
    0:30:08 The label number that's associated with router 3's loopback is gonna change on a hop-by-hop basis
    0:30:13 as the different routers negotiate that particular value.
    0:30:20 Now, again, the actual configuration is really straightforward with this.
    0:30:24 First, we need to make sure that CEF is on.
    0:30:27 Which normally, this should be the default value that IP CEF is on in global config.
    0:30:32 If the IOS is already using LDP as the default label distribution protocol,
    0:30:37 we don't necessarily need to specify the second command,
    0:30:40 but in reality, there's no reason that we would not want to do that.
    0:30:45 So, just to make sure that there's no discrepancies between the different IOS versions,
    0:30:49 it would be a good idea to make sure that CEF is on,
    0:30:53 and that the MPLS label protocol is LDP.
    0:30:58 Now, for this particular version on router 1,
    0:31:01 it says that it is using TDP by default.
    0:31:05 So, if I did not specify this globally,
    0:31:08 or at each individual link level,
    0:31:11 then, the routers would not be able to establish the adjacency.
    0:31:16 So, it's kind of like how .1Q and ISL works.
    0:31:19 They're technically doing the same thing at the end result,
    0:31:23 which is to add a VLAN number 4 encapsulation.
    0:31:26 But if we're running ISL on one side and .1Q on the other side, it's not gonna work.
    0:31:29 Because the protocols are using different formats.
    0:31:33 Same thing with LDP and TDP.
    0:31:34 At the end of the day, they're really doing the same thing,
    0:31:36 which is associating a label number to an IP prefix,
    0:31:41 but if the two routers are not running the same label protocol on a connected link,
    0:31:45 then, they're not going to be able to exchange the label numbers.
    0:31:53 So next, on all of the connected interfaces,
    0:31:55 we're going to enable the LDP process.
    0:31:59 So, on router 1, we simply need to go to these connected links,
    0:32:03 and at the interface level, say, MPLS IP.
    0:32:08 We don't need to enable this on the loopback,
    0:32:10 because there's no actual LDP adjacency that occurs on that link.
    0:32:16 Now, we'll see that the loopback is going to get a labelled binding
    0:32:20 because it's already advertised into IGP.
    0:32:25 As long as the interface is running OSPF, then,
    0:32:27 the router is gonna automatically advertise a labelled value for it.
    0:32:33 So next, on router 1, let's look at the Show IP Route Connected.
    0:32:37 And we have three connected Ethernet links.
    0:32:40 One is going to router 2, one is going to router 3, one is going to router 6.
    0:32:44 So, at these link levels, we'll say, simply MPLS IP.
    0:32:52 The link to router 3, and then also, the link to router 6.
    0:33:00 So, pretty straightforward configuration. Basically, only two commands so far.
    0:33:06 We'll do the same thing on router 2, if we Show IP Route Connected.
    0:33:10 I'll say, MPLS label...
    0:33:14 protocol is LDP globally.
    0:33:17 Then, at the link levels, MPLS IP.
    0:33:22 And if we look at some of the other MPLS sub-options,
    0:33:26 we could also specify these MPLS label protocol here at the link level,
    0:33:31 where the...
    0:33:33 specific one of the interface is gonna override what is in global configuration.
    0:33:38 So, if we wanted to run LDP for the vast majority of our interfaces,
    0:33:42 we could specify that globally,
    0:33:44 then, if we wanted to override this on a per-link basis, we could either set it to TDP,
    0:33:49 or set it to both in order to allow both particular adjacencies.
    0:33:55 But again, the vast majority of the time, you wouldn't want to run TDP
    0:33:58 because it's considered the legacy protocol.
    0:34:02 There's some other basic features that TDP doesn't support like authentication
    0:34:07 that you generally would want in your MPLS network.
    0:34:11 So, we'll see, the features that are really specific to LDP
    0:34:16 are not that involved configuration-wise.
    0:34:20 The...
    0:34:21 configuration that's gonna be difficult
    0:34:25 is the end logic that we're trying to piece together when we're building the MPLS layer 3 VPN.
    0:34:30 So, once we get to that point, we'll break down the individual steps
    0:34:34 of how we create the VRF,
    0:34:36 how we define what's gonna be the route distinguisher, what's gonna be the route target,
    0:34:40 and then the interaction between the BGP MPLS network,
    0:34:44 and then, the customer edge network, which is gonna be running some sort of
    0:34:48 VRF aware routing process.
    0:34:54 So now, on all six of these routers, I do have LDP pre-configured.
    0:34:58 If we look at the Show MPLS Interfaces,
    0:35:02 we see on router 2, it says that LDP is enabled on my three local links.
    0:35:07 It says that "Tunneling mode is disabled."
    0:35:09 This means that we are not running Resource Reservation Protocol, or RSVP.
    0:35:16 So, this doesn't necessarily mean that we're not running an MPLS tunnel.
    0:35:20 It simply means that we're not running MPLS traffic engineering tunnels.
    0:35:25 Where again, that's generally gonna be outside of the scope of routing and switching
    0:35:28 so we're not really gonna get any into that details of that.
    0:35:33 Next, if we were to look at the Show MPLS LDP Neighbors,
    0:35:39 from router 2's perspective,
    0:35:40 we should now see an adjacency with all of the other connected routers
    0:35:44 that are also running the LDP protocol.
    0:35:47 So, if we were to look back at the topology here from router 2's perspective,
    0:35:50 it should ideally have an adjacency with router 1,
    0:35:53 with router 3, and with router 4.
    0:35:58 This again is gonna assume that these four devices have already established the IGP adjacencies,
    0:36:05 and exchanged the internal topology through the normal IGP routing protocol.
    0:36:10 So again, whether this is OSPF, IS-IS, RIP, EIGRP, it technically doesn't matter,
    0:36:15 but in the vast majority of real design cases, it's generally gonna be just either OSPF or IS-IS.
    0:36:25 So now, on router 2, if we look at the details of the Show MPLS LDP Neighbors,
    0:36:30 it says, "First, I have a peer that is going to 10.0.4.4."
    0:36:35 This is the remote peer's LDP identifier,
    0:36:39 or essentially, their LDP router ID,
    0:36:42 where my LDP router ID is 10.0.2.2.
    0:36:47 So, by default, this value was coming from the loopback interface that has the highest IP address assigned.
    0:36:55 So, just like BGP or OSPF,
    0:36:58 the devices are not gonna be able to establish adjacency if they do not have unique identifiers.
    0:37:06 Once they choose the identifier,
    0:37:08 that is then gonna be used as the default TCP connect source.
    0:37:15 That's the actual value that's used to generate the packets between the two neighbors.
    0:37:19 So, we can see here, between router 4 and router 2,
    0:37:22 it says, "The TCP connection used is using TCP port 646.
    0:37:27 It's coming from router 4's loopback going to router 2's loopback."
    0:37:30 This would then imply, if I did not already have reachability to 10.0.4.4
    0:37:39 as I were to source packets from my own loopback.
    0:37:44 If I were not able to reach router 4's loopback, then, I would not be able to establish the LDP adjacency.
    0:37:52 Now, it should be fairly obvious whether we're having a transport problem here
    0:37:57 between the two neighbors because we can simply look again at the Show MPLS LDP Neighbors.
    0:38:02 It's gonna show what the TCP connection source is supposed to be between the two neighbors.
    0:38:08 Also, if we were to look at the Debug MPLS LDP Transport Events,
    0:38:16 this is gonna show us any potential problems is the actual adjacency establishment.
    0:38:23 So, it's telling us where we are receiving hellos from,
    0:38:27 where we are sending hellos out to,
    0:38:30 we can see that the hellos are using the multicast destination 224.0.0.2,
    0:38:36 which is reserved for all routers.
    0:38:39 If we were to look at the Debug IP Packet Detail,
    0:38:45 LDP is an IP-based protocol,
    0:38:48 where it's using UDP port 646
    0:38:52 for the discovery of the neighbors.
    0:38:55 So again, the discovery is going to that multicast address 224.0.0.2.
    0:39:00 Then, if we look at the debug again,
    0:39:04 we should see that there is a TCP connection
    0:39:11 that's going between the neighbors.
    0:39:12 So, right now, we're not actually exchanging any label values through TCP,
    0:39:17 because the network is already converged.
    0:39:19 But we will have a periodic keepalive just like we do for our BGP peerings.
    0:39:25 We can see between router 4 and router 2,
    0:39:28 router 4 in this case is the TCP client,
    0:39:31 where router 4 is sending packets to the destination port 646.
    0:39:36 When router 2 replies, router 2 is the TCP server,
    0:39:41 and the packets are coming from 646 going back to the loopback of router 4.
    0:39:49 So, this is then gonna imply a couple things about the actual LDP adjacency.
    0:39:53 If for some reason, first off, I didn't have a route between the loopback addresses,
    0:39:58 then, we're not gonna be able to know where to send the TCP packets.
    0:40:02 It also implies we would need to make sure that TCP port 646
    0:40:07 and UDP port 646 going to the all router multicast
    0:40:13 is able to transit between the routers.
    0:40:16 So, we would need to make sure there's no Layer 3 or Layer 4 filtering like with access lists.
    0:40:22 Also, if we were running this over a non-broadcast media like a frame-relay multipoint interface.
    0:40:29 We would need to make sure that we have the Pseudo Broadcast support
    0:40:33 in order to send the multicast to 224.0.0.2.
    0:40:39 But in the vast majority of cases inside the service provider network,
    0:40:43 the links are gonna be point-to-point, either point-to-point Ethernet, or point-to-point Packet over Sonnet.
    0:40:48 So, we should not have any type of Layer 3 to Layer 2 resolution problem.
    0:40:52 With Ethernet, we know that we can use the ARP process
    0:40:55 to figure out where we're supposed to send those multicasts to.
    0:40:59 In the case of Packet over Sonnet, that's a point-to-point encapsulation that's running PPP.
    0:41:04 So, we don't need to worry about any type of Layer 2 addressing.
    0:41:10 So again, assuming that there's nothing wrong with the underlying transport.
    0:41:13 Once LDP is enabled, all of the label advertisements should happen automatically.
    0:41:21 Now, if there is a problem,
    0:41:24 let's say theoretically that router 4 were not to advertise its loopback to IGP.
    0:41:30 So, right now, in the loopback of router 4,
    0:41:34 at the interface level, I simply have the IP OSPF command
    0:41:37 to put this into area zero.
    0:41:39 So, if I were to go to loopback zero and remove...
    0:41:44 this advertisement into IGP,
    0:41:50 then, from router 2, on the link level to router 4,
    0:41:54 I'm going to say, No MPLS IP.
    0:42:00 We can see, that's removing the adjacency between router 2 and router 4.
    0:42:06 Then, we're gonna look at the Debug MPLS LDP Transport Events,
    0:42:13 and re-enable MPLS on the interface. So, simply MPLS IP.
    0:42:23 So, we should now see that we're receiving
    0:42:26 the UDP hellos coming in from router 4,
    0:42:30 and also, router 2 is locally generating these.
    0:42:33 But if we're to look at the routing table
    0:42:36 to see where the reachability is to that particular address,
    0:42:42 so if we Show IP Route for 10.0.4.4,
    0:42:47 okay, we could see, router 2 does not have a route to that.
    0:42:52 If we then look at the Show MPLS LDP Neighbors,
    0:43:00 we see that we still have the adjacencies with router 1 and router 3,
    0:43:05 because I still have the routes to their loopbacks.
    0:43:08 But we no longer have the reachability information to router 4.
    0:43:15 So, to cut down on the output a little bit here, I'm just gonna shut those other interfaces down temporarily.
    0:43:20 So, on router 2,
    0:43:22 I'm gonna disable Fast Ethernet 0/0.12,
    0:43:24 and Fast Ethernet 0/0.23.
    0:43:32 So, on interface f0/0.12, we'll shut this down.
    0:43:36 And then, also the .23.
    0:43:43 Now, again, if we look at the Debug MPLS LDP Transport Events,
    0:43:56 and also, if we were to look at the Debug IP Packet Detail,
    0:44:01 we should see that router 2 is attempting to start the TCP session
    0:44:07 going over to router 4,
    0:44:12 but the packet that is gonna go out to router 4
    0:44:20 is gonna be unroutable.
    0:44:21 Now, we can also see that message that's going for router 1 and router 3's loopbacks.
    0:44:25 So, the key with LDP
    0:44:29 is that it is dynamic similar to how BGP is with the control plane
    0:44:34 that as long as we have some route between the neighbor's transport addresses,
    0:44:39 which is gonna be the loopback by default.
    0:44:41 Then, we should be able to establish the adjacency.
    0:44:46 Now, this would also mean
    0:44:48 that if there are multiple physical link between two routers running LDP,
    0:44:52 they're not going to establish multiple adjacencies.
    0:44:56 It's only one adjacency between the two routers,
    0:44:59 because the label values that we advertise, they're gonna be
    0:45:02 locally significant separately to those connected interfaces.
    0:45:07 So, it doesn't matter if I use the same label value on Fast Ethernet 0/0 versus Fast Ethernet 0/1,
    0:45:13 because those numbers are only locally significant to the router that's on the other end.
    0:45:20 Now, we should actually see this error
    0:45:23 on router 2, this may have to do with the version
    0:45:27 that I'm running here. On router 2, let's look at the Show Version Include IOS.
    0:45:34 Routers 1, 2, 3, in my particular topology, these are 2600XMs.
    0:45:39 So, the IOS version that we are running at this point,
    0:45:43 the 12.4 Mainline Advance Enterprise Services
    0:45:45 does not support MPLS on the 2600s.
    0:45:49 So, for today's demos, I actually have the down grade for 12.3 Mainline Advance Enterprise Services,
    0:45:55 where any of the ISRs, the 1800, 1900, 2800, or above,
    0:46:01 those are gonna support MPLS in the 12.4T and later tracks.
    0:46:07 So, on router 4, 5, and 6,
    0:46:09 if we look at the Show Version include the IOS,
    0:46:12 this is running 12.4T Advance Enterprise Services.
    0:46:17 But for the MPLS core, when you're actually testing out these configurations,
    0:46:22 pretty much all of these you could do on lower level platforms like 2600 or 3600s.
    0:46:27 As long as you use a couple IOS versions in the older trains,
    0:46:32 like the 12.4 Mainline as opposed to the 12.4T.
    0:46:36 Also, you can do a bunch of this either Dynamets of GNS 3,
    0:46:41 because the 3600s and the 3700s are gonna support the MPLS features for the virtualization.
    0:46:50 So, if you were to test this out in Dynamets, you can run 12.4T on the 3700s,
    0:46:56 and then, essentially, you'll be able to see all of the features that you need to test out.
    0:47:01 Now, when we look at all the configuration once it's done,
    0:47:05 the devices in the core, router 1, 2, and 3, since these are P routers only,
    0:47:11 they are not gonna need any other configuration
    0:47:14 than just LDP enabled on the interface level.
    0:47:18 They're not gonna be running multi-protocol BGP,
    0:47:20 they're not gonna need to know about any of the routes that are coming from the customers,
    0:47:24 because they are only going to be switching the traffic based on the MPLS labels.
    0:47:30 So, let's go back to...
    0:47:34 router 4 here. And what I'm gonna do...
    0:47:40 on router 4 is temporarily remove OSPF on the link between 2 and 4 as well.
    0:47:47 So, we'll say, No IP OSPF 200 Area Zero.
    0:47:52 Then, likewise on router 4, we'll look at the Debug MPLS LDP Transport Events.
    0:47:58 You'll see that different IOS versions have a little bit different outputs
    0:48:01 for some of these show commands and debug commands,
    0:48:04 but it's ultimately gonna be the same logic.
    0:48:07 So, what I'm looking for here is that there should be a message that says,
    0:48:10 "I don't have a route to that particular neighbor."
    0:48:17 And I'm wondering if in Advance Enterprise Services, the debug doesn't show this.
    0:48:22 Let's try...
    0:48:24 Let's try a different one. Let's say, Debug MPLS...
    0:48:29 LDP...
    0:48:39 Session...
    0:48:42 No, it should be... It should be the Transport Events. Let's try Transport Connections.
    0:48:48 And Transport Events. Basically, I'm looking for the error message that router 4 is gonna say,
    0:48:53 "I don't have a route, there it is."
    0:48:55 Okay, it says, "I don't have a route to the peer 10.0.2.2.
    0:48:58 So, there's no way that I can set up the TCP connection."
    0:49:02 So again, the key point here
    0:49:05 is that by default,
    0:49:07 the router's gonna look at its connected interfaces and pick the highest loopback address as the LDP router ID.
    0:49:14 The LDP router ID is then gonna be used as the connect source
    0:49:19 for every interface that's running the protocol.
    0:49:22 Now, you can technically change this. If I were to go to the link level Fast Ethernet 0/0.24.
    0:49:29 And say, The MPLS LDP discovery transport address,
    0:49:37 we could change this to a different IP address number or to a different interface.
    0:49:42 Typically, the only case that you would need to do this in
    0:49:45 is that if you had overlapping loopback addresses,
    0:49:49 because you're trying to do some sort of any cast implementation,
    0:49:54 and we'll talk about this when we get to multicast.
    0:49:56 The any cast run a good point that can be used for
    0:49:59 redundancy inside the network.
    0:50:03 But we could technically have a design where router 2 and router 4
    0:50:08 are sharing the same loopback address.
    0:50:12 And if this interface, let's say it's 10.0.255.255.
    0:50:20 So, this address, this is a /32.
    0:50:23 And it's being advertised by both router 2 and router 4 as their connected interfaces.
    0:50:28 So, when packets are sent to that, depending on where they're coming from physically in the topology,
    0:50:34 it's either gonna be received by router 2 or 4
    0:50:37 depending on who is physically closer.
    0:50:40 But then, the design issue you can run into
    0:50:43 is that the IGPs, BGP, and LDP
    0:50:48 would choose that highest loopback address as the router ID,
    0:50:53 then, we're not gonna be able to establish the adjacencies.
    0:50:55 Because if 2 and 4 are using the same value as the transport address,
    0:51:00 it doesn't make sense that router 4 would be able to send a packet from this address
    0:51:04 that's going to this address.
    0:51:08 So, in that very specific design case, you would wanna go to the interface level
    0:51:12 and specify that I wanna change what the transport address is.
    0:51:17 But again, under normal cases, you don't need to do this.
    0:51:19 As long as LDP is on all of the IGP interfaces,
    0:51:24 and likewise, IGP is on all of your connected interfaces,
    0:51:29 then, the router should automatically figure out what the transport address is supposed to be,
    0:51:33 and then automatically establish the TCP connection.
    0:51:38 So now, on router 4, if I go to the loopback,
    0:51:41 and say, IP OSPF 200 Area Zero,
    0:51:45 and again, let's look at the Debug MPLS LDP Transport Events.
    0:51:51 Then, at the LAN interface, I'll re-enable OSPF.
    0:51:56 We should see, once the OSPF adjacency is there
    0:52:01 that we do have a route to router 2's loopback,
    0:52:05 now, we can open the connection to them.
    0:52:08 It says, "Opening an LDP connection is coming from my loopback going to router 2's loopback."
    0:52:14 Then, eventually,
    0:52:17 we should get a log message that the LDP neighbor is up.
    0:52:21 So, even if you're not debugging the low level LDP information, you should still see this log
    0:52:28 that's similar to like the BGP peer coming up, or the OSPF neighbor coming up.
    0:52:35 Once the adjacency is up, we can look at the Show MPLS LDP Neighbors.
    0:52:39 It's gonna tell us the particular address
    0:52:42 that we have the TCP connection for.
    0:52:44 And also, any links on the other side
    0:52:48 that that peer is running LDP on.
    0:52:52 So now, from router 4's perspective, it knows that router 2 is running LDP
    0:52:57 on the link that has the 24.2 address
    0:53:00 and it's loopback zero.
    0:53:03 Now again, on router 2, I didn't actually configure LDP on the loopback.
    0:53:08 This is implied based on the fact that the loopback is in OSPF.
    0:53:14 Now, once I go to those other interfaces, the link to router 1, and the link to router 3,
    0:53:20 and bring these interfaces back up,
    0:53:27 we see that OSPF is now adjacent between router 1 and router 2,
    0:53:31 between router 2 and router 3.
    0:53:33 We should then see, they automatically form the LDP adjacencies.
    0:53:38 Now, on router 4, when we look at the change in the Show MPLS LDP Neighbor,
    0:53:43 it now knows that router 2 is running LDP on these additional interfaces as well.
    0:53:50 So, if the routers do have multiple physical links between each other,
    0:53:54 they're automatically gonna figure this out based on the addresses
    0:53:57 that the remote peer is binding to LDP.
    0:54:00 So, they will not establish a separate TCP session on a per-link basis.
    0:54:04 It's just gonna be just one globally between the two neighbors.
    0:54:09 So now that we figured out who the neighbors are supposed to be,
    0:54:12 we discovered them by using our UDP multicasts going to port 646,
    0:54:16 going to 224.0.02, which again is the all router multicast.
    0:54:22 We automatically establish the TCP session based on our LDP router ID.
    0:54:27 Now, we do the actual label advertisement.
    0:54:31 We could look at the low level debug for this,
    0:54:33 but pretty much, there's not any information that you can need from
    0:54:37 the actual label allocation debugging.
    0:54:41 You should be able to assume that if you're correct interfaces are in IGP,
    0:54:47 then, they will get allocations of label numbers.
    0:54:51 So, from router 4's perspective,
    0:54:53 router 4 should have the IGP routes
    0:54:56 to the transit interfaces between the other routers.
    0:55:02 It should also have the IGP routes to all of their loopbacks.
    0:55:07 And then, router 4 has two connected interfaces. It has its own Fast Ethernet 0/0.24.
    0:55:13 And it has its own loopback.
    0:55:16 This means that router 4 is going to be advertising
    0:55:20 label bindings to its own two connected interfaces
    0:55:24 and for all of these IGP learned routes.
    0:55:28 So, if there was another router beyond router 4,
    0:55:32 let's say, router 7, we were also running LDP,
    0:55:36 it means that router 4 would be doing label bindings towards router 7
    0:55:40 for all of those routes that are installed in the routing table as OSPF
    0:55:44 plus the connected interfaces.
    0:55:48 The end result of this, if we look at the Show MPLS Forwarding Table on router 4
    0:55:57 is that we should see label values
    0:56:00 associated with all IGP routes that are multiple hops away.
    0:56:05 And the pop label...
    0:56:09 for any IGP routes that are directly connected to our connected neighbors.
    0:56:16 So, in this particular case, it says we're going to pop the labels
    0:56:19 for the loopback of router 2,
    0:56:22 the link between router 1 and router 2,
    0:56:25 and the link between router 2 and router 3.
    0:56:30 So, from router 4's perspective,
    0:56:33 these three interfaces that are saying, "Pop label 4",
    0:56:36 or specifically, the three routes that it's saying, "Pop label 4."
    0:56:40 The loopback of 2,
    0:56:42 Fast Ethernet 0/0.12 of router 2,
    0:56:45 and Fast Ethernet 0/0.23.
    0:56:49 Now, the reason why that these do not have decimal values
    0:56:53 for the outgoing labels
    0:56:57 is a feature that's known as the Pen Ultimate Hop Popping,
    0:57:01 or the PHP process.
    0:57:05 Now, the Pen Ultimate Hop simply means, the next to last hop.
    0:57:11 So, without this feature enabled,
    0:57:14 normally, what would happen is the provider edge router,
    0:57:18 or any traffic that is going down to the end customer,
    0:57:20 it would have to do two separate lookups.
    0:57:23 It would have to do a lookup on the MPLS label that's received inbound,
    0:57:27 remove the MPLS label, and then do a lookup on the normal IP prefix.
    0:57:33 So, the Pen Ultimate Hop Popping process, or PHP
    0:57:37 is basically an optimization of the labelled lookup
    0:57:41 that says, "The device that is the next to last hop
    0:57:47 is automatically going to remove the topmost label in the stack
    0:57:51 before it is sent out to that connected neighbor."
    0:57:56 And the way that this is specifically accomplished
    0:57:59 is that through LDP,
    0:58:01 the router is going to be advertising the implicit null label value,
    0:58:06 for any of its connected interfaces.
    0:58:12 So, from our topology's point of view,
    0:58:14 router 2 is saying, "I have three connected interfaces. They're my loopback, and my two LAN interfaces.
    0:58:19 Actually, my three LAN interfaces."
    0:58:22 Since router 2 has an LDP adjacency with router 4,
    0:58:27 it's going to advertise these these label values
    0:58:31 as implicit null.
    0:58:33 It's telling router 4 that these destinations, these are directly connected to me.
    0:58:39 So, if router 4 were to send a ping
    0:58:41 to the interface address of router 2,
    0:58:44 that would not be sent as an MPLS packet. It would be sent as a normal IP packet.
    0:58:50 However, if router 4 were sending a ping to router 1's link to router 3,
    0:58:55 or the loopback of router 6,
    0:58:57 those packet would be MPLS encapsulated,
    0:59:00 because they are multiple hops away.
    0:59:05 Now, in either case, whether the router is doing the implicit null, or whether it is not doing the implicit null,
    0:59:11 which is considered the explicit null advertisement,
    0:59:15 the end result is gonna be the same.
    0:59:17 There should be no difference in the connectivity.
    0:59:20 It's simply an optimization of the underlying label lookup.
    0:59:25 So, anytime we look at the Show MPLS Forwarding Table,
    0:59:29 for any destination that is multiple hops away,
    0:59:33 we should see that there's a decimal value in the outgoing label.
    0:59:39 For any destination that we are the next to last hop,
    0:59:44 so, we are connected to router 2,
    0:59:46 router 2 is connected to these three interfaces.
    0:59:51 We should see the pop label.
    0:59:55 What we should not see is the No Label output.
    0:59:59 If it says, No Label, it means the traffic is being sent on a non-MPLS enabled interface.
    1:00:09 Now, on router 6,
    1:00:11 right now, I have it pre-configured to run EIGRP on the link to backbone 1.
    1:00:17 But this link here, serial 0/0.101,
    1:00:20 this is not enabled to LDP.
    1:00:24 So, it's a normal IP interface, it's not running MPLS.
    1:00:27 On router 6, if we were to look at the...
    1:00:31 Show MPLS Interfaces,
    1:00:36 it says, "There's only one link that I'm running MPLS on.
    1:00:40 It's my Fast Ethernet that's going over to router 1."
    1:00:43 This means that when we look in the routing table,
    1:00:47 the only interface that can now have label values associated with it
    1:00:53 is Fast Ethernet 0/0.16.
    1:00:58 Because this is the one that's actually running LDP.
    1:01:01 For the routes that I'm currently learning on of the serial link,
    1:01:05 since this is not an MPLS enabled interface,
    1:01:09 it means that any packets that are going out that link, I need to remove all MPLS labels.
    1:01:16 And the way that the router denotes this, if we look at the Show MPLS Forwarding Table
    1:01:21 is that these...
    1:01:23 will have no label value.
    1:01:28 So, there's a fundamental difference here between whether the router is saying to pop the label,
    1:01:33 or to send No Label.
    1:01:36 In certain versions, you'll see this No Label as untagged.
    1:01:40 It basically means that whatever the link is here,
    1:01:42 this is a non-MPLS interface.
    1:01:47 For any interface that is running MPLS, we should either see a decimal value,
    1:01:52 like here, we see label 22, 18, and 23,
    1:01:55 or we should see pop label,
    1:01:58 which means that we are the next to last hop.
    1:02:01 Some versions here instead of pop label, it'll say, IMP null for implicit null.
    1:02:08 So, if we were to actually test this out, let's say that from router 6's perspective,
    1:02:13 we do a traceroute to the loopback of router 1.
    1:02:20 Since we are the next to last hop here,
    1:02:23 this is not getting an MPLS label.
    1:02:28 However, if we were to send the traffic multiple hops away, let's say we send it to router 2's loopback,
    1:02:34 we see that there is a label value
    1:02:37 when we're forwarding the traffic out that interface.
    1:02:40 So, by default, the MPLS label is only gonna be used for destinations that are multiple hops away
    1:02:45 on an interface that's actually running MPLS.
    1:02:49 For any interface that does not have LDP enabled,
    1:02:52 we're gonna see that as No Label.
    1:02:56 For any destinations that are only one hop away, we should see Hop Label.
CCIE R&S Advanced Technologies Class v4.5
Title: CCIE R&S Advanced Technologies Class v4.5
Duration: 81h 42m
The CCIE Routing & Switching Advanced Technologies Class is the first step in understanding CCIE level technologies and is a companion to the Advanced Technologies Lab Workbook. Each technology you need to know for the CCIE Routing & Switching lab will be described in detail using an instructor led hands on demonstration. The class consists of over 80 hours of in depth explanations and examples.
Get instant access to our entire library!
Sign Up
Download this Course
$299.00 Add to Cart


© 2003 - 2013 INE All Rights Reserved