WEBVTT 0:00:03.240000 --> 0:00:09.100000 Hello and welcome to this video, which is part of our VPN overview series 0:00:09.100000 --> 0:00:11.400000 of the CCNA bootcamp. 0:00:11.400000 --> 0:00:15.580000 And this video is called MPLS terminology and concepts, who do just a 0:00:15.580000 --> 0:00:21.040000 brief review and overview of how MPLS works and some of the terms of MPLS 0:00:21.040000 --> 0:00:22.480000 you should know. 0:00:22.480000 --> 0:00:25.720000 So first of all, what does MPLS stand for? 0:00:25.720000 --> 0:00:29.780000 Multi-protocol label switching. 0:00:29.780000 --> 0:00:35.440000 The idea here is that when data comes into an MPLS enabled router, that 0:00:35.440000 --> 0:00:39.340000 MPLS router, after the layer two header, now that layer two header is 0:00:39.340000 --> 0:00:44.020000 probably an ethernet header, although MPLS was designed to work with other 0:00:44.020000 --> 0:00:48.260000 things besides ethernet, but the idea is after the ethernet header, it 0:00:48.260000 --> 0:00:52.500000 will sort of move the layer three header over and after the ethernet header, 0:00:52.500000 --> 0:00:56.080000 it will put in this thing called an MPLS label and we'll look at what 0:00:56.080000 --> 0:00:58.940000 that label structure looks like in just a second. 0:00:58.940000 --> 0:01:04.020000 And then subsequent MPLS routers, we'll look at that label to figure out 0:01:04.020000 --> 0:01:06.980000 which interface this thing needs to be forwarded on. 0:01:06.980000 --> 0:01:10.960000 So instead of forwarding data or switching data based on your layer three 0:01:10.960000 --> 0:01:15.560000 header like your IPv4 or your IPv6 address, we can now forward it based 0:01:15.560000 --> 0:01:19.900000 on this label. And because we're using this label, it freezes up to have 0:01:19.900000 --> 0:01:21.600000 anything after the label. 0:01:21.600000 --> 0:01:27.580000 So MPLS is typically used for IPv4, IPv6 packets, but it can carry all 0:01:27.580000 --> 0:01:28.420000 sorts of other things. 0:01:28.420000 --> 0:01:32.160000 For example, there's types of MPLS where you could take an ethernet frame 0:01:32.160000 --> 0:01:39.940000 and you could have MPLS, that ethernet frame that does not have any IPv4, 0:01:39.940000 --> 0:01:46.300000 IPv6 in it, and we could use MPLS to transport that frame across the cloud. 0:01:46.300000 --> 0:01:50.340000 So that's why we call it multi -protocol label switching. 0:01:50.340000 --> 0:01:53.340000 Anything that could have a label put in front of it, any protocol, we 0:01:53.340000 --> 0:01:56.440000 could switch it with these MPLS labels. 0:01:56.440000 --> 0:02:00.060000 The labels like it says here are dynamically generated and propagated 0:02:00.060000 --> 0:02:01.700000 throughout an MPLS network. 0:02:01.700000 --> 0:02:05.320000 So you don't have to configure the label, you don't have to say what the 0:02:05.320000 --> 0:02:11.100000 label number is, MPLS devices will figure that out for themselves. 0:02:11.100000 --> 0:02:14.480000 Now MPLS is kind of weird here because it says this is considered a layer 0:02:14.480000 --> 0:02:17.040000 2.5 technology. Why? 0:02:17.040000 --> 0:02:18.840000 Because of where that label is put. 0:02:18.840000 --> 0:02:24.100000 It's put after the layer 2 header, but before the layer 3 header. 0:02:24.100000 --> 0:02:27.440000 Hence why we call it a layer 2.5 technology. 0:02:27.440000 --> 0:02:32.240000 Now in Cisco routers, MPLS leverages both IP routing and Cisco Express 0:02:32.240000 --> 0:02:34.020000 forwarding switching. 0:02:34.020000 --> 0:02:37.840000 So you actually have to have Cisco Express forwarding turned on, which 0:02:37.840000 --> 0:02:41.120000 is on by default and pretty much all Cisco routers and switches these 0:02:41.120000 --> 0:02:46.320000 days in order to enable this feature. 0:02:46.320000 --> 0:02:51.100000 And typically, in just a basic MPLS environment, MPLS labels correspond 0:02:51.100000 --> 0:02:53.420000 to destination networks. 0:02:53.420000 --> 0:02:54.520000 What does that mean? 0:02:54.520000 --> 0:02:59.020000 That means that I as a router, as I start learning about networks via 0:02:59.020000 --> 0:03:04.340000 RIP or EIGRP or OSPF, for every network I learn about, I will come up 0:03:04.340000 --> 0:03:09.620000 with an that I can use for forwarding of that network. 0:03:09.620000 --> 0:03:12.120000 And we'll see a little bit about how that works. 0:03:12.120000 --> 0:03:17.060000 All right, so some MPLS terminology here. 0:03:17.060000 --> 0:03:24.180000 So any router that deals with an MPLS label, whether it be adding a label 0:03:24.180000 --> 0:03:28.620000 to a packet that currently does not have one, stripping a label off of 0:03:28.620000 --> 0:03:33.380000 a packet and then sending it unlabeled or receiving something that's already 0:03:33.380000 --> 0:03:37.560000 labeled and then switching it out and maintaining a label, anything that 0:03:37.560000 --> 0:03:41.540000 deals with a label is called a label switch router or an LSR. 0:03:41.540000 --> 0:03:46.940000 Now, depending on where that router is in the network, it can be called 0:03:46.940000 --> 0:03:53.180000 a ingress LSR, which is also called a label edge router or an intermediate 0:03:53.180000 --> 0:03:56.160000 LSR or an egress LSR. 0:03:56.160000 --> 0:04:02.800000 Take a look at what that's talking about right there. 0:04:02.800000 --> 0:04:13.060000 Okay, so here I have some network, composed of routers and switches and 0:04:13.060000 --> 0:04:20.060000 such. Now MPLS, although it can be used within your own company's network, 0:04:20.060000 --> 0:04:22.280000 that's not typically where you're going to find it. 0:04:22.280000 --> 0:04:28.280000 MPLS is usually a service that MPLS service providers like ISPs will offer 0:04:28.280000 --> 0:04:32.500000 you to connect one remote office to a central office or remote offices 0:04:32.500000 --> 0:04:37.620000 together. So imagine this cloud here is one remote office. 0:04:37.620000 --> 0:04:39.680000 All right, and here's the edge router. 0:04:39.680000 --> 0:04:43.240000 So this is the customer edge router. 0:04:43.240000 --> 0:04:49.660000 Here's another network of that same customer with their own customer edge 0:04:49.660000 --> 0:04:55.080000 router. Okay. Okay. 0:04:55.080000 --> 0:05:02.500000 And here is the first MPLS router that's talking to it. 0:05:02.500000 --> 0:05:11.660000 So as packets come in this way, they are regular old IPv4 or IPv6 packets. 0:05:11.660000 --> 0:05:17.320000 This router here is a label edge router. 0:05:17.320000 --> 0:05:21.400000 Also, sometimes like the slide said, sometimes called an ingress LSR. 0:05:21.400000 --> 0:05:25.620000 So what he's going to do is he's going to take that packet and apply a 0:05:25.620000 --> 0:05:32.160000 label to it, apply an MPLS label to it. 0:05:32.160000 --> 0:05:39.040000 And then that now that labeled thing is going to go through here. 0:05:39.040000 --> 0:05:50.800000 So these devices in here, these are called intermediate intermediate LSRs. 0:05:50.800000 --> 0:05:55.160000 A lot of times they're called core LSRs. 0:05:55.160000 --> 0:06:06.700000 Because these guys have no visibility to the actual IPv4 or IPv6 header 0:06:06.700000 --> 0:06:13.060000 at all. What they are doing is they are making their switching decisions 0:06:13.060000 --> 0:06:17.340000 purely based on the MPLS labels that they see. 0:06:17.340000 --> 0:06:26.240000 And then as it goes this way, here is the last router who's going to receive 0:06:26.240000 --> 0:06:30.620000 the packet that is pre-labeled, that has a label on it. 0:06:30.620000 --> 0:06:36.740000 He's going to pop that label off and send it as a regular unlabeled packet. 0:06:36.740000 --> 0:06:40.720000 He is also a label edge router because he's on the edge. 0:06:40.720000 --> 0:06:42.700000 But we don't call him an ingress, right? 0:06:42.700000 --> 0:06:44.620000 The ingress was over here. 0:06:44.620000 --> 0:06:53.600000 We call him an egress label edge router or an ingress label switching 0:06:53.600000 --> 0:07:05.720000 router. Okay. So this, based on the label, and let's just put some other 0:07:05.720000 --> 0:07:07.620000 routers in here. 0:07:07.620000 --> 0:07:20.360000 Okay, there might be some other core routers over here. 0:07:20.360000 --> 0:07:27.380000 But as this packet came in, as it was labeled, notice it took this path 0:07:27.380000 --> 0:07:32.060000 from here to here, from here to here, from here to here, and here to here. 0:07:32.060000 --> 0:07:39.520000 Just like routers have, which are running SIF, let's just do a quick review 0:07:39.520000 --> 0:07:43.860000 of Cisco Express forwarding. 0:07:43.860000 --> 0:07:47.080000 So in Cisco you start with your routing table. 0:07:47.080000 --> 0:07:53.120000 You're all familiar with what that is, which contains your routes, and 0:07:53.120000 --> 0:07:55.560000 probably an ARP table. 0:07:55.560000 --> 0:08:00.400000 Right? Your ARP table will contain the MAC address of the next top. 0:08:00.400000 --> 0:08:03.100000 So you can create an Ethernet header and send an Ethernet frame to the 0:08:03.100000 --> 0:08:10.200000 next top. Well, when you enable SIF, the basic components of this are 0:08:10.200000 --> 0:08:13.860000 downloaded into two different SIF tables. 0:08:13.860000 --> 0:08:19.500000 We have the SIF FIB table, the forwarding information base. 0:08:19.500000 --> 0:08:22.960000 So that's going to contain just the basic stuff from the routing table, 0:08:22.960000 --> 0:08:27.020000 like the routes and the next top, and that's basically it. 0:08:27.020000 --> 0:08:29.680000 Because there's stuff in the routing table that we don't really need to 0:08:29.680000 --> 0:08:30.980000 actually forward a packet. 0:08:30.980000 --> 0:08:34.640000 For example, the routing table for every single route shows us how long 0:08:34.640000 --> 0:08:36.320000 that route has been learned. 0:08:36.320000 --> 0:08:39.920000 Well, we don't care about how long it's been in there to actually use 0:08:39.920000 --> 0:08:41.280000 it and forward a packet. 0:08:41.280000 --> 0:08:43.620000 A route will also tell us how it was learned. 0:08:43.620000 --> 0:08:46.020000 Was it learned via OSPF, EIGRP? 0:08:46.020000 --> 0:08:48.260000 It'll be a little D or an O or an R there. 0:08:48.260000 --> 0:08:52.060000 Once again, do we really need that information to forward a packet? 0:08:52.060000 --> 0:08:56.560000 No, we don't. We just need the route, the subnet mask, and the next top. 0:08:56.560000 --> 0:08:59.700000 That's what's going to be downloaded right here to the SIF FIB table. 0:08:59.700000 --> 0:09:03.540000 And then the ARP table, the contents of that will be downloaded to an 0:09:03.540000 --> 0:09:07.440000 adjacency table. 0:09:07.440000 --> 0:09:12.440000 So these are the two structures that Cisco express forwarding utilize. 0:09:12.440000 --> 0:09:16.400000 It builds and maintains and switches packets based on the contents of 0:09:16.400000 --> 0:09:19.740000 the SIF FIB and the adjacency table. 0:09:19.740000 --> 0:09:26.260000 Well, these routers here that are running MPLS, they have something called 0:09:26.260000 --> 0:09:34.400000 an L-FIB, which is also built by SIF. 0:09:34.400000 --> 0:09:38.420000 This can guess it contains the label values and the egress interface you 0:09:38.420000 --> 0:09:42.200000 use if you receive in something that's got that label on it. 0:09:42.200000 --> 0:09:45.200000 Oh, I just got in something that's got a label of 15 on it. 0:09:45.200000 --> 0:09:49.060000 That tells me I need to go out that interface right there. 0:09:49.060000 --> 0:09:53.480000 So, and then they also reference an adjacency table as well. 0:09:53.480000 --> 0:10:04.220000 Because after all, we need to know what the MAC address is of the label 0:10:04.220000 --> 0:10:07.320000 edge router here was sending it along this way. 0:10:07.320000 --> 0:10:11.900000 This entire path that was determined because of the L-FIB, there's a name 0:10:11.900000 --> 0:10:18.680000 for this. This path was determined not because of IPv4, IPv6 information. 0:10:18.680000 --> 0:10:22.300000 This path was determined because of label information. 0:10:22.300000 --> 0:10:35.420000 And so we actually call this an L-FIB. 0:10:35.420000 --> 0:10:39.220000 All right, don't have to worry too much about direction upstream and downstream. 0:10:39.220000 --> 0:10:43.840000 All right, so let's dig into it real quickly here what these labels actually 0:10:43.840000 --> 0:10:45.680000 look like we've been talking about them. 0:10:45.680000 --> 0:10:49.660000 What are they? Well, for one thing, they're four bytes long. 0:10:49.660000 --> 0:10:53.920000 So, easy to remember, right? 0:10:53.920000 --> 0:10:57.920000 IP address, four bytes long, MPLS label, four bytes long. 0:10:57.920000 --> 0:11:00.500000 So hopefully that'll make it easy for you. 0:11:00.500000 --> 0:11:04.120000 They define the destination and services for a packet. 0:11:04.120000 --> 0:11:07.360000 They identify a forwarding equivalence class. 0:11:07.360000 --> 0:11:12.420000 So, what the heck is a forwarding equivalence class? 0:11:12.420000 --> 0:11:25.280000 Okay, let's say that behind me is the 50.50 IPv4 network. 0:11:25.280000 --> 0:11:29.140000 Okay, and let's say that you and I are routers and we're doing some routing 0:11:29.140000 --> 0:11:33.860000 protocol. Take your pick, OSPF, EIGRP, doesn't really matter. 0:11:33.860000 --> 0:11:37.680000 But we use, I use the routing protocol and I advertise to you the 50.50 0:11:37.680000 --> 0:11:42.220000 network. So, you know, to get to the 50.50 network, you have to go through 0:11:42.220000 --> 0:11:47.440000 me. Now, if we're doing MPLS, this is what we're going to do. 0:11:47.440000 --> 0:11:52.420000 As soon as I learn the 50.50 network, after I advertise it to you, I'm 0:11:52.420000 --> 0:11:58.120000 going to derive a label for this, a four byte label, part of the component, 0:11:58.120000 --> 0:12:01.080000 the main part of the component is going to be a label number, a label 0:12:01.080000 --> 0:12:05.700000 value. So, let's say I decide, and there's really no way to predict what 0:12:05.700000 --> 0:12:07.980000 that's going to be in advance. 0:12:07.980000 --> 0:12:09.880000 But let's say, let's just make it simple. 0:12:09.880000 --> 0:12:13.220000 Okay, let's say I come up with a label number five. 0:12:13.220000 --> 0:12:19.160000 All right, so I say to myself, okay, so in my L-Fib, I say label five 0:12:19.160000 --> 0:12:23.660000 equals the 50.50 network, which is back behind me. 0:12:23.660000 --> 0:12:28.360000 And my L-Fib says, hey, okay, and then I'm going to advertise the label 0:12:28.360000 --> 0:12:32.760000 five to you. So, just like there's routing protocols that advertise routes 0:12:32.760000 --> 0:12:38.500000 like EIGRP and OSPF, there's a protocol called LDP, the label distribution 0:12:38.500000 --> 0:12:40.380000 protocol that you and I have. 0:12:40.380000 --> 0:12:44.420000 So, you and I are going to form an LDP neighbor relationship just alongside 0:12:44.420000 --> 0:12:48.940000 our OSPF neighbor relationship or our EIGRP neighbor relationship. 0:12:48.940000 --> 0:12:52.760000 And once this LDP neighbor relationship is up, I can use that to advertise 0:12:52.760000 --> 0:13:00.100000 labels to you. So, I can say, hey, the 50.50 network equals label number 0:13:00.100000 --> 0:13:05.200000 five. And so, now you put that in your routing to in your L-Fib. 0:13:05.200000 --> 0:13:10.040000 So, let's just draw this here real quick to make this a little bit more 0:13:10.040000 --> 0:13:18.860000 meaningful. So, here comes in the 50.50 network to me. 0:13:18.860000 --> 0:13:21.260000 I'll just say I'm router one. 0:13:21.260000 --> 0:13:28.380000 So, what I come up with, and let's say here we have router two, router 0:13:28.380000 --> 0:13:32.100000 three, and router four. 0:13:32.100000 --> 0:13:39.520000 Okay, so, I am router one, I am a label edge router. 0:13:39.520000 --> 0:13:44.360000 So, anything I send out this way is going to be unlabeled, just a regular 0:13:44.360000 --> 0:13:53.360000 old IP packet. I form an LDP connection with you. 0:13:53.360000 --> 0:13:57.540000 You form an LDP connection with somebody else. 0:13:57.540000 --> 0:14:00.560000 E forms an LDP connection with somebody else. 0:14:00.560000 --> 0:14:10.440000 And then maybe there's other also a label edge router, just like me, router 0:14:10.440000 --> 0:14:14.940000 four is. Okay, so, once I learned about that network, so let's assume 0:14:14.940000 --> 0:14:17.920000 the network has been propagated via some routing protocol. 0:14:17.920000 --> 0:14:20.080000 We don't really care which it is. 0:14:20.080000 --> 0:14:34.200000 So, I create in my L-Fib this mapping saying that 50.50.0.0 equals label 0:14:34.200000 --> 0:14:42.340000 five. And I say this is not the technical term, but I'm just going to 0:14:42.340000 --> 0:14:48.200000 say remove it. You'll see why I say this in just a second. 0:14:48.200000 --> 0:14:53.740000 Okay, now I advertise via LDP to you. 0:14:53.740000 --> 0:15:02.340000 I say 50.50 equals five. 0:15:02.340000 --> 0:15:08.980000 So, in your table, you create this. 0:15:08.980000 --> 0:15:13.860000 You say okay, I just learned that five. 0:15:13.860000 --> 0:15:22.500000 And let's say here this is your interface one. 0:15:22.500000 --> 0:15:30.300000 So, five equals the 50.50.0.0. 0:15:30.300000 --> 0:15:36.000000 And I learned it on interface one. 0:15:36.000000 --> 0:15:42.280000 And that is my egress. 0:15:42.280000 --> 0:15:46.220000 So, let's put right here. 0:15:46.220000 --> 0:15:50.320000 I could spell egress correctly. 0:15:50.320000 --> 0:16:01.800000 Now what you're going to do is you're going to come up with this kind 0:16:01.800000 --> 0:16:04.640000 of weird, but you're going to come up with your own label number for this 0:16:04.640000 --> 0:16:07.540000 exact same network. 0:16:07.540000 --> 0:16:12.220000 You're going to say okay, let's maybe have 20. 0:16:12.220000 --> 0:16:25.040000 Ingress. Ingress. 0:16:25.040000 --> 0:16:32.140000 And now you're going to advertise 20 to this guy. 0:16:32.140000 --> 0:16:35.640000 And so I'm just going to abbreviate some of this stuff right here. 0:16:35.640000 --> 0:16:39.400000 Three, four, five, six. 0:16:39.400000 --> 0:16:45.300000 And then this guy right here, his table is going to look something like 0:16:45.300000 --> 0:16:56.020000 this. I have just learned of an egress label of 20. 0:16:56.020000 --> 0:17:03.820000 Use the same color scheme here on interface three. 0:17:03.820000 --> 0:17:10.080000 He says now I'm going to come up with an egress. 0:17:10.080000 --> 0:17:19.340000 Oh no. Yeah, an ingress label of 42. 0:17:19.340000 --> 0:17:23.700000 He sends out 42. 0:17:23.700000 --> 0:17:26.000000 Almost done with an example. 0:17:26.000000 --> 0:17:27.960000 Just bear with me. 0:17:27.960000 --> 0:17:41.580000 This guy now says I have an egress of 42, which was learned on interface 0:17:41.580000 --> 0:17:52.880000 five. And we'll just say no ingress. 0:17:52.880000 --> 0:17:55.940000 Okay, so here's how this is going to work. 0:17:55.940000 --> 0:18:04.400000 Now here comes a bunch of just regular old IP packets. 0:18:04.400000 --> 0:18:08.100000 And their destination address is actually the 5050 network way out there 0:18:08.100000 --> 0:18:14.500000 to the left. They hit router four, who is our label edge router. 0:18:14.500000 --> 0:18:21.240000 So these are going, so I'll just say here destination. 0:18:21.240000 --> 0:18:24.260000 5050 1.1, let's say. 0:18:24.260000 --> 0:18:26.860000 Okay, he looks it up via Ceph. 0:18:26.860000 --> 0:18:31.380000 And according to a Ceph table, he says, oh, okay, I need to apply an egress 0:18:31.380000 --> 0:18:38.080000 label of 42 to that and send those packets out interface number five. 0:18:38.080000 --> 0:18:39.700000 So here they go. 0:18:39.700000 --> 0:18:45.940000 So now we have applied an MPLS label to them all with the number 42. 0:18:45.940000 --> 0:18:46.420000 And now we have a label of 42. 0:18:46.420000 --> 0:18:51.420000 Router three gets it ingress. 0:18:51.420000 --> 0:18:53.060000 He's receiving packets now. 0:18:53.060000 --> 0:18:58.220000 Now he's receiving ingress something with a label of 42. 0:18:58.220000 --> 0:19:01.700000 He says, oh, I'm receiving something ingress with a label 42. 0:19:01.700000 --> 0:19:08.380000 I need to swap that label for 20 and send it out interface egress interface 0:19:08.380000 --> 0:19:14.040000 number three. So he sends those packets out this way. 0:19:14.040000 --> 0:19:18.800000 And now they have 20 on them, which is what he learned from his downstream 0:19:18.800000 --> 0:19:24.300000 neighbor. So you see right here router three just forwarded these packets, 0:19:24.300000 --> 0:19:26.300000 not based on their IP headers. 0:19:26.300000 --> 0:19:31.140000 He forwarded them because when they came in, they had label 42 on them, 0:19:31.140000 --> 0:19:33.100000 which is a label he created. 0:19:33.100000 --> 0:19:35.300000 They came in as 42. 0:19:35.300000 --> 0:19:37.300000 That map to label 20. 0:19:37.300000 --> 0:19:39.860000 Outbound interface number three. 0:19:39.860000 --> 0:19:42.220000 Same thing's going to happen here on router two. 0:19:42.220000 --> 0:19:47.980000 Router two receives ingress label 20, which is what he, a label number 0:19:47.980000 --> 0:19:49.260000 he came up with. 0:19:49.260000 --> 0:19:53.980000 He says, oh, I need to swap that for label five and send it egress on 0:19:53.980000 --> 0:19:55.500000 interface number one. 0:19:55.500000 --> 0:19:57.760000 So here they go. 0:19:57.760000 --> 0:20:01.780000 This way with the number five on it. 0:20:01.780000 --> 0:20:06.960000 And now when they reach router one, router one says, oh, ingress label 0:20:06.960000 --> 0:20:09.660000 number five is something I need to remove. 0:20:09.660000 --> 0:20:14.460000 I need to pop it off and just send the packets in their native format. 0:20:14.460000 --> 0:20:19.380000 So that's how labels are propagated and how label switching occurs. 0:20:19.380000 --> 0:20:24.020000 It was the label distribution protocol that propagated label hop by hop 0:20:24.020000 --> 0:20:28.180000 by hop. And then as things come in, they're labeled, they come in with 0:20:28.180000 --> 0:20:32.600000 labels. So if you send something to me, you're going to use the label 0:20:32.600000 --> 0:20:35.200000 that I just advertised to you. 0:20:35.200000 --> 0:20:39.760000 And when I get my own label, I will, I will do one of two things. 0:20:39.760000 --> 0:20:45.440000 I will either swap it with a label that he advertised to me, or if I'm 0:20:45.440000 --> 0:20:48.820000 the last guy in the chain, if I'm the label edge router, I'll pop that 0:20:48.820000 --> 0:20:53.320000 label off, revealing my IP packet, and then forward it as a regular IP 0:20:53.320000 --> 0:21:06.900000 packet. So that's where it says labels have local significance. 0:21:06.900000 --> 0:21:11.660000 Each label switch router independently maps a label to a forwarding equivalent 0:21:11.660000 --> 0:21:15.260000 class. A forwarding equivalent class is a route. 0:21:15.260000 --> 0:21:16.480000 Let's just, it's just simple. 0:21:16.480000 --> 0:21:18.040000 Let's just think of it as a route. 0:21:18.040000 --> 0:21:23.200000 In this case, 50.50, that was my forwarding equivalent class. 0:21:23.200000 --> 0:21:26.020000 And label bindings are exchanged between LSRs. 0:21:26.020000 --> 0:21:26.780000 We just looked at that. 0:21:26.780000 --> 0:21:30.100000 All right, finally, what does the label actually look like? 0:21:30.100000 --> 0:21:32.820000 Here it is. Here's all 32 bits. 0:21:32.820000 --> 0:21:37.680000 You can see the first 20 bits from bit zero to bit 19, since we're starting 0:21:37.680000 --> 0:21:40.140000 at zero, that averaged out to 20. 0:21:40.140000 --> 0:21:41.620000 That's our actual label number. 0:21:41.620000 --> 0:21:44.500000 That's where that number five or 42 or 20 would go in there. 0:21:44.500000 --> 0:21:46.440000 So we have a 20-bit label. 0:21:46.440000 --> 0:21:52.120000 We have a three-bit experimental field where we can carry IP precedence. 0:21:52.120000 --> 0:21:54.980000 We have a one-bit bottom of stack indicator. 0:21:54.980000 --> 0:21:58.640000 I'll just show you what that looks like in just a second and an eight 0:21:58.640000 --> 0:22:12.720000 -bit TTL. So how the TTL works is that going back to this situation right 0:22:12.720000 --> 0:22:19.620000 here, when this packet came in, this regular IP packet, it had some TTL 0:22:19.620000 --> 0:22:26.720000 in it, right? Maybe the TTL, when it was received by router 4, was 50. 0:22:26.720000 --> 0:22:31.000000 So router 4 would have decremented that to 49. 0:22:31.000000 --> 0:22:34.480000 And then when he applied the label on it, the MPLS label, they had the 0:22:34.480000 --> 0:22:36.420000 number of 42 in it. 0:22:36.420000 --> 0:22:40.980000 In the TTL field, he would have copied 49 into that. 0:22:40.980000 --> 0:22:47.260000 So whatever the TTL is, let's go back to here, on the IP packet, that's 0:22:47.260000 --> 0:22:51.640000 what's copied into the TTL field in the MPLS label. 0:22:51.640000 --> 0:22:57.060000 And like I said, the MPLS label is imposed, that's a technical term. 0:22:57.060000 --> 0:23:00.940000 In other words, it's put, it's imposed in between the layer 2 frame header 0:23:00.940000 --> 0:23:08.160000 and the layer 3, presumably IPv4, IPv6 header. 0:23:08.160000 --> 0:23:12.100000 And the last thing I wanted to talk about is that bottom of stack indicator. 0:23:12.100000 --> 0:23:17.180000 In my example, in my whiteboard example, as that packet was going through 0:23:17.180000 --> 0:23:20.760000 our label switching routers, it only had one label. 0:23:20.760000 --> 0:23:24.540000 It would come in with a label, we'd pop that label off and we would swap 0:23:24.540000 --> 0:23:26.300000 it for another one. 0:23:26.300000 --> 0:23:30.400000 So it was always just one, if we capture that packet on a link in a sniffer 0:23:30.400000 --> 0:23:33.300000 capture, there just would have been one label in there. 0:23:33.300000 --> 0:23:37.200000 But in a lot of times, if we're talking about other things like MPLS VPNs 0:23:37.200000 --> 0:23:42.760000 or MPLS traffic engineering, there could be two or even three labels, 0:23:42.760000 --> 0:23:47.540000 daisy chain one after the other, inside your, you know, between your layer 0:23:47.540000 --> 0:23:51.160000 2 header and your packet, you can have two or three of them. 0:23:51.160000 --> 0:23:57.620000 So like in this case right here, so typically speaking, when I'm a label 0:23:57.620000 --> 0:24:02.160000 switch router and I receive something that's already got a label in it, 0:24:02.160000 --> 0:24:08.640000 I will look at the label that's right next to the frame header. 0:24:08.640000 --> 0:24:10.660000 We call that the outer label. 0:24:10.660000 --> 0:24:15.940000 So it's going this direction right here, this direction. 0:24:15.940000 --> 0:24:18.840000 Here's my normal IP header and my payload. 0:24:18.840000 --> 0:24:20.720000 Here's my Ethernet header. 0:24:20.720000 --> 0:24:25.580000 Now the Ethernet header has an ether type of 0x8847. 0:24:25.580000 --> 0:24:27.360000 Don't have to memorize that. 0:24:27.360000 --> 0:24:31.140000 But that's the ether type value that says, hey, behind me, behind my ethernet 0:24:31.140000 --> 0:24:33.120000 header, is not an IP header. 0:24:33.120000 --> 0:24:36.140000 It's a label, it's an MPLS label. 0:24:36.140000 --> 0:24:40.520000 And so as a router, when I get an ethernet frame and I see that ether 0:24:40.520000 --> 0:24:44.420000 type value, that tells me, oh, I'm not going to look at my system. 0:24:44.420000 --> 0:24:47.860000 Except fib, I would look at my fib if it was an IP header. 0:24:47.860000 --> 0:24:51.260000 I'm going to look at my L fib, my label fib, because that's going to tell 0:24:51.260000 --> 0:24:54.860000 me, oh, there's a label of five, what do I do with that? 0:24:54.860000 --> 0:24:57.780000 My L fib will tell me what to do with that. 0:24:57.780000 --> 0:25:01.800000 So when I look at the label, this is the label I'm looking at, the outer 0:25:01.800000 --> 0:25:07.540000 label. Now each label tells you basically the bottom of stack indicator 0:25:07.540000 --> 0:25:12.180000 is basically an indicator of am I the last label or are there other labels 0:25:12.180000 --> 0:25:16.000000 behind me? That's what the bottom of stack bit does. 0:25:16.000000 --> 0:25:22.400000 So you can see this label right here, his bottom of stack indicator is 0:25:22.400000 --> 0:25:26.980000 a zero. If it's a zero, that means I am not at the bottom of the stack. 0:25:26.980000 --> 0:25:29.280000 There's other labels behind me. 0:25:29.280000 --> 0:25:33.160000 Next label, maybe this is a label for a VPN. 0:25:33.160000 --> 0:25:35.340000 Once again, it's not the last label. 0:25:35.340000 --> 0:25:37.680000 So it's not at the bottom of the stack. 0:25:37.680000 --> 0:25:40.040000 This is the last label. 0:25:40.040000 --> 0:25:45.420000 And so the bottom of stack indicator is a one. 0:25:45.420000 --> 0:25:50.780000 So a lot of stuff to learn, but for the CCNA purposes, this pretty much 0:25:50.780000 --> 0:25:55.040000 covers everything you need to know about MPLS. 0:25:55.040000 --> 0:25:58.640000 So thank you for watching this video, and I hope it was useful.