1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:11,270 So let's jump in and get started by configuring 3 00:00:11,270 --> 00:00:17,190 IS-IS, which is our core IGP to support segment routing. 4 00:00:17,190 --> 00:00:21,140 Now, we already have IS-IS set up and configured, 5 00:00:21,140 --> 00:00:23,990 and we will spend a little bit of time exploring 6 00:00:23,990 --> 00:00:27,680 that environment so we can see what's happening by default 7 00:00:27,680 --> 00:00:30,620 on our different platforms before we jump in 8 00:00:30,620 --> 00:00:33,170 and actually start configuring segment routing. 9 00:00:33,170 --> 00:00:35,180 But then, of course, the main focus 10 00:00:35,180 --> 00:00:39,390 here is going to be to configure IS-IS for segment routing. 11 00:00:39,390 --> 00:00:43,340 Now, if your environment uses OSPF, don't worry, 12 00:00:43,340 --> 00:00:47,370 we're going to do OSPF at the end of this section as well. 13 00:00:47,370 --> 00:00:49,640 But we're going to start with IS-IS. 14 00:00:49,640 --> 00:00:51,630 So let's go ahead and get started. 15 00:00:51,630 --> 00:00:53,550 We'll bring up our topology first 16 00:00:53,550 --> 00:00:55,430 so we know which topology we're using 17 00:00:55,430 --> 00:00:57,590 and how things are set up and laid out. 18 00:00:57,590 --> 00:00:59,450 And then we'll jump into that command line, 19 00:00:59,450 --> 00:01:05,150 and we'll get IS-IS configured for segment routing. 20 00:01:05,150 --> 00:01:09,850 So for this skill, we're going to be back on MPLS topology 1. 21 00:01:09,850 --> 00:01:13,070 And we're going to be focusing on, of course, 22 00:01:13,070 --> 00:01:16,120 the core of our network, but understand 23 00:01:16,120 --> 00:01:19,840 that all of the devices are running IS-IS. 24 00:01:19,840 --> 00:01:22,900 So we'll be doing a lot of testing, for example, 25 00:01:22,900 --> 00:01:28,780 from router 6 to router 5's loopback so we can see what 26 00:01:28,780 --> 00:01:30,860 the labels are doing And so on. 27 00:01:30,860 --> 00:01:33,340 So even though all of the devices 28 00:01:33,340 --> 00:01:36,100 are going to be running IS-IS and then, 29 00:01:36,100 --> 00:01:41,290 later, OSPF, it is still only the devices here in our core 30 00:01:41,290 --> 00:01:44,560 that are actually running MPLS and will 31 00:01:44,560 --> 00:01:46,220 be doing segment routing. 32 00:01:46,220 --> 00:01:50,470 So that said, let's go ahead and jump into the command line. 33 00:01:50,470 --> 00:01:53,530 Like I said, we'll start by doing some observations 34 00:01:53,530 --> 00:01:58,120 about what's currently going on in the environment. 35 00:01:58,120 --> 00:02:00,960 So let's start here on router 6 by tracing 36 00:02:00,960 --> 00:02:02,580 to router 5's loopback. 37 00:02:02,580 --> 00:02:05,680 We'll source it from our own loopback interface. 38 00:02:05,680 --> 00:02:07,470 So what we want to observe here-- 39 00:02:07,470 --> 00:02:09,970 first, of course, we have connectivity. 40 00:02:09,970 --> 00:02:12,270 So this connection is working. 41 00:02:12,270 --> 00:02:15,420 Then, notice on the second hop, we're 42 00:02:15,420 --> 00:02:17,640 actually using an MPLS label. 43 00:02:17,640 --> 00:02:21,540 In this particular case, it's 24,009. 44 00:02:21,540 --> 00:02:25,650 Now, if we remember, 24,000 and up 45 00:02:25,650 --> 00:02:30,120 on iOS XR, which is what router 4 is running, 46 00:02:30,120 --> 00:02:33,280 that is part of the dynamic label range. 47 00:02:33,280 --> 00:02:39,120 So this is not using labels from the SRGB, or the Segment 48 00:02:39,120 --> 00:02:41,010 Routing Global Block. 49 00:02:41,010 --> 00:02:44,600 We could verify this on router 1 as well. 50 00:02:44,600 --> 00:02:47,100 Couple of things we could look at here-- we could do a show 51 00:02:47,100 --> 00:02:49,570 MPLS forwarding table. 52 00:02:49,570 --> 00:02:52,090 What we're looking for here is, of course, 53 00:02:52,090 --> 00:02:58,060 going to the 10.5..5.5/32, we see that it's actually doing 54 00:02:58,060 --> 00:03:04,180 equal cost multipathing, and it's using either label 24,009 55 00:03:04,180 --> 00:03:09,160 as it goes towards router 4, out gigabit 0002, 56 00:03:09,160 --> 00:03:16,450 or it's using 24,006 towards router 3, out gigabit 0001. 57 00:03:16,450 --> 00:03:19,240 But whichever path it takes, it does still 58 00:03:19,240 --> 00:03:23,360 have a label coming from the dynamic range. 59 00:03:23,360 --> 00:03:27,940 If we look at the show MPLS label table detail, what 60 00:03:27,940 --> 00:03:32,050 we see here is that we have many labels in use, most of them, 61 00:03:32,050 --> 00:03:36,880 aside from reserved labels, are above the 24,000 mark. 62 00:03:36,880 --> 00:03:38,110 So we have some here-- 63 00:03:38,110 --> 00:03:42,780 24,003, 24,004, and so on. 64 00:03:42,780 --> 00:03:45,170 But notice for all of these prefixes, 65 00:03:45,170 --> 00:03:48,470 they're currently all out of the dynamic range. 66 00:03:48,470 --> 00:03:53,000 We can also verify that if we do a show MPLS label range, 67 00:03:53,000 --> 00:03:56,900 we can see here that the default range for dynamic labels 68 00:03:56,900 --> 00:03:59,710 starts at 24,000. 69 00:03:59,710 --> 00:04:04,510 So if you remember from previous skills, on iOS XR, 70 00:04:04,510 --> 00:04:10,450 the default dynamic range for labels is 24,000 plus. 71 00:04:10,450 --> 00:04:13,030 And we can see that here represented on the command 72 00:04:13,030 --> 00:04:13,730 line. 73 00:04:13,730 --> 00:04:16,480 But if we jump over to iOS XE, we'll 74 00:04:16,480 --> 00:04:19,519 see it doesn't operate exactly the same way. 75 00:04:19,519 --> 00:04:21,820 So let's jump over to router 5. 76 00:04:21,820 --> 00:04:24,700 We'll do a show MPLS forwarding table. 77 00:04:24,700 --> 00:04:27,610 Notice that all of the local labels 78 00:04:27,610 --> 00:04:32,560 here are starting at label 16 and going up. 79 00:04:32,560 --> 00:04:36,340 The outgoing labels, of course, from the other routers, which 80 00:04:36,340 --> 00:04:42,670 are all running iOS XR, are in that 24,000 plus range. 81 00:04:42,670 --> 00:04:45,940 We can, of course, verify that with a show MPLS label range 82 00:04:45,940 --> 00:04:46,760 as well. 83 00:04:46,760 --> 00:04:49,840 And we see that the downstream generic label 84 00:04:49,840 --> 00:04:52,720 region, which is, essentially, the dynamic range, 85 00:04:52,720 --> 00:04:54,640 starts at 16. 86 00:04:54,640 --> 00:04:57,220 So we see that this is the default behavior 87 00:04:57,220 --> 00:05:00,930 before we begin to implement segment routing. 88 00:05:00,930 --> 00:05:04,430 So now that we've observed how it acts before segment routing, 89 00:05:04,430 --> 00:05:07,610 let's go ahead and get started with our actual configuration 90 00:05:07,610 --> 00:05:10,550 of IS-IS to support segment routing. 91 00:05:10,550 --> 00:05:13,120 We'll just start on router 1. 92 00:05:13,120 --> 00:05:15,610 So we'll go into configuration mode 93 00:05:15,610 --> 00:05:21,670 into router IS 1, into our address family IPv4 unicast. 94 00:05:21,670 --> 00:05:24,520 And all we have to do is configure segment 95 00:05:24,520 --> 00:05:27,040 routing for MPLS. 96 00:05:27,040 --> 00:05:31,400 We'll commit those changes, and we'll exit configuration. 97 00:05:31,400 --> 00:05:33,880 So now that we've done that, let's see 98 00:05:33,880 --> 00:05:38,260 if IS-IS is now using the SRGB. 99 00:05:38,260 --> 00:05:39,430 So let's do a show-- 100 00:05:39,430 --> 00:05:42,310 MPLS label table detail. 101 00:05:42,310 --> 00:05:44,770 And what we're looking for is right here, 102 00:05:44,770 --> 00:05:50,470 where we see that the label 16,000 is IS-IS. 103 00:05:50,470 --> 00:05:54,790 And notice the label block is even listed as SRGB. 104 00:05:54,790 --> 00:05:58,270 We see that starting label of 16,000, 105 00:05:58,270 --> 00:06:03,640 with a size of 8,000, meaning that it will go up to 23,999. 106 00:06:03,640 --> 00:06:08,170 So here, we can see that SRGB being implemented here and tied 107 00:06:08,170 --> 00:06:13,790 to IS-IS just by configuring IS-IS to use segment routing. 108 00:06:13,790 --> 00:06:15,730 Let's go ahead and configure router 3. 109 00:06:15,730 --> 00:06:18,800 It's the exact same configuration. 110 00:06:18,800 --> 00:06:23,270 And we can see if we look at our show, MPLS label table detail, 111 00:06:23,270 --> 00:06:27,470 that it has assigned the block on this router as well. 112 00:06:27,470 --> 00:06:30,120 Routers 2 and 4 will be exactly the same, 113 00:06:30,120 --> 00:06:33,000 so this time we'll just paste the configuration. 114 00:06:33,000 --> 00:06:38,540 So there's the configuration on router 2 and on router 4. 115 00:06:38,540 --> 00:06:41,270 This, of course, still leaves iOS XE 116 00:06:41,270 --> 00:06:43,970 to configure on router 5. 117 00:06:43,970 --> 00:06:46,800 IOS XE is almost the same. 118 00:06:46,800 --> 00:06:49,730 However, it does have a requirement 119 00:06:49,730 --> 00:06:55,290 to actually enable this under global configuration first. 120 00:06:55,290 --> 00:06:57,410 So we can see that it's now enable 121 00:06:57,410 --> 00:06:59,630 segment routing globally. 122 00:06:59,630 --> 00:07:03,650 Now, what we can do is go into router IS-IS 1. 123 00:07:03,650 --> 00:07:06,170 And it's actually just the same command here, 124 00:07:06,170 --> 00:07:09,380 we just do segment routing MPLS again. 125 00:07:09,380 --> 00:07:11,850 And we can exit configuration. 126 00:07:11,850 --> 00:07:13,490 So if this has been successful, we 127 00:07:13,490 --> 00:07:15,950 can do some verification commands here. 128 00:07:15,950 --> 00:07:20,420 We'll do show segment routing, MPLS state. 129 00:07:20,420 --> 00:07:23,030 This, of course, tells us that it's enabled, 130 00:07:23,030 --> 00:07:26,270 much like the console message did when we turned it on. 131 00:07:26,270 --> 00:07:30,243 We can also do GB to see the global block. 132 00:07:30,243 --> 00:07:31,910 And here, we can see that now that we've 133 00:07:31,910 --> 00:07:37,100 enable segment routing, the SRGB uses those same default values, 134 00:07:37,100 --> 00:07:40,370 16,000 to 23,999. 135 00:07:40,370 --> 00:07:45,570 And now, they're actually reserved here on iOS XE. 136 00:07:45,570 --> 00:07:48,660 If we do the show MPLS label range again, 137 00:07:48,660 --> 00:07:51,970 notice that it didn't change the dynamic range. 138 00:07:51,970 --> 00:07:56,130 However, it now has a range of 16,000 139 00:07:56,130 --> 00:08:03,750 through 23,999, now permitted to be used by IS-IS, OSPF, and BGP 140 00:08:03,750 --> 00:08:04,800 segment routing. 141 00:08:04,800 --> 00:08:09,070 But, of course, we've only enabled IS-IS so far. 142 00:08:09,070 --> 00:08:12,850 If we look at the show IS-IS segment routing global block, 143 00:08:12,850 --> 00:08:15,130 we can see here that we've learned 144 00:08:15,130 --> 00:08:17,410 the global block's being used by all 145 00:08:17,410 --> 00:08:19,340 of the other routers in our system. 146 00:08:19,340 --> 00:08:22,750 So IS-IS is passing that information correctly. 147 00:08:22,750 --> 00:08:25,030 And we see that here on router 5, 148 00:08:25,030 --> 00:08:30,580 we're also using the 16,000 with a range of 8,000. 149 00:08:30,580 --> 00:08:36,470 So now, IS-IS is configured to support segment routing. 150 00:08:36,470 --> 00:08:41,179 In this video, we took a look at how to configure IS-IS 151 00:08:41,179 --> 00:08:45,260 to support segment routing, which really is just a matter 152 00:08:45,260 --> 00:08:48,950 of enabling the feature under the routing process-- 153 00:08:48,950 --> 00:08:52,760 except on iOS XE, where, of course, we have to enable it 154 00:08:52,760 --> 00:08:54,090 globally as well. 155 00:08:54,090 --> 00:08:57,170 But other than that, this is not a very difficult process 156 00:08:57,170 --> 00:09:00,092 to configure, so this is now up and running. 157 00:09:00,092 --> 00:09:01,800 The next thing we're going to have to do, 158 00:09:01,800 --> 00:09:06,470 however, is configure prefixes with prefix sids. 159 00:09:06,470 --> 00:09:10,100 Because as of right now, we're not really putting anything 160 00:09:10,100 --> 00:09:11,390 into segment routing. 161 00:09:11,390 --> 00:09:13,740 There are no prefix sids yet. 162 00:09:13,740 --> 00:09:15,660 So that's what we're going to do next. 163 00:09:15,660 --> 00:09:19,010 Until then, I hope this has been informative for you, 164 00:09:19,010 --> 00:09:22,120 and I'd like to thank you for viewing. 165 00:09:22,120 --> 00:09:25,000