1 00:00:00,000 --> 00:00:02,838 [MUSIC PLAYING] 2 00:00:02,838 --> 00:00:08,050 3 00:00:08,050 --> 00:00:11,080 So let's begin by jumping in and getting 4 00:00:11,080 --> 00:00:14,440 an introduction to MPLS, the concept, 5 00:00:14,440 --> 00:00:17,900 as far as what it is, why we want it or need it, 6 00:00:17,900 --> 00:00:21,190 and what it brings to the table as far as networking 7 00:00:21,190 --> 00:00:23,630 and supported applications. 8 00:00:23,630 --> 00:00:27,280 Now, this is mostly a service provider topic. 9 00:00:27,280 --> 00:00:30,730 But keep in mind that a lot of large enterprises 10 00:00:30,730 --> 00:00:33,920 use MPLS in their core as well. 11 00:00:33,920 --> 00:00:38,170 Now, if you are already familiar with MPLS, a lot of this 12 00:00:38,170 --> 00:00:41,050 will probably be a little bit of a review. 13 00:00:41,050 --> 00:00:43,060 But review never hurts. 14 00:00:43,060 --> 00:00:45,520 And I want to go over some of the basics 15 00:00:45,520 --> 00:00:50,710 anyway, just because MPLS is a new topic to a lot of people 16 00:00:50,710 --> 00:00:53,330 coming from a route switch background. 17 00:00:53,330 --> 00:00:56,560 So on that note, let's just go ahead and get started 18 00:00:56,560 --> 00:00:59,680 going over some of those MPLS basics, 19 00:00:59,680 --> 00:01:04,750 and talk about what this is really all about. 20 00:01:04,750 --> 00:01:10,920 So at its core, the main idea behind MPLS 21 00:01:10,920 --> 00:01:13,020 is that we want to do our traffic 22 00:01:13,020 --> 00:01:19,110 forwarding using labels, rather than the destination IP 23 00:01:19,110 --> 00:01:20,320 address. 24 00:01:20,320 --> 00:01:22,540 Now, the reason for this, of course, 25 00:01:22,540 --> 00:01:26,670 we're going to build on as we go through this and other videos 26 00:01:26,670 --> 00:01:27,960 and other skills. 27 00:01:27,960 --> 00:01:30,600 But this is the fundamental idea, 28 00:01:30,600 --> 00:01:33,270 is we're going to start using labels. 29 00:01:33,270 --> 00:01:39,480 Now, on many platforms, doing label-based forwarding 30 00:01:39,480 --> 00:01:42,910 actually gives a performance increase. 31 00:01:42,910 --> 00:01:45,030 Now, the reason we're being careful to say 32 00:01:45,030 --> 00:01:48,390 on many platforms, Cisco actually 33 00:01:48,390 --> 00:01:53,070 uses something called CEF, or Cisco Express Forwarding. 34 00:01:53,070 --> 00:01:57,390 With Cisco Express Forwarding, we do our IP forwarding 35 00:01:57,390 --> 00:02:01,170 based on the FIB, or the Forwarding Information Base, 36 00:02:01,170 --> 00:02:05,340 and we do our label switching based on the LFIB, 37 00:02:05,340 --> 00:02:09,180 or the Label Forwarding Information Base. 38 00:02:09,180 --> 00:02:11,730 Now, if those two things sound very similar, 39 00:02:11,730 --> 00:02:13,770 it's because they are. 40 00:02:13,770 --> 00:02:17,520 On a Cisco device, doing IP forwarding 41 00:02:17,520 --> 00:02:21,300 and doing label switching really isn't any difference 42 00:02:21,300 --> 00:02:22,860 in performance. 43 00:02:22,860 --> 00:02:26,620 That's not why we're doing it on a Cisco platform. 44 00:02:26,620 --> 00:02:29,380 So let's get into why we are. 45 00:02:29,380 --> 00:02:32,680 So just to get it in writing, here's what we just said. 46 00:02:32,680 --> 00:02:37,410 Because of CEF, again, there is little to no performance, 47 00:02:37,410 --> 00:02:42,150 probably immeasurable, between using regular IP forwarding 48 00:02:42,150 --> 00:02:44,530 and using MPLS. 49 00:02:44,530 --> 00:02:47,850 Now, because of this, we're clearly 50 00:02:47,850 --> 00:02:51,430 using MPLS for other things. 51 00:02:51,430 --> 00:02:53,520 And just to get a small piece of terminology 52 00:02:53,520 --> 00:02:57,510 out of the way, these devices, or routers, 53 00:02:57,510 --> 00:03:00,540 that are doing label switching, these 54 00:03:00,540 --> 00:03:05,020 are called LSRs, or Label Switch Routers. 55 00:03:05,020 --> 00:03:07,780 So again, just a terminology thing. 56 00:03:07,780 --> 00:03:12,070 But that's what we call these routers once we enable MPLS. 57 00:03:12,070 --> 00:03:14,980 So again, clearly the question becomes, 58 00:03:14,980 --> 00:03:18,120 why are we using MPLS then? 59 00:03:18,120 --> 00:03:21,120 And the answer to that is to support 60 00:03:21,120 --> 00:03:24,220 many other applications. 61 00:03:24,220 --> 00:03:26,340 Now, the first one we list here is 62 00:03:26,340 --> 00:03:28,650 the one we've already been talking about, 63 00:03:28,650 --> 00:03:33,100 IP forwarding, both unicast and multicast. 64 00:03:33,100 --> 00:03:36,390 And again, if this is all we were doing, 65 00:03:36,390 --> 00:03:38,580 there would be no reason whatsoever 66 00:03:38,580 --> 00:03:41,490 to do this on a Cisco platform. 67 00:03:41,490 --> 00:03:44,970 Again, keep in mind, some other vendors 68 00:03:44,970 --> 00:03:50,430 may very well benefit from doing MPLS just for IP forwarding. 69 00:03:50,430 --> 00:03:52,740 But on Cisco, we don't. 70 00:03:52,740 --> 00:03:54,810 It's using the same table structure 71 00:03:54,810 --> 00:03:57,580 and the same forwarding engine for both. 72 00:03:57,580 --> 00:04:01,080 So clearly, we're going to use it for IP forwarding, 73 00:04:01,080 --> 00:04:06,310 but only to go on and add to that these other applications. 74 00:04:06,310 --> 00:04:08,670 What are those applications? 75 00:04:08,670 --> 00:04:11,340 Well, first is traffic engineering-- 76 00:04:11,340 --> 00:04:15,030 and we're going to talk about this in more detail in a few 77 00:04:15,030 --> 00:04:16,140 videos-- 78 00:04:16,140 --> 00:04:20,730 and VPNs, or Virtual Private Networks. 79 00:04:20,730 --> 00:04:26,610 MPLS supports both Layer 2 and Layer 3 VPNs. 80 00:04:26,610 --> 00:04:30,510 As a service provider, we can offer either one of these 81 00:04:30,510 --> 00:04:33,120 to our customers, or of course, both. 82 00:04:33,120 --> 00:04:36,750 And the traffic engineering is really more 83 00:04:36,750 --> 00:04:40,950 for our internal use to optimize the service provider core, 84 00:04:40,950 --> 00:04:45,160 but it's also things we can offer to customers as well. 85 00:04:45,160 --> 00:04:46,890 Now, just a quick note here. 86 00:04:46,890 --> 00:04:48,960 As we're jumping in and just getting 87 00:04:48,960 --> 00:04:51,750 started with MPLS, when we're focusing 88 00:04:51,750 --> 00:04:54,480 on things like the structure, and the labels, 89 00:04:54,480 --> 00:04:57,690 and all this kind of stuff just to sink our teeth in, 90 00:04:57,690 --> 00:05:00,330 we're going to be focusing for right now, just 91 00:05:00,330 --> 00:05:02,100 on the IP forwarding. 92 00:05:02,100 --> 00:05:04,770 Again, it's the fundamental building block 93 00:05:04,770 --> 00:05:06,580 to be able to do the rest of this. 94 00:05:06,580 --> 00:05:09,120 So we're going to start with IP forwarding. 95 00:05:09,120 --> 00:05:11,020 We're just not going to stop there. 96 00:05:11,020 --> 00:05:14,410 We're going to go on to other applications. 97 00:05:14,410 --> 00:05:18,780 Now MPLS itself, is not a routing protocol. 98 00:05:18,780 --> 00:05:21,880 It is a method of forwarding traffic. 99 00:05:21,880 --> 00:05:25,230 So for that IP forwarding, we're still 100 00:05:25,230 --> 00:05:29,670 going to use the IGP for finding our networks, just 101 00:05:29,670 --> 00:05:31,890 like regular traditional routing. 102 00:05:31,890 --> 00:05:34,650 And it will use any IGP. 103 00:05:34,650 --> 00:05:36,360 Because what we're going to do is we're 104 00:05:36,360 --> 00:05:40,840 going to be building MPLS off of the routing table. 105 00:05:40,840 --> 00:05:42,420 And we don't even necessarily have 106 00:05:42,420 --> 00:05:44,700 to learn all of the routes. 107 00:05:44,700 --> 00:05:48,330 Really, only the core routes need to be learned. 108 00:05:48,330 --> 00:05:51,720 Specifically, loopback interfaces. 109 00:05:51,720 --> 00:05:55,140 And mostly, we're talking about on the PE, 110 00:05:55,140 --> 00:05:57,360 or the Provider Edge routers. 111 00:05:57,360 --> 00:06:00,660 This is what we truly need to be able to support. 112 00:06:00,660 --> 00:06:03,960 Particularly when we get to things like VPN, 113 00:06:03,960 --> 00:06:06,180 like we mentioned up here. 114 00:06:06,180 --> 00:06:10,430 And remember how we said that we create a label based 115 00:06:10,430 --> 00:06:12,290 on the routing table? 116 00:06:12,290 --> 00:06:15,080 Since it's based on the routing table, that's 117 00:06:15,080 --> 00:06:18,200 why any IGP is supported, it doesn't 118 00:06:18,200 --> 00:06:21,140 matter how the routing table gets populated. 119 00:06:21,140 --> 00:06:26,180 Once it's populated, we build labels for those routes. 120 00:06:26,180 --> 00:06:28,430 Now, once we've created those labels, 121 00:06:28,430 --> 00:06:31,970 they do have to be exchanged with our neighbors. 122 00:06:31,970 --> 00:06:35,480 We actually don't use our own labels. 123 00:06:35,480 --> 00:06:39,870 Our neighbors use those labels when delivering traffic to us. 124 00:06:39,870 --> 00:06:42,480 So since they get used by our neighbors, 125 00:06:42,480 --> 00:06:44,060 these labels are, of course, going 126 00:06:44,060 --> 00:06:47,310 to have to be exchanged between the routers. 127 00:06:47,310 --> 00:06:49,490 Now, how those labels get exchanged 128 00:06:49,490 --> 00:06:53,090 does depend on the application. 129 00:06:53,090 --> 00:06:55,160 We have something called LDP. 130 00:06:55,160 --> 00:06:57,730 We'll be talking about this in more detail as well. 131 00:06:57,730 --> 00:06:59,480 Well, actually, we'll be talking about all 132 00:06:59,480 --> 00:07:00,840 of these in more detail. 133 00:07:00,840 --> 00:07:05,630 But LDP is really used for the IP forwarding. 134 00:07:05,630 --> 00:07:09,110 We have multi-protocol BGP, which 135 00:07:09,110 --> 00:07:12,800 is used for our Layer 2 and our Layer 3 VPNs. 136 00:07:12,800 --> 00:07:17,340 We have RSVP, which is used for traffic engineering. 137 00:07:17,340 --> 00:07:21,860 So depending what the label is for, based on the application, 138 00:07:21,860 --> 00:07:24,920 it's going to depend on which of these protocols 139 00:07:24,920 --> 00:07:28,220 is actually used to exchange the labels. 140 00:07:28,220 --> 00:07:30,500 Now, as we mentioned, the forwarding 141 00:07:30,500 --> 00:07:34,280 is done using the FIB and the LFIB. 142 00:07:34,280 --> 00:07:37,520 And it really depends on how a packet comes in, 143 00:07:37,520 --> 00:07:41,010 how a packet is going to be sent, which of these tables 144 00:07:41,010 --> 00:07:42,150 we use. 145 00:07:42,150 --> 00:07:47,240 So for example, an IP packet could come in and get 146 00:07:47,240 --> 00:07:49,970 forwarded as an IP packet. 147 00:07:49,970 --> 00:07:53,450 In that case, we would be using the FIB. 148 00:07:53,450 --> 00:07:58,460 An IP packet can come in and have a label imposed on it, 149 00:07:58,460 --> 00:08:01,310 and forwarded as labeled. 150 00:08:01,310 --> 00:08:03,530 Now, the interesting thing about that is it's 151 00:08:03,530 --> 00:08:05,750 still using the FIB. 152 00:08:05,750 --> 00:08:09,170 The FIB is used to impose the label. 153 00:08:09,170 --> 00:08:11,570 The only time we look at the LFIB 154 00:08:11,570 --> 00:08:15,740 is when a labeled packet arrives. 155 00:08:15,740 --> 00:08:20,930 When a labeled packet arrives, we then look at the LFIB, 156 00:08:20,930 --> 00:08:23,750 and really make one of two choices . 157 00:08:23,750 --> 00:08:28,190 Are we going to swap the label with a different label, 158 00:08:28,190 --> 00:08:31,670 and forward it as still labeled? 159 00:08:31,670 --> 00:08:34,940 Or, if that labeled packet arrives, 160 00:08:34,940 --> 00:08:39,740 maybe what we need to do is remove that label, and then 161 00:08:39,740 --> 00:08:42,870 forward it as an IP packet. 162 00:08:42,870 --> 00:08:45,170 Now, depending on the exact situation, 163 00:08:45,170 --> 00:08:47,790 we'll talk more about this later. 164 00:08:47,790 --> 00:08:52,970 But this last option might actually use both tables. 165 00:08:52,970 --> 00:08:55,910 We may have to do a lookup in the LFIB. 166 00:08:55,910 --> 00:09:00,650 And then once it's an IP packet, do another lookup in the FIB 167 00:09:00,650 --> 00:09:02,870 to determine how to forward it. 168 00:09:02,870 --> 00:09:05,700 Again, that depends on the situation. 169 00:09:05,700 --> 00:09:10,040 And we'll talk in more detail about that in upcoming videos 170 00:09:10,040 --> 00:09:11,990 and skills. 171 00:09:11,990 --> 00:09:15,520 So in this video, we just got a quick introduction 172 00:09:15,520 --> 00:09:18,730 to MPLS, the basic concept that we're 173 00:09:18,730 --> 00:09:21,310 forwarding traffic based on labels, 174 00:09:21,310 --> 00:09:24,550 rather than the destination IP address, as well 175 00:09:24,550 --> 00:09:26,420 as the different applications-- 176 00:09:26,420 --> 00:09:31,780 such as Layer 2 and Layer 3 VPN, MPLS traffic engineering-- 177 00:09:31,780 --> 00:09:34,660 that can build on top of our IP forwarding 178 00:09:34,660 --> 00:09:38,150 to bring even more functionality to MPLS. 179 00:09:38,150 --> 00:09:40,750 Now, if we're going to be forwarding traffic using 180 00:09:40,750 --> 00:09:43,690 labels, we probably need to talk a little bit more 181 00:09:43,690 --> 00:09:45,070 about those labels. 182 00:09:45,070 --> 00:09:47,870 And that's exactly what we get to do next. 183 00:09:47,870 --> 00:09:51,250 Until then, I hope this has been informative for you, 184 00:09:51,250 --> 00:09:54,360 and I'd like to thank you for viewing. 185 00:09:54,360 --> 00:09:58,000