1 00:00:00,000 --> 00:00:07,150 2 00:00:07,150 --> 00:00:13,570 So now that we know a bit about both IS-IS and IPv6, now 3 00:00:13,570 --> 00:00:15,580 it's time to jump in and take a look 4 00:00:15,580 --> 00:00:22,450 at what had to be modified in IS-IS in order to support IPv6. 5 00:00:22,450 --> 00:00:25,690 And well, really therefore what the current requirements 6 00:00:25,690 --> 00:00:30,170 are in order for us to support IPv6 in our environment. 7 00:00:30,170 --> 00:00:34,690 So let's jump in and take a look at those details. 8 00:00:34,690 --> 00:00:37,980 So as it's implied since we're discussing it, 9 00:00:37,980 --> 00:00:44,730 IS-IS, of course, can support not only IPv4 but also IPv6, 10 00:00:44,730 --> 00:00:48,960 and of course, we can do both at the same time. 11 00:00:48,960 --> 00:00:53,050 Technically, we can also support CLNS at the same time. 12 00:00:53,050 --> 00:00:56,170 But that's not really a topic of concern right now. 13 00:00:56,170 --> 00:01:01,620 Now, in order to do this, we did add two new type length 14 00:01:01,620 --> 00:01:04,800 values to IS-IS. 15 00:01:04,800 --> 00:01:08,790 And this, by the way, is one of the big advantages to IS-IS 16 00:01:08,790 --> 00:01:11,550 when we talk about its extensibility 17 00:01:11,550 --> 00:01:15,210 that it's real easy to add new protocols, 18 00:01:15,210 --> 00:01:18,570 we just have to add new TLVs. 19 00:01:18,570 --> 00:01:20,880 Well, the first TLV that we added 20 00:01:20,880 --> 00:01:27,210 is TLV 236 which is called IPv6 Reachability. 21 00:01:27,210 --> 00:01:33,720 And as the name implies, this is going to handle IPv6 network 22 00:01:33,720 --> 00:01:36,060 reachability specifically. 23 00:01:36,060 --> 00:01:39,270 This is the equivalent to some of the TLVs 24 00:01:39,270 --> 00:01:44,190 we spoke of earlier, TLV 128, and TLV 130, 25 00:01:44,190 --> 00:01:47,580 that we talked about for IPv4. 26 00:01:47,580 --> 00:01:51,840 The second TLV is TLV 232. 27 00:01:51,840 --> 00:01:57,120 This one is specifically for IPv6 interface addresses 28 00:01:57,120 --> 00:02:00,510 really meant for hellos that require 29 00:02:00,510 --> 00:02:02,820 that link local address. 30 00:02:02,820 --> 00:02:08,729 It's also for LSPs that need the global addresses. 31 00:02:08,729 --> 00:02:16,050 And this is the equivalent of TLV 132, again, for IPv4. 32 00:02:16,050 --> 00:02:21,450 Now, TLV 129, which is what carries the network layer 33 00:02:21,450 --> 00:02:29,320 protocol identifiers or NLPIDs, this had to be updated as well. 34 00:02:29,320 --> 00:02:31,470 Now, this is not, of course, a new TLV, 35 00:02:31,470 --> 00:02:35,400 we're just modifying this one to include a new value 36 00:02:35,400 --> 00:02:40,530 142 indicating IPv6 support. 37 00:02:40,530 --> 00:02:44,880 We've always had 204 for IPv4. 38 00:02:44,880 --> 00:02:46,710 So we're simply adding a new value 39 00:02:46,710 --> 00:02:52,080 to this field to indicate that we're now also carrying IPv6. 40 00:02:52,080 --> 00:02:54,900 Something else that has to be considered, not just 41 00:02:54,900 --> 00:02:58,830 the changes to the TLVs themselves but also 42 00:02:58,830 --> 00:03:02,880 whether we're going to run single or multi-topology. 43 00:03:02,880 --> 00:03:09,090 Single topology requires that IPv4 and IPv6 44 00:03:09,090 --> 00:03:11,370 follow the same paths. 45 00:03:11,370 --> 00:03:15,390 It also requires that all of the links 46 00:03:15,390 --> 00:03:20,550 have to support IPv4 and IPv6. 47 00:03:20,550 --> 00:03:24,000 We can't have some links that don't support IPv6 48 00:03:24,000 --> 00:03:27,690 because if those were to get chosen as the best path well, 49 00:03:27,690 --> 00:03:31,360 then it would actually break the IPv6 pathway. 50 00:03:31,360 --> 00:03:34,770 This is because, of course, we're using a single topology. 51 00:03:34,770 --> 00:03:39,520 That also implies that there's only one SPF instance. 52 00:03:39,520 --> 00:03:41,310 If there's only one topology, we're 53 00:03:41,310 --> 00:03:44,320 only going to run SPF once. 54 00:03:44,320 --> 00:03:48,120 So related to the point up here, this 55 00:03:48,120 --> 00:03:50,490 is not going to be suitable at all 56 00:03:50,490 --> 00:03:55,800 for a partial implementation because, again, all the links 57 00:03:55,800 --> 00:03:57,820 have to carry both protocols. 58 00:03:57,820 --> 00:04:00,630 So that means I would have to turn on IPv6 59 00:04:00,630 --> 00:04:02,620 on all the links at once. 60 00:04:02,620 --> 00:04:06,780 So, again, not going to be good for partial. 61 00:04:06,780 --> 00:04:10,830 Another issue with this is those level 1 adjacencies 62 00:04:10,830 --> 00:04:15,270 they will not even form if the protocols don't match. 63 00:04:15,270 --> 00:04:19,920 Remember we saw previously that which protocols are supported 64 00:04:19,920 --> 00:04:24,250 are carried in the TLVs those have to match. 65 00:04:24,250 --> 00:04:28,690 Now, that said you can disable this. 66 00:04:28,690 --> 00:04:32,040 So if needed, you can disable this check. 67 00:04:32,040 --> 00:04:36,810 Now, again, this is not going to be a good strategy long-term. 68 00:04:36,810 --> 00:04:39,210 As you can see by our next point here, 69 00:04:39,210 --> 00:04:42,930 this is usually done during transitioning. 70 00:04:42,930 --> 00:04:46,350 So that would be when you had this partial implementation 71 00:04:46,350 --> 00:04:51,130 and we're not actually expecting IPv6 to be working yet, 72 00:04:51,130 --> 00:04:53,550 we're still in the middle of configuring it. 73 00:04:53,550 --> 00:04:58,680 But we don't want to break IPv4 for while we're rolling out 74 00:04:58,680 --> 00:05:00,630 IPv6. 75 00:05:00,630 --> 00:05:04,900 So I want to make sure we're very clear on this option. 76 00:05:04,900 --> 00:05:08,730 If we do this, the idea is we can roll out 77 00:05:08,730 --> 00:05:14,400 IPv6 support on our links without breaking IPv4 78 00:05:14,400 --> 00:05:16,000 in the meantime. 79 00:05:16,000 --> 00:05:19,440 However, we also can't expect IPv6 80 00:05:19,440 --> 00:05:22,890 to be functional until all the links are 81 00:05:22,890 --> 00:05:25,110 up and running with IPv6. 82 00:05:25,110 --> 00:05:28,860 So at that point, once we're done with that transition, 83 00:05:28,860 --> 00:05:32,640 you would usually want to turn this check back on. 84 00:05:32,640 --> 00:05:36,120 Now, we can see here that we have the two commands you would 85 00:05:36,120 --> 00:05:39,570 need to turn this off just outlined here in our last two 86 00:05:39,570 --> 00:05:40,680 points. 87 00:05:40,680 --> 00:05:44,410 On iOS XE it's no adjacency-check. 88 00:05:44,410 --> 00:05:49,680 And, of course, on iOS XR it's adjacency-check disable 89 00:05:49,680 --> 00:05:52,770 under the IPv6 address family. 90 00:05:52,770 --> 00:05:58,530 Now, level 2 adjacencies these will still form. 91 00:05:58,530 --> 00:06:01,330 Now, the backbone still must be contiguous. 92 00:06:01,330 --> 00:06:03,780 That, of course, still applies and that 93 00:06:03,780 --> 00:06:06,690 would include for IPv6. 94 00:06:06,690 --> 00:06:11,160 Now, if you did have routers in the backbone that 95 00:06:11,160 --> 00:06:15,780 do not support IPv6, then there could definitely 96 00:06:15,780 --> 00:06:17,460 be a black hole. 97 00:06:17,460 --> 00:06:20,010 We could try forwarding IPv6 traffic 98 00:06:20,010 --> 00:06:22,240 and not have the destination. 99 00:06:22,240 --> 00:06:25,110 So this means that all of the level 2 routers 100 00:06:25,110 --> 00:06:28,170 would have to support IPv6. 101 00:06:28,170 --> 00:06:31,270 And 1 final note here, this design, 102 00:06:31,270 --> 00:06:36,540 meaning single topology, would require wide metrics 103 00:06:36,540 --> 00:06:38,010 everywhere. 104 00:06:38,010 --> 00:06:40,500 And this, again, will be going back to that concept 105 00:06:40,500 --> 00:06:47,230 that everything must support IPv6 in single topology. 106 00:06:47,230 --> 00:06:49,320 Now, of course, to contrast this, 107 00:06:49,320 --> 00:06:57,390 we have multitopology IS-IS and this is outlined in RFC 5120. 108 00:06:57,390 --> 00:07:01,470 This would, of course, allow interfaces to not have 109 00:07:01,470 --> 00:07:03,220 to have the same protocols. 110 00:07:03,220 --> 00:07:07,770 So IPv4 and IPv6 can actually be operated 111 00:07:07,770 --> 00:07:10,070 completely independently. 112 00:07:10,070 --> 00:07:14,820 Two SPFs will be formed, of course, one for each protocol. 113 00:07:14,820 --> 00:07:16,890 We're going to have two different topologies. 114 00:07:16,890 --> 00:07:20,670 We're going to have to execute SPF twice. 115 00:07:20,670 --> 00:07:23,340 Now, keep in mind that wide metrics are still 116 00:07:23,340 --> 00:07:27,000 going to be needed, of course, at least on the devices that 117 00:07:27,000 --> 00:07:31,590 are going to support IPv6, which ultimately is probably going 118 00:07:31,590 --> 00:07:33,420 to be your whole topology. 119 00:07:33,420 --> 00:07:35,820 But at least in the short term, it 120 00:07:35,820 --> 00:07:39,690 has to have wide metrics to support IPv6. 121 00:07:39,690 --> 00:07:42,210 The other thing is that all of the devices 122 00:07:42,210 --> 00:07:46,680 have to understand that we're running multi-topology. 123 00:07:46,680 --> 00:07:49,440 If one device is running multi-topology 124 00:07:49,440 --> 00:07:53,310 and others are not, multi-topology routers 125 00:07:53,310 --> 00:07:59,880 will see single topology routers as unable to support IPv6. 126 00:07:59,880 --> 00:08:04,990 So they would not try to establish an IPv6 adjacency. 127 00:08:04,990 --> 00:08:07,500 Now, if you're transitioning from single topology 128 00:08:07,500 --> 00:08:11,430 to multitopology, there is a migration mode 129 00:08:11,430 --> 00:08:13,290 to help with this transition. 130 00:08:13,290 --> 00:08:17,520 And during that time, it will support both TLVs types 131 00:08:17,520 --> 00:08:20,730 for single topology and multi-topology, 132 00:08:20,730 --> 00:08:23,280 and this device would be able to form neighborships 133 00:08:23,280 --> 00:08:27,210 with either type of device. 134 00:08:27,210 --> 00:08:30,510 In this video, we took a look at the things 135 00:08:30,510 --> 00:08:35,880 that had to change in IS-IS in order to support IPv6. 136 00:08:35,880 --> 00:08:38,190 Specifically, we looked at the changes 137 00:08:38,190 --> 00:08:41,820 that had to happen with new TLVs as well 138 00:08:41,820 --> 00:08:44,010 as the additional information that we 139 00:08:44,010 --> 00:08:46,350 carry that we support IPv6. 140 00:08:46,350 --> 00:08:50,400 And then we talked about single versus multitopology 141 00:08:50,400 --> 00:08:54,420 and how we either have to have both protocols supported 142 00:08:54,420 --> 00:08:57,840 in the entire environment for single topology 143 00:08:57,840 --> 00:09:02,790 or with multitopology we can roll out IPv6 just 144 00:09:02,790 --> 00:09:04,320 where it's needed. 145 00:09:04,320 --> 00:09:06,450 I hope this has been informative for you. 146 00:09:06,450 --> 00:09:09,500 And I'd like to thank you for viewing. 147 00:09:09,500 --> 00:09:13,000