1 00:00:00,000 --> 00:00:00,960 2 00:00:00,960 --> 00:00:04,320 [AUDIO LOGO] 3 00:00:04,320 --> 00:00:08,160 4 00:00:08,160 --> 00:00:10,980 Now, about that loop. 5 00:00:10,980 --> 00:00:13,440 We already saw that we've created 6 00:00:13,440 --> 00:00:18,300 a routing loop because of our redistribution between OSPF 7 00:00:18,300 --> 00:00:20,220 and IS-IS. 8 00:00:20,220 --> 00:00:22,750 We also talked about the overall problem. 9 00:00:22,750 --> 00:00:25,410 Although, we will review it in just a moment. 10 00:00:25,410 --> 00:00:30,180 The problem is, we have our edge routers, in this case, router 1 11 00:00:30,180 --> 00:00:33,220 and 3, that are not following. 12 00:00:33,220 --> 00:00:35,820 Let's call them our native protocols. 13 00:00:35,820 --> 00:00:38,340 In other words, we have a route that 14 00:00:38,340 --> 00:00:43,470 should be in IS-IS that router is 3 actually learning 15 00:00:43,470 --> 00:00:45,150 from OSPF. 16 00:00:45,150 --> 00:00:48,420 Now, there are many ways to prevent this, 17 00:00:48,420 --> 00:00:51,270 and we're certainly not going to go over all of them. 18 00:00:51,270 --> 00:00:54,630 Most of them involve some form of route filtering. 19 00:00:54,630 --> 00:00:57,840 And we've discussed route filtering quite a bit already. 20 00:00:57,840 --> 00:01:00,340 We can use any of those methods. 21 00:01:00,340 --> 00:01:04,230 However, the most common way to deal with this 22 00:01:04,230 --> 00:01:08,680 is to do route filtering based on route tags. 23 00:01:08,680 --> 00:01:11,790 Now, like I said, there are many other ways to handle this. 24 00:01:11,790 --> 00:01:14,140 But that's the one we're going to focus on here. 25 00:01:14,140 --> 00:01:18,360 So let's bring up our topology-- quick reminder of what it 26 00:01:18,360 --> 00:01:20,430 is we need to block and filter. 27 00:01:20,430 --> 00:01:22,650 And then we'll jump into the command line, 28 00:01:22,650 --> 00:01:27,660 implement our filter, and see how it fixes our loop. 29 00:01:27,660 --> 00:01:31,640 So as a reminder, we have router 8 sending a route to router 7. 30 00:01:31,640 --> 00:01:38,180 Router 7 is then sending this to router 1 and to router 3. 31 00:01:38,180 --> 00:01:41,600 These show up with an administrative distance of 115 32 00:01:41,600 --> 00:01:44,900 because these are from IS-IS. 33 00:01:44,900 --> 00:01:50,670 And then one of the two routers is going to redistribute first. 34 00:01:50,670 --> 00:01:54,270 Truth be told, we don't really know which router it will be. 35 00:01:54,270 --> 00:01:56,310 If they were to reload, the other router 36 00:01:56,310 --> 00:01:57,610 would start doing it. 37 00:01:57,610 --> 00:01:59,790 So our solution that we put in place 38 00:01:59,790 --> 00:02:02,310 is going to have to be on both routers. 39 00:02:02,310 --> 00:02:04,980 In this particular case, it's router 1. 40 00:02:04,980 --> 00:02:07,620 But that's only because we've observed what the routes look 41 00:02:07,620 --> 00:02:09,539 like that we know that. 42 00:02:09,539 --> 00:02:12,150 Again, it could be either router that 43 00:02:12,150 --> 00:02:15,600 learns the route from IS-IS first and redistributes it 44 00:02:15,600 --> 00:02:17,580 into OSPF. 45 00:02:17,580 --> 00:02:23,070 So again, in our example, router 1 redistributes this into OSPF. 46 00:02:23,070 --> 00:02:28,570 And then that route gets learned through OSPF on router 47 00:02:28,570 --> 00:02:34,050 3, which, of course, had an admin distance of 110. 48 00:02:34,050 --> 00:02:38,580 So ultimately, router 3 replaces its IS-IS route 49 00:02:38,580 --> 00:02:43,170 and redistributes the OSPF back into IS-IS, 50 00:02:43,170 --> 00:02:46,650 creating our loop and our route feedback. 51 00:02:46,650 --> 00:02:52,630 What we need to do is stop this feedback from occurring. 52 00:02:52,630 --> 00:02:55,260 The best way to do that is to configure 53 00:02:55,260 --> 00:03:01,650 router 3 to discard this route and not accept it from OSPF. 54 00:03:01,650 --> 00:03:05,875 The most common way to do that is with tags. 55 00:03:05,875 --> 00:03:07,500 Now, the good news is we've already set 56 00:03:07,500 --> 00:03:09,210 ourselves up to do this. 57 00:03:09,210 --> 00:03:11,670 When we configured our redistribution 58 00:03:11,670 --> 00:03:18,060 of IS-IS and OSPF, we set this up to already tag the routes 59 00:03:18,060 --> 00:03:19,800 as 115. 60 00:03:19,800 --> 00:03:23,310 So all we have to do is configure our edge routers, 61 00:03:23,310 --> 00:03:25,980 router 3 to stop the current loop, 62 00:03:25,980 --> 00:03:29,680 router 1 just in case router wins next time. 63 00:03:29,680 --> 00:03:31,680 So again, we want to do this on both. 64 00:03:31,680 --> 00:03:33,570 But we just need to configure these 65 00:03:33,570 --> 00:03:39,630 to not allow routes tagged with 115 to come in to OSPF. 66 00:03:39,630 --> 00:03:44,900 So let's jump into our command line and configure that. 67 00:03:44,900 --> 00:03:46,870 So we'll start here on router 1. 68 00:03:46,870 --> 00:03:50,530 What we need to do is create a route policy. 69 00:03:50,530 --> 00:03:55,060 Let's call it RP_OSPF_FILTER. 70 00:03:55,060 --> 00:04:00,790 What it needs to say is if the tag equals 115 71 00:04:00,790 --> 00:04:03,280 because that's what we're tagging our routes as, 72 00:04:03,280 --> 00:04:07,060 then we want to drop the route. 73 00:04:07,060 --> 00:04:10,450 Else, of course, we want to pass the route. 74 00:04:10,450 --> 00:04:13,970 We'll end our if, and we'll end our policy. 75 00:04:13,970 --> 00:04:16,850 Then all we have to do is apply the filter. 76 00:04:16,850 --> 00:04:20,440 So we'll go into our address-family under OSPF 1. 77 00:04:20,440 --> 00:04:23,480 We'll apply this as a distribute-list. 78 00:04:23,480 --> 00:04:29,590 So simply say distribute-list route-policy RP_OSPF_FILTER, 79 00:04:29,590 --> 00:04:32,050 and that will be in. 80 00:04:32,050 --> 00:04:37,300 We'll commit those changes and exit configuration. 81 00:04:37,300 --> 00:04:39,690 Now, remember, the problem isn't really here. 82 00:04:39,690 --> 00:04:43,860 This is just putting in the solution on router 1 in case 83 00:04:43,860 --> 00:04:47,100 the problem were to flip-flop in the event of maybe 84 00:04:47,100 --> 00:04:50,130 routers reloading or something along those lines. 85 00:04:50,130 --> 00:04:53,130 What we really need to do is put this on router 3. 86 00:04:53,130 --> 00:04:56,160 And as we do so, let's investigate a little bit more 87 00:04:56,160 --> 00:05:00,300 what's going on router 3 before we just throw the solution on. 88 00:05:00,300 --> 00:05:05,220 So over on router 3, let's just start with a show ip route 89 00:05:05,220 --> 00:05:06,960 isis. 90 00:05:06,960 --> 00:05:11,520 Notice, we're not getting any routes from IS-IS. 91 00:05:11,520 --> 00:05:15,030 This is because if I say show ip route ospf, 92 00:05:15,030 --> 00:05:20,460 I'm literally learning about the entire network from OSPF. 93 00:05:20,460 --> 00:05:23,520 Of course, router 3 being an edge router, 94 00:05:23,520 --> 00:05:27,000 it shouldn't be learning everything from OSPF. 95 00:05:27,000 --> 00:05:29,200 This is entirely the problem. 96 00:05:29,200 --> 00:05:31,530 So now, let's go ahead and put our filter in. 97 00:05:31,530 --> 00:05:33,540 Since we've already seen the filter, 98 00:05:33,540 --> 00:05:36,400 we'll just go ahead and copy and paste it. 99 00:05:36,400 --> 00:05:38,880 So again, we're just pasting that exact same policy here 100 00:05:38,880 --> 00:05:40,150 on router 3. 101 00:05:40,150 --> 00:05:43,980 We'll give it just a moment for the protocols to converge. 102 00:05:43,980 --> 00:05:47,160 We can check it by doing a show ip route isis. 103 00:05:47,160 --> 00:05:49,690 And let's see if we have any routes now. 104 00:05:49,690 --> 00:05:52,350 So we can see that we are now learning some of the routes 105 00:05:52,350 --> 00:05:56,040 from IS-IS, which is good. 106 00:05:56,040 --> 00:05:58,320 Again, keep in mind, we're only going 107 00:05:58,320 --> 00:06:03,750 to be learning the routes from IS-IS that are tagged as 115. 108 00:06:03,750 --> 00:06:08,910 So we'll still be getting some of the other routes from OSPF. 109 00:06:08,910 --> 00:06:11,340 So if we do a show ip route ospf, 110 00:06:11,340 --> 00:06:14,250 we can see that we still have a large number of routes here. 111 00:06:14,250 --> 00:06:16,360 Some of them even being externals. 112 00:06:16,360 --> 00:06:18,870 So some of those are coming from the EIGRP. 113 00:06:18,870 --> 00:06:22,410 And some of those are coming from the RIP domain, in fact. 114 00:06:22,410 --> 00:06:25,990 But let's go ahead and check our loop again now. 115 00:06:25,990 --> 00:06:28,350 So if we go over to router 5, remember 116 00:06:28,350 --> 00:06:32,460 that this is the original test that we saw of a loop on. 117 00:06:32,460 --> 00:06:35,940 What we see here is now that we've implemented our solution, 118 00:06:35,940 --> 00:06:39,780 not only do we not have a loop, but we're also 119 00:06:39,780 --> 00:06:43,980 properly multipathing through both edge routers. 120 00:06:43,980 --> 00:06:48,330 The first hop, of course, is going between routers 2 and 4. 121 00:06:48,330 --> 00:06:53,340 And then number 2, we can see we're using both edges. 122 00:06:53,340 --> 00:06:58,410 It's going through router 3 and router 1 on that second hop. 123 00:06:58,410 --> 00:07:00,210 Now, of course, the third half, ultimately, 124 00:07:00,210 --> 00:07:01,560 just goes to router 7. 125 00:07:01,560 --> 00:07:03,840 And then, of course, the fourth to router 8 126 00:07:03,840 --> 00:07:06,630 because there's no multipathing on that side of the network. 127 00:07:06,630 --> 00:07:11,870 But our OSPF environment is now multipathing correctly. 128 00:07:11,870 --> 00:07:16,180 So in this video, we explored the most popular way 129 00:07:16,180 --> 00:07:18,860 to solve routing loop issues. 130 00:07:18,860 --> 00:07:21,190 Now, as I mentioned during the introduction, 131 00:07:21,190 --> 00:07:23,480 there are other ways to filter. 132 00:07:23,480 --> 00:07:25,450 There are some other ways you can do things, 133 00:07:25,450 --> 00:07:28,510 like using split administrative distance where 134 00:07:28,510 --> 00:07:32,090 your internal routes have a lower administrative distance. 135 00:07:32,090 --> 00:07:35,820 And your external routes have a higher administrative distance. 136 00:07:35,820 --> 00:07:39,580 EIGRP, for example, does that by default. 137 00:07:39,580 --> 00:07:41,980 OSPF is also capable of doing it. 138 00:07:41,980 --> 00:07:44,240 Although, it's not enabled by default. 139 00:07:44,240 --> 00:07:46,540 The only problem with solutions like that 140 00:07:46,540 --> 00:07:50,650 is they really only work if they're on the network edge. 141 00:07:50,650 --> 00:07:55,510 They cannot be a transit domain for our routing and have 142 00:07:55,510 --> 00:07:57,530 the split admin distance work. 143 00:07:57,530 --> 00:08:00,490 One of the advantages to doing tags like this 144 00:08:00,490 --> 00:08:03,850 is with a proper design, this will always 145 00:08:03,850 --> 00:08:05,680 solve your routing loops. 146 00:08:05,680 --> 00:08:08,890 And as you can see, when we solve those loops, 147 00:08:08,890 --> 00:08:11,350 we can also pick up multipathing. 148 00:08:11,350 --> 00:08:15,640 So that concludes everything we need to discuss in this skill. 149 00:08:15,640 --> 00:08:18,520 That leaves us with just a review 150 00:08:18,520 --> 00:08:22,220 in the form of a quiz, which we're going to do next. 151 00:08:22,220 --> 00:08:23,300 Until then. 152 00:08:23,300 --> 00:08:25,450 I hope this has been informative for you, 153 00:08:25,450 --> 00:08:28,500 and I'd like to thank you for viewing. 154 00:08:28,500 --> 00:08:32,000