1 00:00:00,000 --> 00:00:02,856 [MUSIC PLAYING] 2 00:00:02,856 --> 00:00:08,100 3 00:00:08,100 --> 00:00:11,250 So let's start off with a nice introduction 4 00:00:11,250 --> 00:00:14,580 to some of the attributes of Label Distribution 5 00:00:14,580 --> 00:00:17,430 Protocol, or LDP. 6 00:00:17,430 --> 00:00:21,000 Now, as we've discussed, LDP is used 7 00:00:21,000 --> 00:00:26,460 to exchange labels between our LSRs, the Label Switch Routers. 8 00:00:26,460 --> 00:00:28,620 The reason, of course, we need to do this, 9 00:00:28,620 --> 00:00:31,440 is that the labels generated on a router 10 00:00:31,440 --> 00:00:33,840 are not used by that router. 11 00:00:33,840 --> 00:00:36,960 Those labels are used by the neighbors 12 00:00:36,960 --> 00:00:40,360 to send traffic to this LSR. 13 00:00:40,360 --> 00:00:42,510 Therefore, we need a reliable method 14 00:00:42,510 --> 00:00:44,280 to exchange those labels. 15 00:00:44,280 --> 00:00:46,900 That's, of course, where LSR comes in. 16 00:00:46,900 --> 00:00:49,470 So let's go ahead and jump in, and get 17 00:00:49,470 --> 00:00:53,330 started by looking at some of its attributes. 18 00:00:53,330 --> 00:00:58,750 So keeping in mind that those MPLS labels are locally 19 00:00:58,750 --> 00:01:01,510 significant to the router, we have 20 00:01:01,510 --> 00:01:04,250 to get the labels to our neighbors. 21 00:01:04,250 --> 00:01:10,210 So first, keep in mind that a label, by default, is created 22 00:01:10,210 --> 00:01:12,860 for every IP destination. 23 00:01:12,860 --> 00:01:17,170 And again, for this, it's going to use the RIB, the Routing 24 00:01:17,170 --> 00:01:20,050 Information Base, or the routing table. 25 00:01:20,050 --> 00:01:23,620 Neighbors actually use these labels 26 00:01:23,620 --> 00:01:27,080 to forward the traffic to their neighbors. 27 00:01:27,080 --> 00:01:30,430 So in order to do that, these labels 28 00:01:30,430 --> 00:01:34,780 are going to have to be known specifically by the directly 29 00:01:34,780 --> 00:01:36,410 connected neighbors. 30 00:01:36,410 --> 00:01:38,540 They don't have to go past that. 31 00:01:38,540 --> 00:01:42,340 But we have to know all of the labels that are being generated 32 00:01:42,340 --> 00:01:43,870 by our neighbors. 33 00:01:43,870 --> 00:01:47,470 Because when we forward traffic to that neighbor going 34 00:01:47,470 --> 00:01:49,780 to a specific destination, we need 35 00:01:49,780 --> 00:01:52,690 to use its designated label. 36 00:01:52,690 --> 00:01:56,470 This is, of course, where LDP comes into play. 37 00:01:56,470 --> 00:01:59,350 It's used to exchange these labels, 38 00:01:59,350 --> 00:02:03,100 specifically that we're using for IP forwarding. 39 00:02:03,100 --> 00:02:06,910 We've discussed previously that there are different protocols 40 00:02:06,910 --> 00:02:10,840 used for other applications, such as VPN and traffic 41 00:02:10,840 --> 00:02:11,810 engineering. 42 00:02:11,810 --> 00:02:15,100 But for IP forwarding, we use LDP. 43 00:02:15,100 --> 00:02:17,830 Now, here's the interesting thing. 44 00:02:17,830 --> 00:02:24,060 Routing protocols could have been used instead. 45 00:02:24,060 --> 00:02:26,970 Why do I say that's such an interesting concept? 46 00:02:26,970 --> 00:02:28,980 Well, think about this for a moment. 47 00:02:28,980 --> 00:02:32,190 Our routing protocols already run between directly connected 48 00:02:32,190 --> 00:02:33,000 neighbors. 49 00:02:33,000 --> 00:02:38,250 So LDP is really just adding another protocol into the mix. 50 00:02:38,250 --> 00:02:40,560 To a certain extent, it's one more thing 51 00:02:40,560 --> 00:02:42,570 to break on our network, right? 52 00:02:42,570 --> 00:02:46,530 But the reason that it was done, at least originally, 53 00:02:46,530 --> 00:02:52,440 is it's a lot easier to make a new protocol to do a new task 54 00:02:52,440 --> 00:02:56,280 than it is to modify all of these existing routing 55 00:02:56,280 --> 00:02:58,890 protocols, get everybody's code up 56 00:02:58,890 --> 00:03:02,260 to date on all of the updates, and all that kind of thing. 57 00:03:02,260 --> 00:03:07,080 However, time has passed since all of this was done. 58 00:03:07,080 --> 00:03:09,930 Now, it's obviously not our current topic. 59 00:03:09,930 --> 00:03:14,340 But in this course, we will be covering segment routing. 60 00:03:14,340 --> 00:03:16,800 And in segment routing, we, in fact, 61 00:03:16,800 --> 00:03:20,430 do use the routing protocols to exchange the labels. 62 00:03:20,430 --> 00:03:23,790 So just so we're clear, it can, of course, be done. 63 00:03:23,790 --> 00:03:25,840 I just mentioned that. 64 00:03:25,840 --> 00:03:29,070 But we're going to focus on LDP here first. 65 00:03:29,070 --> 00:03:33,510 And I guess we could call it traditional MPLS forwarding. 66 00:03:33,510 --> 00:03:36,990 And again, I just summarized this whole last point here, 67 00:03:36,990 --> 00:03:41,970 that, yeah, a separate protocol was chosen in order to minimize 68 00:03:41,970 --> 00:03:45,300 the changes needed to the IGPs. 69 00:03:45,300 --> 00:03:48,450 And again, it wasn't necessarily that we didn't want to do it. 70 00:03:48,450 --> 00:03:51,150 Because again, ultimately, we sort of did. 71 00:03:51,150 --> 00:03:54,420 It's just, it's a lot quicker to create a new protocol 72 00:03:54,420 --> 00:03:56,280 to do something when you're trying 73 00:03:56,280 --> 00:03:58,940 to create a new technology. 74 00:03:58,940 --> 00:04:01,180 Now, LDP is a standard. 75 00:04:01,180 --> 00:04:05,080 It's referenced in RFC 3036. 76 00:04:05,080 --> 00:04:10,270 This actually replaces Cisco's proprietary Tag Distribution 77 00:04:10,270 --> 00:04:14,100 Protocol, or TDP. 78 00:04:14,100 --> 00:04:15,750 Just as a quick note here. 79 00:04:15,750 --> 00:04:19,649 Some devices do actually still support TDP. 80 00:04:19,649 --> 00:04:20,610 It still works. 81 00:04:20,610 --> 00:04:22,019 It still functions. 82 00:04:22,019 --> 00:04:23,940 You could still use it. 83 00:04:23,940 --> 00:04:26,460 They are not, however, compatible. 84 00:04:26,460 --> 00:04:29,410 They operate on different port numbers, and so on. 85 00:04:29,410 --> 00:04:31,420 They're not compatible with each other, 86 00:04:31,420 --> 00:04:33,990 but they do an equivalent job. 87 00:04:33,990 --> 00:04:35,490 Needless to say though, we should 88 00:04:35,490 --> 00:04:37,750 be using the standard today. 89 00:04:37,750 --> 00:04:39,990 Now, what's interesting about LDP 90 00:04:39,990 --> 00:04:43,890 is it uses both UDP and TCP. 91 00:04:43,890 --> 00:04:47,070 We'll see this in our traffic captures later. 92 00:04:47,070 --> 00:04:50,970 Although, it does use the same port on both protocols. 93 00:04:50,970 --> 00:04:53,910 And as we've mentioned, this is generally 94 00:04:53,910 --> 00:04:56,910 used on directly connected neighbors. 95 00:04:56,910 --> 00:04:59,830 In which case, it uses multicast. 96 00:04:59,830 --> 00:05:05,580 However, it can be targeted to go to routed neighbors. 97 00:05:05,580 --> 00:05:07,930 We can use this for a variety of reasons. 98 00:05:07,930 --> 00:05:09,660 And we'll talk about some of those 99 00:05:09,660 --> 00:05:12,780 as we move through this skill. 100 00:05:12,780 --> 00:05:16,880 In this video, we just got an introduction to LDP, 101 00:05:16,880 --> 00:05:19,640 or Label Distribution Protocol, which 102 00:05:19,640 --> 00:05:23,210 is what we use to exchange labels between our routers 103 00:05:23,210 --> 00:05:26,180 that are going to be used for IP forwarding. 104 00:05:26,180 --> 00:05:28,460 Now, this is generally used, again, 105 00:05:28,460 --> 00:05:30,320 directly between neighbors. 106 00:05:30,320 --> 00:05:34,490 However, it can be targeted to get to a routed neighbor 107 00:05:34,490 --> 00:05:36,000 if we need to. 108 00:05:36,000 --> 00:05:38,540 Now we have to discuss neighborships. 109 00:05:38,540 --> 00:05:41,400 And that's exactly what we get to do next. 110 00:05:41,400 --> 00:05:45,020 Until then, I hope this has been informative for you, 111 00:05:45,020 --> 00:05:48,130 and I'd like to thank you for viewing. 112 00:05:48,130 --> 00:05:52,000