1 00:00:00,000 --> 00:00:03,776 [AUDIO LOGO] 2 00:00:03,776 --> 00:00:07,080 3 00:00:07,080 --> 00:00:11,220 So let's begin here by jumping in and just getting 4 00:00:11,220 --> 00:00:16,560 an introduction or an overview of the IS-IS protocol. 5 00:00:16,560 --> 00:00:19,840 Hopefully, some of this is a review for you. 6 00:00:19,840 --> 00:00:23,388 But if not, it'll at least get us to a good foundation 7 00:00:23,388 --> 00:00:24,930 where we can begin to talk about some 8 00:00:24,930 --> 00:00:28,650 of the more detailed information about IS-IS. 9 00:00:28,650 --> 00:00:31,320 So even if this is a review, it's 10 00:00:31,320 --> 00:00:33,900 probably worth watching just to refresh yourself 11 00:00:33,900 --> 00:00:36,240 on all this information and make sure 12 00:00:36,240 --> 00:00:40,320 that we're all ready to go with some of our more advanced IS-IS 13 00:00:40,320 --> 00:00:41,140 topics. 14 00:00:41,140 --> 00:00:43,440 So again, let's just jump in and cover 15 00:00:43,440 --> 00:00:47,170 some of those IS-IS basics. 16 00:00:47,170 --> 00:00:49,650 So the first thing to mention about IS-IS 17 00:00:49,650 --> 00:00:55,050 is this is a routing protocol designed by the OSI, 18 00:00:55,050 --> 00:00:57,600 or Open Systems Interconnection. 19 00:00:57,600 --> 00:01:02,910 And this is designed to be an interior routing protocol. 20 00:01:02,910 --> 00:01:06,360 It's not meant to scale to, say, the size of the internet, 21 00:01:06,360 --> 00:01:08,280 like BGP version 4. 22 00:01:08,280 --> 00:01:12,190 It's really in direct competition, if you will, 23 00:01:12,190 --> 00:01:13,920 with OSPF. 24 00:01:13,920 --> 00:01:18,570 In fact, we'll be comparing this a lot to OSPF as we go. 25 00:01:18,570 --> 00:01:20,320 They're very, very similar. 26 00:01:20,320 --> 00:01:23,080 Now, a little bit of terminology to get out of the way-- 27 00:01:23,080 --> 00:01:29,010 we basically have two different types of nodes in IS-IS. 28 00:01:29,010 --> 00:01:32,190 The first is the end system. 29 00:01:32,190 --> 00:01:37,900 The end system is really just any host that's not a router. 30 00:01:37,900 --> 00:01:40,500 So this could be a printer or a workstation 31 00:01:40,500 --> 00:01:44,340 or a server, really just anything other than a router. 32 00:01:44,340 --> 00:01:48,930 Then, of course, there's the Intermediate System, or the IS, 33 00:01:48,930 --> 00:01:51,450 which, of course, is where the routing protocol gets 34 00:01:51,450 --> 00:01:52,350 its name-- 35 00:01:52,350 --> 00:01:55,450 intermediate system to intermediate system. 36 00:01:55,450 --> 00:01:59,140 And that is simply referring to a router. 37 00:01:59,140 --> 00:02:02,760 So basically, this is the router-to-router protocol. 38 00:02:02,760 --> 00:02:06,030 That's essentially what IS-IS is. 39 00:02:06,030 --> 00:02:08,520 Now, a lot of people aren't really all that familiar 40 00:02:08,520 --> 00:02:11,790 with IS-IS, just because it's not 41 00:02:11,790 --> 00:02:16,050 as popular as its counterpart, again, OSPF. 42 00:02:16,050 --> 00:02:22,560 However, it is very popular in large-scale service provider 43 00:02:22,560 --> 00:02:26,710 networks, which of course, is why we need to talk about it. 44 00:02:26,710 --> 00:02:29,580 And we'll see coming up why that's the case. 45 00:02:29,580 --> 00:02:34,530 IS-IS supports a lot of features that service providers find 46 00:02:34,530 --> 00:02:36,280 quite attractive and useful. 47 00:02:36,280 --> 00:02:39,510 Now, we mentioned that this is very similar to OSPF. 48 00:02:39,510 --> 00:02:45,630 Technically, IS-IS was actually started before OSPF. 49 00:02:45,630 --> 00:02:47,100 But we're not really too concerned 50 00:02:47,100 --> 00:02:48,570 about which came first. 51 00:02:48,570 --> 00:02:52,450 The most important thing here is that there are many, 52 00:02:52,450 --> 00:02:54,330 many similarities. 53 00:02:54,330 --> 00:02:56,940 They both use the same algorithm. 54 00:02:56,940 --> 00:03:00,420 They're both link-state routing protocols, and so on. 55 00:03:00,420 --> 00:03:03,990 We'll be talking more about this as we go through IS-IS. 56 00:03:03,990 --> 00:03:07,770 But the point is, yes, there are many similarities. 57 00:03:07,770 --> 00:03:09,900 In fact, the way I usually say it-- they 58 00:03:09,900 --> 00:03:12,570 actually have more in common than they have different. 59 00:03:12,570 --> 00:03:15,600 But that said, there are fundamental differences, 60 00:03:15,600 --> 00:03:18,010 of course, that we need to discuss. 61 00:03:18,010 --> 00:03:22,110 So as we just mentioned, this is a link-state routing protocol, 62 00:03:22,110 --> 00:03:24,580 just like OSPF here. 63 00:03:24,580 --> 00:03:28,620 And as such, it has a lot of those same attributes. 64 00:03:28,620 --> 00:03:33,540 Again, it exchanges databases, not routes. 65 00:03:33,540 --> 00:03:37,320 Exchanging routes is distance vector behavior. 66 00:03:37,320 --> 00:03:41,130 This is link state, again, like OSPF. 67 00:03:41,130 --> 00:03:43,890 Routes are then calculated on each 68 00:03:43,890 --> 00:03:47,490 IS based on that exchange database. 69 00:03:47,490 --> 00:03:51,150 Once again, we run Dijkstra's algorithm, 70 00:03:51,150 --> 00:03:55,440 or the shortest path first algorithm against the database 71 00:03:55,440 --> 00:03:58,110 and come up with our own routes. 72 00:03:58,110 --> 00:04:01,710 This, just like other modern routing protocols, 73 00:04:01,710 --> 00:04:07,270 fully supports VLSM, or Variable-Length Subnet Masking. 74 00:04:07,270 --> 00:04:10,440 So in other words, it is a classless protocol. 75 00:04:10,440 --> 00:04:14,130 It doesn't rely on the traditional class A, class B, 76 00:04:14,130 --> 00:04:16,620 class C subnet structure. 77 00:04:16,620 --> 00:04:21,190 It can support any class network with any mask. 78 00:04:21,190 --> 00:04:22,800 Now, one of the big features making 79 00:04:22,800 --> 00:04:25,740 this very attractive to service providers 80 00:04:25,740 --> 00:04:29,550 is this has a very, very proven track record. 81 00:04:29,550 --> 00:04:33,750 It's very reliable and very scalable, 82 00:04:33,750 --> 00:04:37,020 along with fast convergence. 83 00:04:37,020 --> 00:04:40,290 All of these things make this very attractive to a service 84 00:04:40,290 --> 00:04:41,430 provider. 85 00:04:41,430 --> 00:04:43,200 We want reliability. 86 00:04:43,200 --> 00:04:44,730 We want scalability. 87 00:04:44,730 --> 00:04:46,870 And it has to be fast. 88 00:04:46,870 --> 00:04:49,890 Remember, we're going to be using this in the service 89 00:04:49,890 --> 00:04:54,570 provider as the underlay routing protocol to whatever 90 00:04:54,570 --> 00:04:56,200 other structure we're running-- 91 00:04:56,200 --> 00:04:58,350 so for example, maybe MPLS. 92 00:04:58,350 --> 00:05:01,260 Or maybe we're just running native BGP routing. 93 00:05:01,260 --> 00:05:02,820 But either way, we need to know how 94 00:05:02,820 --> 00:05:05,830 to get to the next hops of the other devices. 95 00:05:05,830 --> 00:05:08,310 So this is usually going to be used-- 96 00:05:08,310 --> 00:05:12,930 again, or OSPF-- to be the underlay routing protocol. 97 00:05:12,930 --> 00:05:17,160 This is why we need things like reliability, scalability, 98 00:05:17,160 --> 00:05:19,560 and of course, fast convergence. 99 00:05:19,560 --> 00:05:23,520 Now, when IS-IS was originally designed, 100 00:05:23,520 --> 00:05:26,760 it was actually designed to be the routing protocol 101 00:05:26,760 --> 00:05:29,820 for something called Connectionless Network 102 00:05:29,820 --> 00:05:33,210 Service, or CLNS. 103 00:05:33,210 --> 00:05:37,770 CLNS and, of course, therefore IS-IS 104 00:05:37,770 --> 00:05:40,890 use something called Connectionless Network 105 00:05:40,890 --> 00:05:45,990 Protocol, or CLNP, as the transport. 106 00:05:45,990 --> 00:05:47,880 So essentially, what we're saying here 107 00:05:47,880 --> 00:05:51,150 is that unlike most other routing protocols 108 00:05:51,150 --> 00:05:56,400 that we use for IP, either IPv4 or IPv6, 109 00:05:56,400 --> 00:06:01,870 IS-IS doesn't itself actually run on top of IP. 110 00:06:01,870 --> 00:06:04,680 Now, we have a small environment set up right now. 111 00:06:04,680 --> 00:06:06,630 We don't really need to look at the topology. 112 00:06:06,630 --> 00:06:09,810 We're just going to look at the Wireshark capture 113 00:06:09,810 --> 00:06:13,980 off of one router that's running IS-IS so we can take 114 00:06:13,980 --> 00:06:17,040 a look at how this does not run over IP 115 00:06:17,040 --> 00:06:19,830 but rather runs over CLNS. 116 00:06:19,830 --> 00:06:21,840 So let's hop into Wireshark and take a look 117 00:06:21,840 --> 00:06:24,600 at a capture off of our router 1, 118 00:06:24,600 --> 00:06:26,370 which is in fact running IS-IS. 119 00:06:26,370 --> 00:06:28,930 120 00:06:28,930 --> 00:06:31,540 So here we have our Wireshark capture. 121 00:06:31,540 --> 00:06:34,450 We're filtering based on IS-IS. 122 00:06:34,450 --> 00:06:38,350 And we can see various IS-IS packet 123 00:06:38,350 --> 00:06:40,060 types going back and forth. 124 00:06:40,060 --> 00:06:41,890 Here we see some hellos. 125 00:06:41,890 --> 00:06:44,260 We see some CNSP packets. 126 00:06:44,260 --> 00:06:47,650 We'll get into these different types of protocol packets 127 00:06:47,650 --> 00:06:49,760 in a future video. 128 00:06:49,760 --> 00:06:53,860 But for now, what we want to see is here in the main capture 129 00:06:53,860 --> 00:06:58,210 window, we see that we have an Ethernet header, an LLC header. 130 00:06:58,210 --> 00:07:03,070 And then notice it goes right to ISO, ISIS InTRA Domain Routeing 131 00:07:03,070 --> 00:07:04,600 Information Exchange Protocol. 132 00:07:04,600 --> 00:07:08,110 If we open this up, we can see that the protocol identifier 133 00:07:08,110 --> 00:07:10,480 is in fact ISIS. 134 00:07:10,480 --> 00:07:12,860 And if we scroll down a little bit more here, 135 00:07:12,860 --> 00:07:16,640 we see that this, in fact, is an ISIS HELLO that we captured. 136 00:07:16,640 --> 00:07:18,940 And we can see some of this information. 137 00:07:18,940 --> 00:07:22,060 And we'll be covering this in some more detail, again, 138 00:07:22,060 --> 00:07:23,720 as we go through. 139 00:07:23,720 --> 00:07:26,290 But the main point we want to see right now 140 00:07:26,290 --> 00:07:28,600 is if we shrink these back down, what 141 00:07:28,600 --> 00:07:31,900 we do not have is an IP header. 142 00:07:31,900 --> 00:07:35,380 This is IS-IS running directly on top 143 00:07:35,380 --> 00:07:37,580 of Ethernet in this case. 144 00:07:37,580 --> 00:07:40,510 So now let's hop back over to our discussion. 145 00:07:40,510 --> 00:07:44,410 And we'll pick back up here with another big advantage to IS-IS. 146 00:07:44,410 --> 00:07:48,130 And that is that it is very extensible 147 00:07:48,130 --> 00:07:52,870 because it uses something called a TLV, or Type Length Value 148 00:07:52,870 --> 00:07:56,710 in order to exchange its routing information. 149 00:07:56,710 --> 00:07:59,080 This is actually a very, very important feature 150 00:07:59,080 --> 00:08:01,660 we have with IS-IS. 151 00:08:01,660 --> 00:08:06,190 This extensibility means that we can support a variety 152 00:08:06,190 --> 00:08:07,660 of different protocols. 153 00:08:07,660 --> 00:08:10,630 Not only can it of course support CLNS, 154 00:08:10,630 --> 00:08:13,870 which is what it was designed for, although we don't use it 155 00:08:13,870 --> 00:08:15,760 for that very often these days. 156 00:08:15,760 --> 00:08:20,050 Of course, it supports IPv4 and IPv6, 157 00:08:20,050 --> 00:08:23,570 or we probably wouldn't really be talking about it at all. 158 00:08:23,570 --> 00:08:26,710 But it can also do things like exchange MAC address 159 00:08:26,710 --> 00:08:28,550 information and things like this. 160 00:08:28,550 --> 00:08:32,409 So we can use this for other technologies such as-- 161 00:08:32,409 --> 00:08:35,710 well, Cisco used it for their FabricPath technology. 162 00:08:35,710 --> 00:08:37,960 Cisco ACI can use it. 163 00:08:37,960 --> 00:08:40,090 We can use it for VXLAN. 164 00:08:40,090 --> 00:08:41,799 So there's a lot of different things 165 00:08:41,799 --> 00:08:45,130 that we can do with IS-IS because it 166 00:08:45,130 --> 00:08:48,280 is so extensible and easily updated 167 00:08:48,280 --> 00:08:50,620 to support additional information. 168 00:08:50,620 --> 00:08:54,310 About the only other protocol that's this flexible-- 169 00:08:54,310 --> 00:08:57,070 and also why it gets used so much-- 170 00:08:57,070 --> 00:08:58,750 is BGP. 171 00:08:58,750 --> 00:09:02,210 So as far as extensibility and flexibility, 172 00:09:02,210 --> 00:09:04,150 we can do a lot of the same things 173 00:09:04,150 --> 00:09:09,010 both with IS-IS and BGP because of this ability 174 00:09:09,010 --> 00:09:12,340 to just exchange information without it 175 00:09:12,340 --> 00:09:16,360 being in such a strict format, such as something like OSPF. 176 00:09:16,360 --> 00:09:19,570 Just to contrast, think of it this way. 177 00:09:19,570 --> 00:09:24,910 When OSPF wanted to go from IPv4 to IPv6, 178 00:09:24,910 --> 00:09:26,590 we needed a whole new version. 179 00:09:26,590 --> 00:09:30,420 We had to go from OSPF version 2 to OSPF version 3. 180 00:09:30,420 --> 00:09:36,550 Protocols such as IS-IS and, again, as an example, BGP, all 181 00:09:36,550 --> 00:09:39,050 we had to do is add new address families. 182 00:09:39,050 --> 00:09:42,550 So again, this extensibility, very important feature. 183 00:09:42,550 --> 00:09:45,910 Particularly moving forward as new technologies come out 184 00:09:45,910 --> 00:09:48,490 and things like this, it makes it a very good candidate 185 00:09:48,490 --> 00:09:53,380 if not for the end engineer to use at least for the underlying 186 00:09:53,380 --> 00:09:57,340 technologies to use it, such as controllers in something 187 00:09:57,340 --> 00:10:00,650 like software-defined networking. 188 00:10:00,650 --> 00:10:02,900 Some other information we want to get at here 189 00:10:02,900 --> 00:10:08,480 is IS-IS actually supports two different metric types. 190 00:10:08,480 --> 00:10:13,010 Specifically, it supports what's called the narrow-style metric. 191 00:10:13,010 --> 00:10:15,560 And this is really the legacy style. 192 00:10:15,560 --> 00:10:17,750 We really don't use this too much anymore. 193 00:10:17,750 --> 00:10:19,320 You'll see why in just a moment. 194 00:10:19,320 --> 00:10:22,010 It's still the default on most platforms. 195 00:10:22,010 --> 00:10:24,770 So since we don't really want to use it, 196 00:10:24,770 --> 00:10:26,990 we'll see that when we get into our configuration 197 00:10:26,990 --> 00:10:30,515 later that we're going to most likely want to change this. 198 00:10:30,515 --> 00:10:37,200 This uses a 6-bit link metric and a 10-bit path metric, 199 00:10:37,200 --> 00:10:40,670 which in and of itself makes it fairly limiting. 200 00:10:40,670 --> 00:10:43,310 But the more important thing that makes it limiting 201 00:10:43,310 --> 00:10:48,440 is compared to the newer wide-style metric, which, 202 00:10:48,440 --> 00:10:51,600 like we just said, is the new style, of course, 203 00:10:51,600 --> 00:10:56,490 this one is required for IPv6 support. 204 00:10:56,490 --> 00:11:00,020 And since even if today we're not doing IPv6, 205 00:11:00,020 --> 00:11:02,250 we probably will be shortly. 206 00:11:02,250 --> 00:11:04,920 This is almost always something we want. 207 00:11:04,920 --> 00:11:07,610 This is a 24-bit link metric, allowing 208 00:11:07,610 --> 00:11:09,440 us to be a lot more granular. 209 00:11:09,440 --> 00:11:14,280 And it's a 32-bit path metric. 210 00:11:14,280 --> 00:11:17,460 In this video, we jumped in and looked 211 00:11:17,460 --> 00:11:20,490 at some of the basics of IS-IS. 212 00:11:20,490 --> 00:11:23,400 We started off by looking at some of its advantages. 213 00:11:23,400 --> 00:11:25,680 And then we saw how it doesn't actually 214 00:11:25,680 --> 00:11:29,250 run on IP, because it was designed for CLNS, 215 00:11:29,250 --> 00:11:36,030 but has been extended to support not only CLNS but also IP 216 00:11:36,030 --> 00:11:39,660 versions, of course, 4 and 6. 217 00:11:39,660 --> 00:11:42,210 Then we wrapped up here by talking about the two 218 00:11:42,210 --> 00:11:46,000 different metric styles we have and how, generally speaking, 219 00:11:46,000 --> 00:11:49,020 we want to prefer the wide metrics. 220 00:11:49,020 --> 00:11:51,150 I hope this has been informative for you, 221 00:11:51,150 --> 00:11:54,200 and I'd like to thank you for viewing. 222 00:11:54,200 --> 00:11:58,000