1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:12,350 So let's wrap up by looking at topology independent 3 00:00:12,350 --> 00:00:14,210 loop free alternative. 4 00:00:14,210 --> 00:00:16,940 Our main focus here is going to be looking 5 00:00:16,940 --> 00:00:20,300 at the differences between traditional loop 6 00:00:20,300 --> 00:00:23,750 free alternative and topology independent. 7 00:00:23,750 --> 00:00:25,200 What's the difference? 8 00:00:25,200 --> 00:00:26,700 What does that mean? 9 00:00:26,700 --> 00:00:28,970 Keep in mind that the overall idea 10 00:00:28,970 --> 00:00:33,440 behind loop free alternative is that our routing protocol will 11 00:00:33,440 --> 00:00:38,000 have pre-chosen a repair path or a backup path 12 00:00:38,000 --> 00:00:41,610 that it's going to use in the event of a failure. 13 00:00:41,610 --> 00:00:45,770 Now, the problem with loop free alternative, the legacy method, 14 00:00:45,770 --> 00:00:49,980 is it doesn't always find the loop free path. 15 00:00:49,980 --> 00:00:54,020 However, with topology independent, it will. 16 00:00:54,020 --> 00:00:56,010 Now, this is assuming, of course, 17 00:00:56,010 --> 00:00:58,770 that a backup path actually exists. 18 00:00:58,770 --> 00:01:02,690 The other thing we want to do is avoid suboptimal routing. 19 00:01:02,690 --> 00:01:06,140 Traditional LFA in the wrong circumstances 20 00:01:06,140 --> 00:01:08,940 could lead to suboptimal routing. 21 00:01:08,940 --> 00:01:12,330 And one more thing to keep in mind as we jump in here, 22 00:01:12,330 --> 00:01:15,480 we're talking about loop free alternative, 23 00:01:15,480 --> 00:01:21,690 meaning having that backup path ready if there's a failure. 24 00:01:21,690 --> 00:01:26,730 We are not talking about regular routing protocol convergence. 25 00:01:26,730 --> 00:01:29,430 So throughout this video when we say things 26 00:01:29,430 --> 00:01:32,580 like it can't use this path or it won't use that path, 27 00:01:32,580 --> 00:01:36,510 we mean for LFA, in this context. 28 00:01:36,510 --> 00:01:40,740 Of course, if there's a failure, and there's another path, 29 00:01:40,740 --> 00:01:44,490 the routing protocol will find it, it will converge. 30 00:01:44,490 --> 00:01:48,330 We're talking about what paths it will find as a backup 31 00:01:48,330 --> 00:01:51,600 before it has to completely reconverge. 32 00:01:51,600 --> 00:01:54,810 So all of that said, let's go ahead and jump in and take 33 00:01:54,810 --> 00:01:57,540 a more detailed look at topology independent 34 00:01:57,540 --> 00:02:00,420 loop free alternative and how that compares 35 00:02:00,420 --> 00:02:05,570 to traditional or legacy LFA. 36 00:02:05,570 --> 00:02:10,310 So TI-LFA is a resiliency feature 37 00:02:10,310 --> 00:02:14,330 that allows for sub 50 millisecond convergence 38 00:02:14,330 --> 00:02:17,030 because what it does is it calculates 39 00:02:17,030 --> 00:02:21,770 that repair path before a failure actually occurs. 40 00:02:21,770 --> 00:02:26,180 Now, one thing this has over classic or traditional LFA 41 00:02:26,180 --> 00:02:30,410 is this can provide 100% coverage 42 00:02:30,410 --> 00:02:33,950 because it's topology independent. 43 00:02:33,950 --> 00:02:39,410 Classic LFA is, of course topology dependent 44 00:02:39,410 --> 00:02:44,250 and therefore may not always provide a backup path. 45 00:02:44,250 --> 00:02:46,650 Let's take a look at what that means. 46 00:02:46,650 --> 00:02:49,520 So let's bring up a diagram here, and let's 47 00:02:49,520 --> 00:02:52,040 put some costs on these links. 48 00:02:52,040 --> 00:02:58,130 We'll make this one a 10, 10, make this one a 20. 49 00:02:58,130 --> 00:03:01,010 This one will be a 10, and this is 50 00:03:01,010 --> 00:03:05,310 going to be the suboptimal path up here through router 5, 51 00:03:05,310 --> 00:03:08,370 so we'll make that one a cost of 100. 52 00:03:08,370 --> 00:03:10,500 During this whole discussion, we'll 53 00:03:10,500 --> 00:03:13,590 be talking about traffic going from this source 54 00:03:13,590 --> 00:03:15,338 to this destination. 55 00:03:15,338 --> 00:03:17,130 So we're not going to focus on those a lot. 56 00:03:17,130 --> 00:03:19,200 Just keep in mind that that's the traffic 57 00:03:19,200 --> 00:03:20,970 path we're talking about. 58 00:03:20,970 --> 00:03:24,300 We would, of course, normally send this to router 1. 59 00:03:24,300 --> 00:03:27,540 Router 1 would typically send this to router 2 60 00:03:27,540 --> 00:03:29,190 because it's a cost of 10. 61 00:03:29,190 --> 00:03:32,700 And of course, it would then get delivered to the destination. 62 00:03:32,700 --> 00:03:34,320 But the problem, of course, comes 63 00:03:34,320 --> 00:03:38,830 in is what happens when this link goes down. 64 00:03:38,830 --> 00:03:41,160 This is where the question comes in. 65 00:03:41,160 --> 00:03:44,110 Do we have a loop free alternative? 66 00:03:44,110 --> 00:03:46,950 So in this case, let's talk about what 67 00:03:46,950 --> 00:03:50,745 would be happening down here on router 3. 68 00:03:50,745 --> 00:03:53,730 Router 3 would have been going through these two 69 00:03:53,730 --> 00:03:59,700 links with a cost of 10 each for a total cost of 20. 70 00:03:59,700 --> 00:04:02,850 If it had gone across the bottom that, of course, would have 71 00:04:02,850 --> 00:04:05,370 been a cost of 30, and that's not the path 72 00:04:05,370 --> 00:04:06,840 we would have chosen. 73 00:04:06,840 --> 00:04:09,360 The problem is router 3's path would 74 00:04:09,360 --> 00:04:13,570 have been pointing up to router 1 to get to the destination. 75 00:04:13,570 --> 00:04:17,399 So if we tried to use that as an alternative path, 76 00:04:17,399 --> 00:04:20,670 the source would send the traffic to router 1. 77 00:04:20,670 --> 00:04:23,130 Router 1 would send it to router 3. 78 00:04:23,130 --> 00:04:25,980 Router 3 would send it right back up to router 1, 79 00:04:25,980 --> 00:04:28,690 and right there's your routing loop. 80 00:04:28,690 --> 00:04:33,960 So in this example, there's not a loop free alternative 81 00:04:33,960 --> 00:04:36,060 using the classic method. 82 00:04:36,060 --> 00:04:37,980 And that's what we want to address 83 00:04:37,980 --> 00:04:41,130 with topology independent loop free alternative 84 00:04:41,130 --> 00:04:45,120 because we, as humans, can look at this 85 00:04:45,120 --> 00:04:49,320 and see that there's clearly an alternative path where 86 00:04:49,320 --> 00:04:53,830 we could go to 4 and then 2 and then to the destination. 87 00:04:53,830 --> 00:04:56,280 And it's not even that much higher of a cost. 88 00:04:56,280 --> 00:04:58,950 It just would have been a cost of 30. 89 00:04:58,950 --> 00:05:02,750 However, traditional LFA will not address that issue. 90 00:05:02,750 --> 00:05:06,400 That's where TI-LFA can help. 91 00:05:06,400 --> 00:05:09,280 Now TI-LFA can provide protection 92 00:05:09,280 --> 00:05:14,210 for the link, a node, or a shared risk link group, 93 00:05:14,210 --> 00:05:17,350 which is something you as the administrator create to tell 94 00:05:17,350 --> 00:05:19,540 it not to use certain links. 95 00:05:19,540 --> 00:05:22,660 And it does prevent suboptimal routing 96 00:05:22,660 --> 00:05:25,120 because what could have happened here, 97 00:05:25,120 --> 00:05:27,820 we could have possibly chosen to go through this path 98 00:05:27,820 --> 00:05:30,520 through the top through router 5. 99 00:05:30,520 --> 00:05:34,520 That could have possibly been a loop free alternative. 100 00:05:34,520 --> 00:05:38,200 However, that's a really suboptimal path. 101 00:05:38,200 --> 00:05:41,950 So if router 3 did choose to go to router 1, 102 00:05:41,950 --> 00:05:45,580 and router 1 decided to go to router 5, 103 00:05:45,580 --> 00:05:47,950 would the traffic get to the destination? 104 00:05:47,950 --> 00:05:51,910 Yes, most likely, but definitely through a suboptimal path. 105 00:05:51,910 --> 00:05:56,140 This would end up being a cost of 200, 106 00:05:56,140 --> 00:05:59,170 where with TI-LFA using the bottom path, 107 00:05:59,170 --> 00:06:01,090 it only would have been 30. 108 00:06:01,090 --> 00:06:05,530 So even if LFA could have provided this loop free path, 109 00:06:05,530 --> 00:06:09,080 it would have been suboptimal in this topology. 110 00:06:09,080 --> 00:06:12,440 So this is all the things we're trying to avoid. 111 00:06:12,440 --> 00:06:14,380 And the cool thing about this whole thing 112 00:06:14,380 --> 00:06:17,110 is this is a very, very simple operation. 113 00:06:17,110 --> 00:06:22,400 This is all computed by the IGP, so either OSPF or IS-IS. 114 00:06:22,400 --> 00:06:25,300 115 00:06:25,300 --> 00:06:28,450 TI-LFA works by calculating what's 116 00:06:28,450 --> 00:06:32,410 called the post convergence path, the path we're 117 00:06:32,410 --> 00:06:36,610 going to use after the convergence of, well, just 118 00:06:36,610 --> 00:06:38,750 realizing the link is down. 119 00:06:38,750 --> 00:06:42,160 So this is, again, going to be calculated before any failure. 120 00:06:42,160 --> 00:06:43,720 That's the whole point here. 121 00:06:43,720 --> 00:06:49,970 And this path, again, may not actually be an LFA. 122 00:06:49,970 --> 00:06:53,600 Remember that router would have this looping situation going on 123 00:06:53,600 --> 00:06:58,220 over here if this link went down and therefore not really 124 00:06:58,220 --> 00:06:59,420 have an LFA. 125 00:06:59,420 --> 00:07:02,690 But with TI-LFA, the idea is we want 126 00:07:02,690 --> 00:07:05,990 to be able to use this path through the bottom 127 00:07:05,990 --> 00:07:08,400 to get to the destination. 128 00:07:08,400 --> 00:07:11,780 And as we said, with traditional LFA, 129 00:07:11,780 --> 00:07:15,410 this would not be a loop free path. 130 00:07:15,410 --> 00:07:20,540 The way we get around this is we enforce a loop free path 131 00:07:20,540 --> 00:07:23,600 by using the segment list. 132 00:07:23,600 --> 00:07:25,700 Essentially what's happening here 133 00:07:25,700 --> 00:07:30,620 is router 1 is making the decision 134 00:07:30,620 --> 00:07:33,650 to go through routers 3, 4, 2, and then 135 00:07:33,650 --> 00:07:36,980 to the destination, this path across the bottom. 136 00:07:36,980 --> 00:07:41,720 The way we stop router 3 from engaging in this loop 137 00:07:41,720 --> 00:07:44,840 is by using our segment list. 138 00:07:44,840 --> 00:07:48,710 Remember, we tell router 3 to go to router 4. 139 00:07:48,710 --> 00:07:51,930 This is where that source-based routing kicks in 140 00:07:51,930 --> 00:07:55,030 to force this loop free path. 141 00:07:55,030 --> 00:07:57,220 So the real question then becomes, 142 00:07:57,220 --> 00:08:01,320 how does TI-LFA determine this path to begin with? 143 00:08:01,320 --> 00:08:07,320 If legacy LFA can't do it, then how does TI-LFA actually 144 00:08:07,320 --> 00:08:09,870 pull this off? 145 00:08:09,870 --> 00:08:13,710 One of the key factors here is that TI-LFA 146 00:08:13,710 --> 00:08:18,150 uses the concept of two different spaces, the P 147 00:08:18,150 --> 00:08:20,280 space and the Q space. 148 00:08:20,280 --> 00:08:25,260 Both spaces are calculating using pre-convergence paths. 149 00:08:25,260 --> 00:08:29,230 Remember this is all calculated before there is a failure. 150 00:08:29,230 --> 00:08:33,360 The P space is a set of nodes that 151 00:08:33,360 --> 00:08:38,640 are reachable from the point of local repair or the PLR. 152 00:08:38,640 --> 00:08:44,400 In our example, router 1 would be the PLR. 153 00:08:44,400 --> 00:08:46,800 This is the point of local repair. 154 00:08:46,800 --> 00:08:49,330 So let's think about this for a moment. 155 00:08:49,330 --> 00:08:55,980 Which set of nodes are reachable from the point of local repair 156 00:08:55,980 --> 00:08:59,410 without using the protected link? 157 00:08:59,410 --> 00:09:03,750 So let's remember that we were saying this was a cost of 100. 158 00:09:03,750 --> 00:09:05,646 This was 100. 159 00:09:05,646 --> 00:09:12,310 We had a 10, a 10, a 10, and a 20. 160 00:09:12,310 --> 00:09:17,920 So where can the PLR get without using the protected link? 161 00:09:17,920 --> 00:09:20,500 Remember we're focusing on this link right 162 00:09:20,500 --> 00:09:24,170 here as being the link that we're trying to protect. 163 00:09:24,170 --> 00:09:28,540 So where can router 1 get without using that link? 164 00:09:28,540 --> 00:09:30,580 Well, let's think about this. 165 00:09:30,580 --> 00:09:33,220 It can definitely get to router 3. 166 00:09:33,220 --> 00:09:36,550 So router 3 is definitely going to be in the P space. 167 00:09:36,550 --> 00:09:39,505 It's a cost of 10 to get to router 3, 168 00:09:39,505 --> 00:09:41,590 and there's certainly no better path. 169 00:09:41,590 --> 00:09:45,400 If it tried to go from router 1 to router 2 170 00:09:45,400 --> 00:09:49,840 to router 4 to router 3, that would be a cost of 40 171 00:09:49,840 --> 00:09:51,370 to go around that way. 172 00:09:51,370 --> 00:09:53,500 And of course, going up through the top 173 00:09:53,500 --> 00:09:56,150 would definitely not be a better option. 174 00:09:56,150 --> 00:09:59,830 So router 1 can get to router 3, no problem. 175 00:09:59,830 --> 00:10:01,780 That's in the P space. 176 00:10:01,780 --> 00:10:05,560 Router 4 would also be in the P space 177 00:10:05,560 --> 00:10:10,780 because, again, it's 10 and 10 to go through the bottom, where 178 00:10:10,780 --> 00:10:15,310 it would be 10 and 20 to go through the protected link. 179 00:10:15,310 --> 00:10:18,460 So it wouldn't choose to go through the protected link. 180 00:10:18,460 --> 00:10:21,370 And we could say the same thing about router 5. 181 00:10:21,370 --> 00:10:25,090 Yes, it's a cost of 100 to get to router 5, 182 00:10:25,090 --> 00:10:28,150 but going through router 2 through the protected link 183 00:10:28,150 --> 00:10:29,920 would be 110. 184 00:10:29,920 --> 00:10:31,690 That would be even more. 185 00:10:31,690 --> 00:10:33,910 So these are the routers that are 186 00:10:33,910 --> 00:10:36,010 reachable through the P space. 187 00:10:36,010 --> 00:10:39,130 Of course, router 2 is not because router 2 188 00:10:39,130 --> 00:10:42,020 would literally be trying to use the protected link. 189 00:10:42,020 --> 00:10:44,980 So these are the P space routers. 190 00:10:44,980 --> 00:10:47,740 Again, the routers that can be reached 191 00:10:47,740 --> 00:10:52,480 by the point of local repair without using the protected 192 00:10:52,480 --> 00:10:55,950 link using standard metrics. 193 00:10:55,950 --> 00:10:58,490 Next is the Q space. 194 00:10:58,490 --> 00:11:03,320 These are the nodes that can reach the destination 195 00:11:03,320 --> 00:11:06,060 without using the protected link. 196 00:11:06,060 --> 00:11:09,080 So let's go back down to look at our diagram again. 197 00:11:09,080 --> 00:11:11,870 Of course, router 1 can't because it's 198 00:11:11,870 --> 00:11:14,210 going straight across the protected link 199 00:11:14,210 --> 00:11:17,420 to get to router 2 and therefore the destination. 200 00:11:17,420 --> 00:11:22,820 Router 3, well, router 3 would prefer 10 and 10 201 00:11:22,820 --> 00:11:27,290 over 10 and 20, so router 3 would 202 00:11:27,290 --> 00:11:29,400 be using the protected link. 203 00:11:29,400 --> 00:11:33,410 Therefore router 3 is not in the Q space. 204 00:11:33,410 --> 00:11:35,000 Router 4. 205 00:11:35,000 --> 00:11:39,740 Router 4 would, of course, go the path of 20 206 00:11:39,740 --> 00:11:44,520 rather than 10, 20, 30 to go around the other way. 207 00:11:44,520 --> 00:11:48,740 So router 4 is in the Q space. 208 00:11:48,740 --> 00:11:52,430 And then router 5, of course, is going to take the path directly 209 00:11:52,430 --> 00:11:55,950 to router 2 so that would make router 5 in the Q space 210 00:11:55,950 --> 00:11:56,830 as well. 211 00:11:56,830 --> 00:12:01,120 And of course, router 2 goes directly to the destination. 212 00:12:01,120 --> 00:12:04,470 So it's definitely in the Q space. 213 00:12:04,470 --> 00:12:08,190 So once the Q and the P spaces have been defined, 214 00:12:08,190 --> 00:12:10,360 couple things to keep in mind. 215 00:12:10,360 --> 00:12:14,220 First, we can certainly have PQ routers. 216 00:12:14,220 --> 00:12:17,790 This is a router that's in both the P space and the Q space. 217 00:12:17,790 --> 00:12:19,280 And of course, in our example, we 218 00:12:19,280 --> 00:12:21,420 can see that router 5 and router 4 219 00:12:21,420 --> 00:12:24,810 are both in the P and Q spaces. 220 00:12:24,810 --> 00:12:27,990 And then ultimately, the final decision here 221 00:12:27,990 --> 00:12:31,890 is realizing that the packet can then be released 222 00:12:31,890 --> 00:12:35,500 on any router in the Q space. 223 00:12:35,500 --> 00:12:37,500 So essentially what it's going to do 224 00:12:37,500 --> 00:12:40,320 is router 1 is going to look at this and say, OK 225 00:12:40,320 --> 00:12:45,190 the TI-LFA path I could release this on router 4. 226 00:12:45,190 --> 00:12:48,610 I could release it on router 2 as well or router 5. 227 00:12:48,610 --> 00:12:51,670 But router 4 is going to be the best path because it only 228 00:12:51,670 --> 00:12:55,480 costs me 20 to get to router 4. 229 00:12:55,480 --> 00:12:58,910 So it's going to try to go across the bottom. 230 00:12:58,910 --> 00:13:02,440 So ultimately, what this means is the source 231 00:13:02,440 --> 00:13:04,540 sends the update to router 1. 232 00:13:04,540 --> 00:13:08,770 Router 1 sends it to router 3 with the appropriate segment 233 00:13:08,770 --> 00:13:11,350 list on it so that it doesn't loop. 234 00:13:11,350 --> 00:13:14,140 Router 3 sends it to router 4. 235 00:13:14,140 --> 00:13:17,200 Router 4 sends it up to router 2. 236 00:13:17,200 --> 00:13:19,690 Router 2 sends it to the destination, 237 00:13:19,690 --> 00:13:24,130 and we've provided a topology independent loop free path 238 00:13:24,130 --> 00:13:28,150 to the destination without using the protected link. 239 00:13:28,150 --> 00:13:31,600 And again, remember all of this is calculated 240 00:13:31,600 --> 00:13:35,450 before a failure occurs. 241 00:13:35,450 --> 00:13:40,640 In this video, we took a look at topology independent LFA. 242 00:13:40,640 --> 00:13:45,230 And unlike traditional or classic LFA, 243 00:13:45,230 --> 00:13:49,130 TI-LFA will always provide a backup path, 244 00:13:49,130 --> 00:13:51,740 assuming one actually exists. 245 00:13:51,740 --> 00:13:55,590 Of course, if there's a single path, we can't back that up. 246 00:13:55,590 --> 00:13:59,210 But if there is one, TI-LFA will find it 247 00:13:59,210 --> 00:14:03,630 by using these two separate spaces, the P space and the Q 248 00:14:03,630 --> 00:14:08,720 space and then using our source-based segment routing 249 00:14:08,720 --> 00:14:11,330 to get that traffic through the environment 250 00:14:11,330 --> 00:14:15,020 to the necessary router without creating 251 00:14:15,020 --> 00:14:17,780 a loop, which as we demonstrated, 252 00:14:17,780 --> 00:14:21,410 could clearly happen with classic LFA, 253 00:14:21,410 --> 00:14:23,150 and that's why there's not always 254 00:14:23,150 --> 00:14:26,630 a backup path in traditional LFA. 255 00:14:26,630 --> 00:14:28,730 So that wraps up everything that we 256 00:14:28,730 --> 00:14:31,760 need to discuss in this skill, and that 257 00:14:31,760 --> 00:14:35,880 leaves us with just the review in the form of a quiz. 258 00:14:35,880 --> 00:14:38,490 And that's exactly what we're going to do next. 259 00:14:38,490 --> 00:14:41,940 Till then, I hope this has been informative for you, 260 00:14:41,940 --> 00:14:45,050 and I'd like to thank you for viewing. 261 00:14:45,050 --> 00:14:48,000