1 00:00:02,712 --> 00:00:05,212 (light music) 2 00:00:09,081 --> 00:00:12,973 - Within the ICND1 blueprint under the general bullet point 3 00:00:12,973 --> 00:00:14,513 of network fundamentals, 4 00:00:14,513 --> 00:00:17,385 they include a section on IPv6, this is the place 5 00:00:17,385 --> 00:00:21,025 where they first want to introduce you to IPv6. 6 00:00:21,025 --> 00:00:23,058 So these next several videos are going to be little snippets 7 00:00:23,058 --> 00:00:26,561 of me talking about various aspects of IPv6. 8 00:00:26,561 --> 00:00:29,669 We're not actually gonna get into the configuration of IPv6. 9 00:00:29,669 --> 00:00:32,496 First of all, I have to go through basic iOS command lines 10 00:00:32,496 --> 00:00:34,289 before we even think about that. 11 00:00:34,289 --> 00:00:36,081 But I just wanna introduce IPv6 12 00:00:36,081 --> 00:00:37,900 from a theoretical perspective. 13 00:00:37,900 --> 00:00:41,765 So this is the first video in that series introducing IPv6. 14 00:00:41,765 --> 00:00:45,936 So let's first talk a little bit about the history of IPv6. 15 00:00:45,936 --> 00:00:49,717 We know that IPv4 was actually first developed 16 00:00:49,717 --> 00:00:51,884 back with RFC 791 in 1981, 17 00:00:55,183 --> 00:00:57,150 I think it was 1981 or 1982 18 00:00:57,150 --> 00:00:59,567 when IPv4 was just developed. 19 00:01:00,678 --> 00:01:04,514 And initially, at the very, very beginning stages, 20 00:01:04,514 --> 00:01:08,070 it was only developed for like institutions like colleges 21 00:01:08,070 --> 00:01:10,534 and universities that were experimenting 22 00:01:10,534 --> 00:01:11,367 with IPv4. 23 00:01:12,270 --> 00:01:16,722 This idea of an internet was not even envisioned back then. 24 00:01:16,722 --> 00:01:19,634 But as more and more people started connecting 25 00:01:19,634 --> 00:01:22,266 to the IPv4 backbone and using it, 26 00:01:22,266 --> 00:01:25,234 and it began expanding from just research 27 00:01:25,234 --> 00:01:28,118 to communications, and gaming, 28 00:01:28,118 --> 00:01:31,114 this idea of IPv4 addresses became more 29 00:01:31,114 --> 00:01:33,914 and more and more popular. 30 00:01:33,914 --> 00:01:37,497 So, by 1992 there was an impending shortage 31 00:01:39,350 --> 00:01:42,234 of IPv4 address space the recogni-- 32 00:01:42,234 --> 00:01:44,670 like I should say that in 1992 they recognized that, 33 00:01:44,670 --> 00:01:47,078 "Uh oh, the way things are going, 34 00:01:47,078 --> 00:01:50,970 "with how quickly the IPv4 addresses are starting 35 00:01:50,970 --> 00:01:54,470 "to be consumed, we recognize that at some point 36 00:01:54,470 --> 00:01:56,234 "there's gonna be a shortage." 37 00:01:56,234 --> 00:01:58,978 Now there was not a shortage back in 1992, 38 00:01:58,978 --> 00:02:00,518 but that's when they first recognized 39 00:02:00,518 --> 00:02:02,562 this is gonna be a problem. 40 00:02:02,562 --> 00:02:04,074 At some point in the future, 41 00:02:04,074 --> 00:02:06,174 if things keep going the way they're going, 42 00:02:06,174 --> 00:02:09,507 we are going to run out of IPv4 subnets. 43 00:02:10,402 --> 00:02:11,746 Now what does that actually mean? 44 00:02:11,746 --> 00:02:13,818 Well, that means that whenever that point is, 45 00:02:13,818 --> 00:02:16,226 if somebody develops a new company 46 00:02:16,226 --> 00:02:18,662 and they want to connect to the internet, 47 00:02:18,662 --> 00:02:21,210 we're not gonna have a subnet to give to them. 48 00:02:21,210 --> 00:02:23,385 We're not gonna, if there's an existing company 49 00:02:23,385 --> 00:02:26,123 that expands and they add a new campus, 50 00:02:26,123 --> 00:02:28,167 we're not gonna have any addresses that we can give to them 51 00:02:28,167 --> 00:02:30,659 'cause they will all be gone. 52 00:02:30,659 --> 00:02:32,703 So they recognized back in 1992 53 00:02:32,703 --> 00:02:35,286 that this was an inevitability. 54 00:02:36,735 --> 00:02:38,499 So two years later, 55 00:02:38,499 --> 00:02:41,243 the internet engineering task force launched their work 56 00:02:41,243 --> 00:02:43,826 into a new version of IP, IPv6. 57 00:02:46,823 --> 00:02:50,323 So IPv6, the initial motivator for it was, 58 00:02:51,407 --> 00:02:54,459 "Let's restructure the address, 59 00:02:54,459 --> 00:02:56,290 "let's make the address bigger." 60 00:02:56,290 --> 00:03:00,070 you know, with 32-bits, there's billions of combinations 61 00:03:00,070 --> 00:03:03,754 of addresses with 32-bits with an IPv4 address. 62 00:03:03,754 --> 00:03:06,358 And you might think, "Wow, with that many combinations, 63 00:03:06,358 --> 00:03:08,122 "how could we ever run out?" 64 00:03:08,122 --> 00:03:10,994 Well, here we are in 2016, and we actually are starting 65 00:03:10,994 --> 00:03:13,598 to run out in certain parts of the world, 66 00:03:13,598 --> 00:03:15,530 even with billions of addresses. 67 00:03:15,530 --> 00:03:17,994 So, the IETF decided, 68 00:03:17,994 --> 00:03:22,161 "Let's redo the Internet Protocol, version six of it, 69 00:03:23,006 --> 00:03:26,226 "and let's make the address space much bigger 70 00:03:26,226 --> 00:03:29,978 "so that it'll hopefully never run out of addresses." 71 00:03:29,978 --> 00:03:33,590 So that was the initial motivator of revising IP. 72 00:03:33,590 --> 00:03:34,922 But then while they were at it, 73 00:03:34,922 --> 00:03:36,714 they thought, "You know what? 74 00:03:36,714 --> 00:03:40,522 "Since we're redoing IP, why don't we take this opportunity 75 00:03:40,522 --> 00:03:43,126 "because who knows when we'll have this opportunity again, 76 00:03:43,126 --> 00:03:44,946 "to change some other things 77 00:03:44,946 --> 00:03:47,006 "about the Internet Protocol as well; 78 00:03:47,006 --> 00:03:48,966 "not just making the address space bigger, 79 00:03:48,966 --> 00:03:50,646 "but changing some other things as well." 80 00:03:50,646 --> 00:03:52,438 And in another video coming up, 81 00:03:52,438 --> 00:03:55,546 I'll show you the differences between the IPv4 header, 82 00:03:55,546 --> 00:03:59,713 that we've looked at already, and the IPv6 header. 83 00:04:00,614 --> 00:04:02,364 So in 1998, RFC 2460, 84 00:04:04,814 --> 00:04:08,981 which was the first RFC document for IPv6, was written. 85 00:04:10,318 --> 00:04:12,306 Now let's put things in perspective here a little bit. 86 00:04:12,306 --> 00:04:13,846 Remember I told you that 87 00:04:13,846 --> 00:04:17,096 when IP first came out in 1981 or 1982, 88 00:04:18,802 --> 00:04:20,930 there was no such thing as subnet mask, 89 00:04:20,930 --> 00:04:24,542 it was purely class A, class B, and class C. 90 00:04:24,542 --> 00:04:28,910 So the idea of a subnet mask actually came out in 1985. 91 00:04:28,910 --> 00:04:31,010 So that was RFC 950. 92 00:04:31,010 --> 00:04:33,110 No one's ever gonna expect you to memorize this stuff, 93 00:04:33,110 --> 00:04:36,890 none of these dates are gonna be on the ICND1 exam, 94 00:04:36,890 --> 00:04:39,606 I just wanna sort of prep you and get your mind thinking 95 00:04:39,606 --> 00:04:41,818 about why did they create this thing in the first place? 96 00:04:41,818 --> 00:04:44,954 What problem was it designed to solve? 97 00:04:44,954 --> 00:04:48,787 So, IP 1991: subnet masks added to IP in 1985, 98 00:04:50,890 --> 00:04:53,354 and then seven years later they recognized, 99 00:04:53,354 --> 00:04:55,146 "Uh oh, we can see a future 100 00:04:55,146 --> 00:04:57,358 "where things are gonna start running out." 101 00:04:57,358 --> 00:05:01,525 SO, in 1998, they wrote the actual first document for IPv6. 102 00:05:03,157 --> 00:05:06,240 Then in 2006, so it took eight years, 103 00:05:07,130 --> 00:05:09,482 you can see this from '98 to 2006, 104 00:05:09,482 --> 00:05:13,474 it took eight years for IPv6 address spacing 105 00:05:13,474 --> 00:05:15,686 to really stabilize. 106 00:05:15,686 --> 00:05:17,786 In other words, there was a lot of back and forth about, 107 00:05:17,786 --> 00:05:19,214 "Well, addresses should look like this." 108 00:05:19,214 --> 00:05:20,726 "Well, these addresses should be used." 109 00:05:20,726 --> 00:05:22,350 "No, these addresses should be kept private." 110 00:05:22,350 --> 00:05:24,590 "No, we should keep these addresses in reserve." 111 00:05:24,590 --> 00:05:25,423 "Oh no, we should look 112 00:05:25,423 --> 00:05:26,694 "at the bits a little bit differently." 113 00:05:26,694 --> 00:05:28,682 So it took eight years for them 114 00:05:28,682 --> 00:05:31,174 to finally settle down and stabilize 115 00:05:31,174 --> 00:05:34,786 on what the IPv6 address structure would actually look like 116 00:05:34,786 --> 00:05:36,410 and how it would be used. 117 00:05:36,410 --> 00:05:38,243 And that was RFC 4291. 118 00:05:40,358 --> 00:05:44,525 Back in 2008, so now we're talking about eight years ago, 119 00:05:45,538 --> 00:05:47,638 before this recording was made, 120 00:05:47,638 --> 00:05:50,046 the United States Federal Government mandated 121 00:05:50,046 --> 00:05:54,106 that all backbone devices running on Federal Agencies, 122 00:05:54,106 --> 00:05:57,438 so for example, all the routers and devices that were owned 123 00:05:57,438 --> 00:06:01,246 by the CIA, the FBI, the Social Security Administration, 124 00:06:01,246 --> 00:06:04,634 all federal government agencies, their backbone routers, 125 00:06:04,634 --> 00:06:06,678 and what do we mean by backbone router? 126 00:06:06,678 --> 00:06:08,806 'Cause I know I haven't talked about that term yet. 127 00:06:08,806 --> 00:06:13,342 So, in the structure of a network, we've talked about, 128 00:06:13,342 --> 00:06:16,002 I did talk about earlier in a previous video, 129 00:06:16,002 --> 00:06:19,615 about the Three Layer Design Model: the access layer, 130 00:06:19,615 --> 00:06:21,282 which is what gives access to the network devices, 131 00:06:21,282 --> 00:06:23,270 like your laptops and your tablets, 132 00:06:23,270 --> 00:06:26,938 and then the distribution layer, and then the core layer. 133 00:06:26,938 --> 00:06:29,234 So what we're really talking about here is routers 134 00:06:29,234 --> 00:06:31,250 that would fit in that core layer 135 00:06:31,250 --> 00:06:33,070 that would actually transmit traffic 136 00:06:33,070 --> 00:06:35,394 back and forth between agencies. 137 00:06:35,394 --> 00:06:38,306 So there would be a router owned by the FBI 138 00:06:38,306 --> 00:06:40,714 that would be connected to a router owned by the CIA, 139 00:06:40,714 --> 00:06:42,298 that'd be connected to a router owned 140 00:06:42,298 --> 00:06:44,202 by the Social Security Administration, 141 00:06:44,202 --> 00:06:46,498 and those would be considered backbone routers, 142 00:06:46,498 --> 00:06:49,690 they form the backbone of the federal governments 143 00:06:49,690 --> 00:06:51,986 and how they communicate to each other. 144 00:06:51,986 --> 00:06:54,842 So back in 2008, the US Federal Government said 145 00:06:54,842 --> 00:06:59,238 that all of those devices have to be IPv6 capable. 146 00:06:59,238 --> 00:07:02,570 Now get that, they didn't say we have to configure IPv6 147 00:07:02,570 --> 00:07:05,006 on those devices and run IPv6, 148 00:07:05,006 --> 00:07:07,694 they just said whatever hardware and software 149 00:07:07,694 --> 00:07:11,027 is on those devices has to support IPv6. 150 00:07:12,958 --> 00:07:15,870 So back in 2008, there was a lot of purchasing going on 151 00:07:15,870 --> 00:07:18,138 to get some new software, new equipment 152 00:07:18,138 --> 00:07:21,862 to make sure that that requirement would be met. 153 00:07:21,862 --> 00:07:25,362 Now, just last year, in September of 2015, 154 00:07:26,258 --> 00:07:28,806 the American Registry of Internet Numbers, 155 00:07:28,806 --> 00:07:32,054 the regional internet registry that supports North America, 156 00:07:32,054 --> 00:07:34,221 ran out of IPv4 addresses. 157 00:07:35,834 --> 00:07:38,018 So remember when I was first talking about IP addressing? 158 00:07:38,018 --> 00:07:40,792 I was saying, "Well, sometimes you can just skip 159 00:07:40,792 --> 00:07:42,346 your service provider and go directly 160 00:07:42,346 --> 00:07:44,054 to your regional internet registry 161 00:07:44,054 --> 00:07:47,162 and get provider independent addressing?" 162 00:07:47,162 --> 00:07:49,262 can't do that with ARIN any more. 163 00:07:49,262 --> 00:07:51,950 They actually have a few addresses they've held in reserve 164 00:07:51,950 --> 00:07:53,910 for very special-use cases, 165 00:07:53,910 --> 00:07:56,178 but it's next to impossible for you 166 00:07:56,178 --> 00:07:57,942 to justify getting those. 167 00:07:57,942 --> 00:08:01,498 So ARIN has basically run out of IPv4 addresses, 168 00:08:01,498 --> 00:08:03,710 so here, in the United States and Canada, 169 00:08:03,710 --> 00:08:07,042 at this point, all the service providers have gobbled up 170 00:08:07,042 --> 00:08:10,206 whatever remaining IPv4 addresses are left. 171 00:08:10,206 --> 00:08:13,958 And there's none at any tiers higher than them. 172 00:08:13,958 --> 00:08:15,722 So that's where we are today 173 00:08:15,722 --> 00:08:18,186 and I was just looking at some internet statistics 174 00:08:18,186 --> 00:08:20,062 before I recorded this video, 175 00:08:20,062 --> 00:08:21,714 and it's actually surprising me 176 00:08:21,714 --> 00:08:25,046 because about, oh, 15 years ago or so, 177 00:08:25,046 --> 00:08:27,538 so around 2000, so this is right around 178 00:08:27,538 --> 00:08:30,450 when the first RFC for IPv6 was written, 179 00:08:30,450 --> 00:08:32,494 everybody was pretty much laughing it off. 180 00:08:32,494 --> 00:08:35,378 They said, "Ah, we're never gonna run out of IPv4 addresses, 181 00:08:35,378 --> 00:08:38,178 "this thing's too much work, too hard to understand, 182 00:08:38,178 --> 00:08:39,802 "we're not gonna deal with it." 183 00:08:39,802 --> 00:08:43,134 So for the longest time, year after year after year, 184 00:08:43,134 --> 00:08:45,514 people were pushing back on IPv6 saying, 185 00:08:45,514 --> 00:08:49,154 "Oh, it's gonna be decades before it's used." 186 00:08:49,154 --> 00:08:52,758 And they were saying, "Oh," I think as early as like 2012, 187 00:08:52,758 --> 00:08:56,925 or 2013, not that long ago, IPv6 traffic on the internet, 188 00:08:58,162 --> 00:09:00,038 so if you take a look at all the traffic 189 00:09:00,038 --> 00:09:01,802 running across the internet globally, 190 00:09:01,802 --> 00:09:04,070 at that point in time, like two, three years ago, 191 00:09:04,070 --> 00:09:07,430 IPv6 traffic was like one percent. 192 00:09:07,430 --> 00:09:10,482 Maybe not even one percent, it was so small. 193 00:09:10,482 --> 00:09:12,750 Well I just looked at some statistics online 194 00:09:12,750 --> 00:09:16,278 that now say that IPv6 running across the internet 195 00:09:16,278 --> 00:09:18,938 is as high as 20 percent. 196 00:09:18,938 --> 00:09:21,614 Think about that, one out of every five packets 197 00:09:21,614 --> 00:09:24,246 that's going across the internet now globally 198 00:09:24,246 --> 00:09:26,010 is an IPv6 packet. 199 00:09:26,010 --> 00:09:28,978 It is ramping up really, really quickly. 200 00:09:28,978 --> 00:09:30,994 So if you're gonna go into the networking fields 201 00:09:30,994 --> 00:09:33,762 and engineer an admin, you can no longer afford 202 00:09:33,762 --> 00:09:37,990 to ignore IPv6, it will be a part of your life. 203 00:09:37,990 --> 00:09:39,978 It is here, it is now! 204 00:09:39,978 --> 00:09:42,022 So, that being the case, 205 00:09:42,022 --> 00:09:43,998 also I found this website right here 206 00:09:43,998 --> 00:09:45,594 that I thought was kinda interesting 207 00:09:45,594 --> 00:09:46,882 that I wanna share with you. 208 00:09:46,882 --> 00:09:49,990 This is IPv6.com, you could go there 209 00:09:49,990 --> 00:09:51,754 and if you scroll down a little bit, 210 00:09:51,754 --> 00:09:54,274 this is under the history and timeline, 211 00:09:54,274 --> 00:09:55,982 it shows you right here, 212 00:09:55,982 --> 00:09:57,802 look at this chart right in the middle. 213 00:09:57,802 --> 00:10:01,969 So this shows how the address depletion of IPv4 went. 214 00:10:04,130 --> 00:10:05,963 So back in 1985, 1985! 215 00:10:07,070 --> 00:10:10,290 So this is just like three or four years 216 00:10:10,290 --> 00:10:12,175 after IP was invented. 217 00:10:12,175 --> 00:10:15,442 Already one sixteenth of the total address space 218 00:10:15,442 --> 00:10:18,382 of those billions of addresses were already consumed. 219 00:10:18,382 --> 00:10:22,638 And then in 2000, fifteen, sixteen years ago, 220 00:10:22,638 --> 00:10:25,382 half of the address space was used 221 00:10:25,382 --> 00:10:27,370 and then in that same year 2000, 222 00:10:27,370 --> 00:10:29,218 two thirds of the address space. 223 00:10:29,218 --> 00:10:31,038 Actually, halfway through 2002. 224 00:10:31,038 --> 00:10:33,978 And now here we are in 2016, 225 00:10:33,978 --> 00:10:37,422 you can imagine it's, it's virtually gone at this point. 226 00:10:37,422 --> 00:10:41,589 So I found that to be a pretty interesting document there. 227 00:10:42,574 --> 00:10:46,657 So now we have an idea as to why IPv6 was needed, 228 00:10:48,090 --> 00:10:50,414 it was because they were running out of addresses. 229 00:10:50,414 --> 00:10:54,247 Okay, so, what does an IPv6 address look like? 230 00:10:55,258 --> 00:10:58,002 The main change with IPv6 is 231 00:10:58,002 --> 00:11:02,734 that the address is four times as big as an IPv4 address; 232 00:11:02,734 --> 00:11:06,901 instead of 32-bits, it is now 128-bits in size, so. 233 00:11:11,918 --> 00:11:14,494 That would be like an IPv6 address. 234 00:11:14,494 --> 00:11:16,342 Now I didn't actually count those bits, 235 00:11:16,342 --> 00:11:18,918 I'm not exactly sure if that's 128 or not, 236 00:11:18,918 --> 00:11:23,090 but in binary, it's a massively large number. 237 00:11:23,090 --> 00:11:26,562 As a matter of fact, I heard someone say a long time ago 238 00:11:26,562 --> 00:11:30,202 that if you think of two to the power or 128, 239 00:11:30,202 --> 00:11:32,386 that's how many combinations of addresses there are, 240 00:11:32,386 --> 00:11:34,794 I don't think there's even a name for that. 241 00:11:34,794 --> 00:11:36,630 Somebody said that there were so many 242 00:11:36,630 --> 00:11:38,674 IPv6 addresses available 243 00:11:38,674 --> 00:11:43,406 that every person could have a unique IPV6 address 244 00:11:43,406 --> 00:11:45,646 for every single hair on their head, 245 00:11:45,646 --> 00:11:49,202 and there would still be an infinite amount left over. 246 00:11:49,202 --> 00:11:53,178 So, hopefully, unless we expand throughout the galaxy 247 00:11:53,178 --> 00:11:55,698 like Star Trek and populate distant planets, 248 00:11:55,698 --> 00:11:59,562 we'll be with IPv6 for a long, long time. 249 00:11:59,562 --> 00:12:02,110 So, we know that in IPv4, 250 00:12:02,110 --> 00:12:05,974 that binary number was divided into octets, into bites. 251 00:12:05,974 --> 00:12:09,166 We have four bites, and then each bite was converted 252 00:12:09,166 --> 00:12:13,030 into a decimal number, and then separated by a dot. 253 00:12:13,030 --> 00:12:14,626 So that was dot a decimal. 254 00:12:14,626 --> 00:12:17,118 They could have done that with this, 255 00:12:17,118 --> 00:12:19,890 but they chose a different approach. 256 00:12:19,890 --> 00:12:24,057 They chose to represent these as hexadecimal numbers. 257 00:12:25,490 --> 00:12:26,554 Hexadecimal? 258 00:12:26,554 --> 00:12:27,734 That's right, I know, we haven't talked 259 00:12:27,734 --> 00:12:29,078 about hexadecimal yet. 260 00:12:29,078 --> 00:12:33,245 So now, I need to do a quick primer on hexadecimal. 261 00:12:34,846 --> 00:12:35,926 It's actually not that hard. 262 00:12:35,926 --> 00:12:39,948 I hope it will not be that hard for you. 263 00:12:39,948 --> 00:12:43,962 So remember, let's go back to our binary tutorial 264 00:12:43,962 --> 00:12:46,790 and our decimal tutorial, 'member how we said that 265 00:12:46,790 --> 00:12:49,506 you have a single placeholder, 266 00:12:49,506 --> 00:12:53,286 and how many potential digits could go in there depends 267 00:12:53,286 --> 00:12:56,030 on what numbering system you're using. 268 00:12:56,030 --> 00:12:58,550 If you're using base 10 decimal, 269 00:12:58,550 --> 00:13:00,781 that means you have 10 possible things 270 00:13:00,781 --> 00:13:04,574 that could go in here, from a zero through a nine, base 10. 271 00:13:04,574 --> 00:13:07,570 If you're using binary, it was base two. 272 00:13:07,570 --> 00:13:09,502 Which means you had two possible combinations, 273 00:13:09,502 --> 00:13:10,835 a zero or a one. 274 00:13:11,826 --> 00:13:13,243 Well, hexadecimal 275 00:13:16,758 --> 00:13:18,925 is a base 16 system, what? 276 00:13:21,325 --> 00:13:24,566 I know, it's so weird, but actually, it's a base 16 system. 277 00:13:24,566 --> 00:13:26,414 So in this one placeholder, 278 00:13:26,414 --> 00:13:30,082 you have 16 possible things that could go in there. 279 00:13:30,082 --> 00:13:31,818 What could those possibly be? 280 00:13:31,818 --> 00:13:35,985 Well, let me make my font here a little bit smaller. 281 00:13:37,390 --> 00:13:39,910 The first 10 digits in hexadecimal 282 00:13:39,910 --> 00:13:43,242 are exactly the same as in decimal. 283 00:13:43,242 --> 00:13:44,409 You have zero, 284 00:13:46,658 --> 00:13:49,710 through nine, so that covers the first 10 285 00:13:49,710 --> 00:13:52,874 out of my 16 possible characters, that's no different. 286 00:13:52,874 --> 00:13:54,386 And then for the remaining characters, we use letters. 287 00:13:54,386 --> 00:13:58,110 So A is the equivalent of 10 in decimal, 288 00:13:58,110 --> 00:14:02,277 B is the equivalent of 11, C is the equivalent of 12, 289 00:14:08,453 --> 00:14:10,006 D, I'm running out of space here. 290 00:14:10,006 --> 00:14:12,339 All right, hold on a second. 291 00:14:16,094 --> 00:14:19,011 Okay, so we have zero through nine, 292 00:14:21,582 --> 00:14:24,522 and then we have our letters. 293 00:14:24,522 --> 00:14:26,605 A equals 10, B equals 11, 294 00:14:28,586 --> 00:14:30,669 C equals 12, D equals 13, 295 00:14:32,562 --> 00:14:35,645 E equals 14, and lastly, F equals 15. 296 00:14:38,442 --> 00:14:42,609 So that give us our 16 possible characters from zero to F, 297 00:14:44,574 --> 00:14:47,542 that's 16 possible combinations. 298 00:14:47,542 --> 00:14:51,709 And also, remember, when we were talking about decimal, 299 00:14:52,666 --> 00:14:55,438 if I had a three-digit number, 300 00:14:55,438 --> 00:14:59,806 the first position was always the ones position, 301 00:14:59,806 --> 00:15:02,774 and then depending on what base system we were using 302 00:15:02,774 --> 00:15:04,762 determined what he next one was. 303 00:15:04,762 --> 00:15:07,142 So in decimal, we just kept multiplying by 10's. 304 00:15:07,142 --> 00:15:09,018 So we had the 10's position next, 305 00:15:09,018 --> 00:15:11,874 10 times 10 is 100, so on and so forth. 306 00:15:11,874 --> 00:15:13,974 With binary, is multiplying by two. 307 00:15:13,974 --> 00:15:17,334 So we had the ones and then we had the twos position, 308 00:15:17,334 --> 00:15:20,106 two times two is four, four times two is eight, 309 00:15:20,106 --> 00:15:22,878 well you can probably see where I'm going with this. 310 00:15:22,878 --> 00:15:26,045 With hexadecimal, we multiply by 16's. 311 00:15:27,442 --> 00:15:29,178 So we have the ones position, 312 00:15:29,178 --> 00:15:32,846 and then the next one is the 16's position, 313 00:15:32,846 --> 00:15:35,263 and 16 times 16 is the 256's, 314 00:15:36,934 --> 00:15:39,146 and after that I can't do it from memory. 315 00:15:39,146 --> 00:15:41,498 (lightly chuckles) I can only do three positions. 316 00:15:41,498 --> 00:15:45,838 So with the way a hexadecimal number would look, 317 00:15:45,838 --> 00:15:47,518 they're not always represented this way, 318 00:15:47,518 --> 00:15:51,970 but if you ever see a number that says 0 x something, 319 00:15:51,970 --> 00:15:54,686 that's representing a hexadecimal number. 320 00:15:54,686 --> 00:15:56,519 So for example, 0x003, 321 00:16:02,498 --> 00:16:03,898 well that's just the number three. 322 00:16:03,898 --> 00:16:05,746 It's no different than in decimal. 323 00:16:05,746 --> 00:16:09,913 But if I say 0x00a, that's the number 10 in hexadecimal. 324 00:16:13,390 --> 00:16:14,640 Or I could say, 325 00:16:16,106 --> 00:16:18,402 and usually the leading zeros are left off. 326 00:16:18,402 --> 00:16:20,642 So if i was gonna give you the hexadecimal number of 10, 327 00:16:20,642 --> 00:16:22,392 I would just say 0xa. 328 00:16:23,750 --> 00:16:26,158 There's only one character, 329 00:16:26,158 --> 00:16:28,902 so that one character has to be in the ones position, 330 00:16:28,902 --> 00:16:32,542 so that's 10 times one, which is 10. 331 00:16:32,542 --> 00:16:34,209 Or I could say 0x1b, 332 00:16:38,534 --> 00:16:41,866 well that means I've got a b in the ones position 333 00:16:41,866 --> 00:16:44,449 and a one in the 16's position, 334 00:16:45,394 --> 00:16:48,061 so that's 16 plus 11, that's 27. 335 00:16:51,716 --> 00:16:53,549 0x1b is 27 in decimal. 336 00:16:57,126 --> 00:16:57,959 Or, 337 00:16:58,946 --> 00:16:59,779 I could go 338 00:17:00,934 --> 00:17:01,767 0x1a3, 339 00:17:07,794 --> 00:17:09,026 that's gonna be a pretty big number. 340 00:17:09,026 --> 00:17:12,918 So that means I have a three in the ones position, 341 00:17:12,918 --> 00:17:16,670 I have a 'a' which is 10 in the 16's position, 342 00:17:16,670 --> 00:17:19,170 and I have a one in the 256's. 343 00:17:20,394 --> 00:17:22,061 So that would be 256 344 00:17:22,998 --> 00:17:25,998 plus 160 because 10 times 16 is 160, 345 00:17:28,990 --> 00:17:29,907 plus three. 346 00:17:31,678 --> 00:17:33,274 Im not gonna add that up in my head, 347 00:17:33,274 --> 00:17:34,478 but whatever number that is, 348 00:17:34,478 --> 00:17:38,311 that would be the decimal equivalent of 0x1a3. 349 00:17:40,022 --> 00:17:43,774 So how does this relate to an IPv6 address? 350 00:17:43,774 --> 00:17:47,941 Alright, so let me actually write a real IPv6 address. 351 00:17:55,718 --> 00:17:56,635 That's one, 352 00:17:59,574 --> 00:18:00,407 two, 353 00:18:03,746 --> 00:18:04,579 three, 354 00:18:05,946 --> 00:18:07,822 four, I'm not gonna do the whole thing, 355 00:18:07,822 --> 00:18:10,239 I'm just gonna do some of it. 356 00:18:12,498 --> 00:18:14,165 Okay, so in reality, 357 00:18:15,494 --> 00:18:19,162 an actual IPv6 address would have eight of these things, 358 00:18:19,162 --> 00:18:22,214 I've drawn one, two, three, four, I've drawn five. 359 00:18:22,214 --> 00:18:25,966 So, still a little bit left over but, 360 00:18:25,966 --> 00:18:27,422 not gonna worry about that right now. 361 00:18:27,422 --> 00:18:30,390 So, how do we actually convert this into a number 362 00:18:30,390 --> 00:18:32,126 that we can read? 363 00:18:32,126 --> 00:18:36,410 Well, what you would do is, starting from left to right, 364 00:18:36,410 --> 00:18:39,993 you would take every four binary characters 365 00:18:41,366 --> 00:18:43,962 and convert that into a hex character. 366 00:18:43,962 --> 00:18:48,330 So that is, in decimal, that's the number two, right? 367 00:18:48,330 --> 00:18:51,270 The ones is off, the two is on, the four is off, 368 00:18:51,270 --> 00:18:54,322 and the eight is off, so that's the number two. 369 00:18:54,322 --> 00:18:57,822 And then we do it again with the next one. 370 00:18:59,194 --> 00:19:01,462 The next four, that's pretty easy, 371 00:19:01,462 --> 00:19:04,122 that's just the number zero, 372 00:19:04,122 --> 00:19:08,322 and then we do it again with the next four. 373 00:19:08,322 --> 00:19:11,206 So we've got the ones position turned on, 374 00:19:11,206 --> 00:19:15,042 and the eights position turn on, so that's nine. 375 00:19:15,042 --> 00:19:17,982 And then we do it one more time. 376 00:19:17,982 --> 00:19:22,518 Now, in decimal, we've got the eight and the four. 377 00:19:22,518 --> 00:19:24,338 So that's the number 12. 378 00:19:24,338 --> 00:19:28,171 But in hexadecimal, we don't say 12, we say C. 379 00:19:29,994 --> 00:19:33,827 So, so far, I've represented 16-bits in binary 380 00:19:35,314 --> 00:19:38,674 by using four hexadecimal characters. 381 00:19:38,674 --> 00:19:40,130 And here's why that's important: 382 00:19:40,130 --> 00:19:42,380 after every 16 binary bits, 383 00:19:43,266 --> 00:19:47,433 or after every four hexadecimal characters, we put a colon, 384 00:19:49,790 --> 00:19:51,373 and then we repeat. 385 00:19:52,730 --> 00:19:54,313 So this'll be zero, 386 00:19:55,222 --> 00:19:56,305 this'll be F, 387 00:19:57,882 --> 00:20:00,382 I gotta put a box around here, 388 00:20:01,242 --> 00:20:06,114 zero, so this one here is F 'cause that's the number 15, 389 00:20:06,114 --> 00:20:10,790 this one right here, we're back to the number 12 again, 390 00:20:10,790 --> 00:20:13,170 no, that's the number 10 actually, the eight and the two, 391 00:20:13,170 --> 00:20:17,337 so that would be an 'a', and then this here is a two, 392 00:20:18,350 --> 00:20:20,350 and then we put a colon. 393 00:20:22,858 --> 00:20:24,441 So an IPv6 address, 394 00:20:25,406 --> 00:20:29,438 because we clearly don't represent it in binary, 395 00:20:29,438 --> 00:20:31,986 is represented as hexadecimal. 396 00:20:31,986 --> 00:20:34,898 So this is what an IPv6 address would actually look like, 397 00:20:34,898 --> 00:20:37,810 I can actually fit this one in here. 398 00:20:37,810 --> 00:20:40,134 Two, I'm just gonna make up one. 399 00:20:40,134 --> 00:20:42,634 2001:00a5:0000:55ea:bbbb:cccc: 400 00:20:52,318 --> 00:20:53,410 now there's gonna be eight of these, 401 00:20:53,410 --> 00:20:56,434 one, two, three, four, five, six, 402 00:20:56,434 --> 00:20:58,517 1111, that's seven, 000c. 403 00:21:03,098 --> 00:21:06,150 So that is an IPv6 address. 404 00:21:06,150 --> 00:21:07,354 And if we actually did the math, 405 00:21:07,354 --> 00:21:09,706 you'd see that this is 128-bits in binary. 406 00:21:09,706 --> 00:21:14,106 Each one of these characters represents 4-bits. 407 00:21:14,106 --> 00:21:16,598 Remember, here's the two, there's 4-bits for that, 408 00:21:16,598 --> 00:21:18,866 here's a zero, that's 4-bits for that, 409 00:21:18,866 --> 00:21:22,338 so if you count up all of these characters 410 00:21:22,338 --> 00:21:24,494 multiplied times four, 411 00:21:24,494 --> 00:21:28,358 that would give you 128-bits in binary. 412 00:21:28,358 --> 00:21:31,494 So that's how an IPv6 address is represented. 413 00:21:31,494 --> 00:21:34,014 You have four hexadecimal characters, 414 00:21:34,014 --> 00:21:36,646 a colon, and then repeat. 415 00:21:36,646 --> 00:21:38,074 And then you'll have a maximum of eight 416 00:21:38,074 --> 00:21:40,574 of these groupings right here. 417 00:21:42,274 --> 00:21:45,382 Actually, I've heard, you know how we say, 418 00:21:45,382 --> 00:21:48,182 I'll write this on here, 419 00:21:48,182 --> 00:21:50,849 you know how we say that 1-unit, 420 00:21:52,970 --> 00:21:55,303 I'll just say, equals a bit. 421 00:21:56,486 --> 00:21:58,569 And 8-bits equals a byte, 422 00:22:00,798 --> 00:22:04,298 well, 16-bits equals what's called a word. 423 00:22:08,134 --> 00:22:09,634 So this is a word. 424 00:22:12,810 --> 00:22:16,618 So you have a colon after every word. 425 00:22:16,618 --> 00:22:19,201 Alright, let's go back to here. 426 00:22:22,218 --> 00:22:26,250 Expressed in hexadecimal instead of decimal. 427 00:22:26,250 --> 00:22:29,554 4-bits equals one hexadecimal character. 428 00:22:29,554 --> 00:22:30,730 And there's an example. 429 00:22:30,730 --> 00:22:34,022 Now before I stop, there are ways, 430 00:22:34,022 --> 00:22:37,214 if the IPv6 address takes a certain format, 431 00:22:37,214 --> 00:22:41,162 there are ways to make it shorter, make it more manageable. 432 00:22:41,162 --> 00:22:43,850 And I'm gonna teach you what those two tricks are 433 00:22:43,850 --> 00:22:44,767 to do that. 434 00:22:48,498 --> 00:22:51,886 And it all has to do with consecutive zeros. 435 00:22:51,886 --> 00:22:53,902 What you're looking for in an IPv6 address 436 00:22:53,902 --> 00:22:56,478 to make it shorter are consecutive zeros. 437 00:22:56,478 --> 00:22:59,614 So let me give you a IPv6 address 2001, 438 00:22:59,614 --> 00:23:02,781 and I'm gonna put some spaces in here. 439 00:23:08,238 --> 00:23:11,571 One, two, three, four, five, six, seven. 440 00:23:12,746 --> 00:23:17,366 Okay, so here is the format for making this shorter. 441 00:23:17,366 --> 00:23:19,382 So the first thing you would look for 442 00:23:19,382 --> 00:23:21,342 in a long address like this 443 00:23:21,342 --> 00:23:25,430 is I would look for a long string of contiguous zeros. 444 00:23:25,430 --> 00:23:27,978 And what I mean by that is look at the address 445 00:23:27,978 --> 00:23:31,086 and ask yourself, "Is there any word," 446 00:23:31,086 --> 00:23:32,878 and remember, what do I mean by word, 447 00:23:32,878 --> 00:23:37,190 this is a word, this is a word, that's a word, okay? 448 00:23:37,190 --> 00:23:39,626 So you look at your IPv6 address, and you say, 449 00:23:39,626 --> 00:23:43,406 "Is there any word that begins with a zero?" 450 00:23:43,406 --> 00:23:45,336 I'll just put some arrows on the ones that do, 451 00:23:45,336 --> 00:23:49,350 yup, that one does, that one does, that one does, 452 00:23:49,350 --> 00:23:52,767 that one does, that one does, okay, next. 453 00:23:54,334 --> 00:23:58,198 Is there any place in this IPv6 address 454 00:23:58,198 --> 00:24:01,222 where we have a long contiguous string of zeros? 455 00:24:01,222 --> 00:24:04,834 Where it starts at a word and keeps on going. 456 00:24:04,834 --> 00:24:06,346 Well, actually we do. 457 00:24:06,346 --> 00:24:08,754 We have a couple places in here like that. 458 00:24:08,754 --> 00:24:11,694 Here's one that starts at a word 459 00:24:11,694 --> 00:24:13,277 and keeps on going. 460 00:24:14,214 --> 00:24:15,950 Here's one that start with a word 461 00:24:15,950 --> 00:24:17,533 and keeps on going. 462 00:24:19,002 --> 00:24:21,298 Now when you look at that, 463 00:24:21,298 --> 00:24:24,098 each one of those things can be condensed down 464 00:24:24,098 --> 00:24:28,265 by using a special character which is the double colon. 465 00:24:30,418 --> 00:24:32,810 But here's the rule about the double colon. 466 00:24:32,810 --> 00:24:36,477 It can only be used once in an IPv6 address. 467 00:24:37,850 --> 00:24:40,734 Let me give you the logic behind why that's true. 468 00:24:40,734 --> 00:24:43,002 Let's say theoretically that I could use it twice. 469 00:24:43,002 --> 00:24:47,169 Let's say I could do this: 2001, and then colon, colon, 470 00:24:49,274 --> 00:24:50,857 30 colon eaf0 colon 471 00:24:56,798 --> 00:24:58,842 and then we'll just say 472 00:24:58,842 --> 00:25:00,425 colon, colon, 2004. 473 00:25:03,266 --> 00:25:04,498 Let's say theoretically, 474 00:25:04,498 --> 00:25:08,670 that I could type in an IPv6 address like this on my laptop. 475 00:25:08,670 --> 00:25:09,874 Alright, now remember, 476 00:25:09,874 --> 00:25:12,170 when you're entering an IPv6 address into a system, 477 00:25:12,170 --> 00:25:16,622 that system is expecting you to give it 128-bits. 478 00:25:16,622 --> 00:25:19,086 Now it knows that you're typing it in in hexadecimal. 479 00:25:19,086 --> 00:25:22,334 But for every letter or every character you type in, 480 00:25:22,334 --> 00:25:24,070 it's saying, "Okay, there's 4-bits, 481 00:25:24,070 --> 00:25:25,246 "there's another 4-bits." 482 00:25:25,246 --> 00:25:26,870 it's converting it to binary. 483 00:25:26,870 --> 00:25:28,970 So if I typed it in like this, 484 00:25:28,970 --> 00:25:31,182 here's how my system would interpret this. 485 00:25:31,182 --> 00:25:32,849 It would say, "Okay, 486 00:25:33,898 --> 00:25:38,065 "What we've got here is we've got one, two, three, four, 487 00:25:39,606 --> 00:25:40,614 "so this is very easy, 488 00:25:40,614 --> 00:25:43,946 "the human being has provided us all 16-bits 489 00:25:43,946 --> 00:25:46,466 "of that word, all right. 490 00:25:46,466 --> 00:25:49,058 "And then we've got one, two, all right, 491 00:25:49,058 --> 00:25:52,586 "so we've got 8-bits of that word, 492 00:25:52,586 --> 00:25:54,098 "we're missing some stuff, 493 00:25:54,098 --> 00:25:58,181 "and then here we've got another 16-bits of that, 494 00:26:00,647 --> 00:26:02,190 "and then down here, 495 00:26:02,190 --> 00:26:05,942 "we've got another 16-bits supplied to us." 496 00:26:05,942 --> 00:26:07,902 Okay, now the system would say, 497 00:26:07,902 --> 00:26:09,722 "Hmm, okay, let me add this up here. 498 00:26:09,722 --> 00:26:13,139 "16 times three is 48, plus eight is 56." 499 00:26:15,490 --> 00:26:17,407 so my laptop would say, 500 00:26:19,185 --> 00:26:20,768 "This idiotic human 501 00:26:23,162 --> 00:26:24,662 "has only given me 502 00:26:25,822 --> 00:26:27,655 "56-bits of an address 503 00:26:29,714 --> 00:26:31,797 "that requires 128-bits!" 504 00:26:34,194 --> 00:26:36,182 and so the system would say, 505 00:26:36,182 --> 00:26:37,658 "All right, I guess I can assume 506 00:26:37,658 --> 00:26:40,710 "that the remaining bits that are left over are zeros." 507 00:26:40,710 --> 00:26:44,098 But, so okay, how many bits are left over here? 508 00:26:44,098 --> 00:26:46,002 I don't have my calculator in front of me, 509 00:26:46,002 --> 00:26:48,074 so let's just do this real quick here 510 00:26:48,074 --> 00:26:50,622 'cause I can't do that in my head quickly enough. 511 00:26:50,622 --> 00:26:52,455 So 128 minus 56 is 72. 512 00:26:55,746 --> 00:26:57,762 So there's 72-bits missing. 513 00:26:57,762 --> 00:26:59,134 So what if the system said, 514 00:26:59,134 --> 00:27:03,502 "Alright, I'm gonna put maybe 70 zeros here 515 00:27:03,502 --> 00:27:05,042 "and two zeros here, 516 00:27:05,042 --> 00:27:06,974 "or maybe I should split it up equally, 517 00:27:06,974 --> 00:27:09,746 "36 zeros here, and 36 zeros here." 518 00:27:09,746 --> 00:27:13,274 You can see that if it actually allowed you 519 00:27:13,274 --> 00:27:15,322 to put in double colons, there's no way you could figure out 520 00:27:15,322 --> 00:27:18,542 where these zeros were supposed to be. 521 00:27:18,542 --> 00:27:20,446 It just could not figure that out. 522 00:27:20,446 --> 00:27:24,590 That's why we can only put in the double colons once. 523 00:27:24,590 --> 00:27:27,194 And so when selecting it, 524 00:27:27,194 --> 00:27:30,330 it makes sense to only put the double colons to represent 525 00:27:30,330 --> 00:27:33,018 the biggest string of contiguous zeros. 526 00:27:33,018 --> 00:27:35,006 If I'm trying to shorten this thing down, 527 00:27:35,006 --> 00:27:37,946 it makes more sense to represent this big long thing 528 00:27:37,946 --> 00:27:41,390 with the double colon, than it does to represent this. 529 00:27:41,390 --> 00:27:44,246 So let's shorten it down a little bit right now. 530 00:27:44,246 --> 00:27:46,413 So 2001, 0000, 0030, eaf0, 531 00:27:53,066 --> 00:27:54,382 and then I'm gonna do 532 00:27:54,382 --> 00:27:57,632 a double colon to represent that, 2004. 533 00:27:59,973 --> 00:28:01,595 So so far, I've been able to shorten it to this, 534 00:28:01,595 --> 00:28:03,678 I'll put it all together. 535 00:28:05,926 --> 00:28:10,093 So already, you can see that this is much shorter than this, 536 00:28:12,198 --> 00:28:15,210 just by taking this long contiguous string of zeros 537 00:28:15,210 --> 00:28:17,338 and condensing it down with a double colon. 538 00:28:17,338 --> 00:28:19,158 Now I'm gonna emphasize this. 539 00:28:19,158 --> 00:28:23,414 I had to start with a word that began with a zero, 540 00:28:23,414 --> 00:28:25,990 because you might be wondering, why did I start right here? 541 00:28:25,990 --> 00:28:28,650 Because that's not considered a leading zero, 542 00:28:28,650 --> 00:28:30,330 that is a trailing zero, 543 00:28:30,330 --> 00:28:33,214 it trails at the tail end of the word. 544 00:28:33,214 --> 00:28:36,182 I need a zero that leads the word, 545 00:28:36,182 --> 00:28:38,870 and then a string of zeros after that. 546 00:28:38,870 --> 00:28:41,558 That's why I had to start right here. 547 00:28:41,558 --> 00:28:45,170 So that's one thing, a long contiguous string of zeros 548 00:28:45,170 --> 00:28:47,018 that starts with a word 549 00:28:47,018 --> 00:28:49,930 can be replaced with a double colon. 550 00:28:49,930 --> 00:28:51,554 There's one other thing. 551 00:28:51,554 --> 00:28:53,682 After you have what's left, 552 00:28:53,682 --> 00:28:57,574 look and ask yourself, "Do I have any remaining words 553 00:28:57,574 --> 00:29:00,157 "that still start with a zero?" 554 00:29:01,158 --> 00:29:04,686 Well, yeah, that one starts with a zero, 555 00:29:04,686 --> 00:29:07,458 that one starts with a zero. 556 00:29:07,458 --> 00:29:08,958 So in those words, 557 00:29:10,202 --> 00:29:13,785 we can get rid of all of the leading zeros. 558 00:29:16,026 --> 00:29:17,790 So I'm gonna out a line through them. 559 00:29:17,790 --> 00:29:21,402 Those three zeros and that word we can get rid of. 560 00:29:21,402 --> 00:29:22,886 Can't get rid of the zero at the end, 561 00:29:22,886 --> 00:29:24,258 'cause that's a trailing zero, 562 00:29:24,258 --> 00:29:26,106 and we can get rid of these two zeros 563 00:29:26,106 --> 00:29:29,354 because these are leading zeros. 564 00:29:29,354 --> 00:29:30,894 So in its final form, 565 00:29:30,894 --> 00:29:35,061 in its shortest form I could possibly come up with, 566 00:29:37,923 --> 00:29:40,022 so I've now taken it from this black 567 00:29:40,022 --> 00:29:43,130 down all the way to this one here in green. 568 00:29:43,130 --> 00:29:44,698 And that is the shortest way 569 00:29:44,698 --> 00:29:47,448 I could condense an IPv6 address. 570 00:29:49,206 --> 00:29:52,370 Let me give you a couple that you can pause the video on 571 00:29:52,370 --> 00:29:55,506 and practice and see if you can get it right. 572 00:29:55,506 --> 00:29:56,551 You might wanna pause right now 573 00:29:56,551 --> 00:29:57,767 and take a screen shot of this 574 00:29:57,767 --> 00:30:00,517 before I move on to the next one. 575 00:30:03,826 --> 00:30:04,659 Okay. 576 00:30:14,454 --> 00:30:16,346 Okay, go ahead and pause the video, 577 00:30:16,346 --> 00:30:19,314 try to abbreviate or condense this as much as possible 578 00:30:19,314 --> 00:30:22,506 using the rules I just talked about and then press play 579 00:30:22,506 --> 00:30:26,398 when you think you've got your answer. 580 00:30:26,398 --> 00:30:29,730 Okay, so doing the way I did, I would say, once again, 581 00:30:29,730 --> 00:30:33,874 look for any word that begins with a zero, 582 00:30:33,874 --> 00:30:36,291 that one does, that one does, 583 00:30:38,326 --> 00:30:40,743 that one does, that one does. 584 00:30:41,770 --> 00:30:45,937 At that point, look for a long contiguous string of zeros 585 00:30:47,398 --> 00:30:48,490 beginning with a word, 586 00:30:48,490 --> 00:30:52,158 and this is the longest string we have, right there. 587 00:30:52,158 --> 00:30:55,991 So I can get rid of that with my double colon. 588 00:30:56,974 --> 00:30:59,858 And then with what's left over, 589 00:30:59,858 --> 00:31:02,658 draw a line through any of the leading zeros 590 00:31:02,658 --> 00:31:04,142 of any of the remaining words. 591 00:31:04,142 --> 00:31:06,326 So I can get rid of those three, 592 00:31:06,326 --> 00:31:08,202 and that's it. 593 00:31:08,202 --> 00:31:10,274 So the smallest I could make this address 594 00:31:10,274 --> 00:31:14,441 would be 200e:0, gotta leave in the trailing zero, 595 00:31:15,842 --> 00:31:19,090 4000, can't get rid of any of those zeros behind the four 596 00:31:19,090 --> 00:31:22,870 because they're not leading, they're trailing, 597 00:31:22,870 --> 00:31:24,037 600:eade:1100, 598 00:31:29,422 --> 00:31:33,134 so that is the smallest that you could do that one. 599 00:31:33,134 --> 00:31:34,634 Let's do one more. 600 00:31:52,118 --> 00:31:53,798 Okay, go ahead and press pause 601 00:31:53,798 --> 00:31:56,631 and try to condense this one down. 602 00:31:58,362 --> 00:32:01,470 Okay, so once again, let's take a look at any words 603 00:32:01,470 --> 00:32:04,102 that begin with a zero. 604 00:32:04,102 --> 00:32:06,519 That one does, that one does, 605 00:32:09,086 --> 00:32:12,419 actually, no, let me do the entire word. 606 00:32:13,790 --> 00:32:17,598 That one does, that one leads with zeros, 607 00:32:17,598 --> 00:32:19,082 that one leads with zeros, 608 00:32:19,082 --> 00:32:21,910 and this one leads with zeros, okay. 609 00:32:21,910 --> 00:32:26,810 So of this, where are my contiguous string of zeros? 610 00:32:26,810 --> 00:32:29,806 Well, I've got one that starts right here, that ends there, 611 00:32:29,806 --> 00:32:32,634 so that covers seven zeros, 612 00:32:32,634 --> 00:32:35,551 here's one that has just two zeros, 613 00:32:36,526 --> 00:32:38,776 another two, and then four. 614 00:32:39,886 --> 00:32:42,042 So I would say the seven zeros 615 00:32:42,042 --> 00:32:44,562 would be the best way to get rid of those. 616 00:32:44,562 --> 00:32:48,146 And then I'm gonna put a line through the remaining ones, 617 00:32:48,146 --> 00:32:50,638 so I'm gonna be able to cut out those, 618 00:32:50,638 --> 00:32:53,018 'cause those are leading zeros, cut out those, 619 00:32:53,018 --> 00:32:55,902 and I'll be able to cut out these three, 620 00:32:55,902 --> 00:32:57,652 leaving the last one. 621 00:32:59,374 --> 00:33:01,838 So in its final form, this address will look like 622 00:33:01,838 --> 00:33:03,921 2560:1000:ea05::5:ea:3d:0 623 00:33:16,834 --> 00:33:19,334 (light music)